asp.net下使用DbProviderFactories的數(shù)據(jù)庫(kù)操作類
2024-07-10 12:42:14
供稿:網(wǎng)友
封裝數(shù)據(jù)庫(kù)操作,并且提供事務(wù)處理。
代碼如下:
使用DbProviderFactories的數(shù)據(jù)庫(kù)操作類
Imports System.Data
Imports System.Configuration
Imports System.Data.Common
'*******************************************************************
'* Page/Class Name:XPDBHelper.vb
'* Title:使用DbProviderFactories的數(shù)據(jù)庫(kù)操作類
'* Description:簡(jiǎn)單三層結(jié)構(gòu)數(shù)據(jù)庫(kù)操作類
'* Copyright:
'* Company:
'* @author:Owen,Yuan
'* Create Date:2010/3/9 14:04:56
'* Last Modifier:
'* Last Modify Date:
'*******************************************************************
Public Class XPDBHelper
'取得連接字符串中的數(shù)據(jù)庫(kù)驅(qū)動(dòng)提供者
Private Shared dbProviderName As String = ConfigurationManager.ConnectionStrings("ConnectionString").ProviderName
'取得數(shù)據(jù)庫(kù)連接字符串
Private Shared dbConnectionString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
'數(shù)據(jù)庫(kù)連接。
Private connection As DbConnection
Public Sub New()
Me.connection = CreateConnection(XPDBHelper.dbConnectionString)
End Sub
Public Sub New(ByVal connectionString As String)
Me.connection = CreateConnection(connectionString)
End Sub
'創(chuàng)建數(shù)據(jù)庫(kù)連接
Public Shared Function CreateConnection() As DbConnection
Dim dbfactory As DbProviderFactory = DbProviderFactories.GetFactory(dbProviderName)
Dim dbconn As DbConnection = dbfactory.CreateConnection()
dbconn.ConnectionString = XPDBHelper.dbConnectionString
Return dbconn
End Function
'創(chuàng)建數(shù)據(jù)庫(kù)連接
Public Shared Function CreateConnection(ByVal connectionString As String) As DbConnection
Dim dbfactory As DbProviderFactory = DbProviderFactories.GetFactory(dbProviderName)
Dim dbconn As DbConnection = dbfactory.CreateConnection()
dbconn.ConnectionString = connectionString
Return dbconn
End Function
'根據(jù)存儲(chǔ)過(guò)程創(chuàng)建DbCommand
Public Function GetStoredProcCommond(ByVal storedProcedure As String) As DbCommand
Dim dbCommand As DbCommand = connection.CreateCommand()
dbCommand.CommandText = storedProcedure
dbCommand.CommandType = CommandType.StoredProcedure
Return dbCommand
End Function
'根據(jù)SQL語(yǔ)句創(chuàng)建DbCommand
Public Function GetSqlStringCommond(ByVal sqlQuery As String) As DbCommand
Dim dbCommand As DbCommand = connection.CreateCommand()
dbCommand.CommandText = sqlQuery
dbCommand.CommandType = CommandType.Text
Return dbCommand
End Function
#Region "增加參數(shù)"
Public Sub AddParameterCollection(ByVal cmd As DbCommand, ByVal dbParameterCollection As DbParameterCollection)
For Each dbParameter As DbParameter In dbParameterCollection
cmd.Parameters.Add(dbParameter)
Next
End Sub
Public Sub AddOutParameter(ByVal cmd As DbCommand, ByVal parameterName As String, ByVal dbType As DbType, ByVal size As Integer)
Dim dbParameter As DbParameter = cmd.CreateParameter()