激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - asp.net下使用DbProviderFactories的數(shù)據(jù)庫操作類

asp.net下使用DbProviderFactories的數(shù)據(jù)庫操作類

2019-09-04 10:43asp.net之家 ASP.NET教程

項(xiàng)目開發(fā)中用到VB.NET開發(fā),參考網(wǎng)上的資料,自己寫了數(shù)據(jù)庫操作類。

封裝數(shù)據(jù)庫操作,并且提供事務(wù)處理。 

復(fù)制代碼代碼如下:


使用DbProviderFactories的數(shù)據(jù)庫操作類 
Imports System.Data 
Imports System.Configuration 
Imports System.Data.Common 

'******************************************************************* 
'* Page/Class Name:XPDBHelper.vb 
'* Title:使用DbProviderFactories的數(shù)據(jù)庫操作類 
'* Description:簡單三層結(jié)構(gòu)數(shù)據(jù)庫操作類 
'* Copyright: 
'* Company: 
'* @author:Owen,Yuan 
'* Create Date:2010/3/9 14:04:56 
'* Last Modifier: 
'* Last Modify Date: 
'******************************************************************* 
Public Class XPDBHelper 

'取得連接字符串中的數(shù)據(jù)庫驅(qū)動提供者 
Private Shared dbProviderName As String = ConfigurationManager.ConnectionStrings("ConnectionString").ProviderName 

'取得數(shù)據(jù)庫連接字符串 
Private Shared dbConnectionString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString 

'數(shù)據(jù)庫連接。 
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ù)庫連接 
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ù)庫連接 
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ù)存儲過程創(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語句創(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() 
dbParameter.DbType = dbType 
dbParameter.ParameterName = parameterName 
dbParameter.Size = size 
dbParameter.Direction = ParameterDirection.Output 
cmd.Parameters.Add(dbParameter) 
End Sub 


Public Sub AddInParameter(ByVal cmd As DbCommand, ByVal parameterName As String, ByVal dbType As DbType, ByVal value As Object) 
Dim dbParameter As DbParameter = cmd.CreateParameter() 
dbParameter.DbType = dbType 
dbParameter.ParameterName = parameterName 
dbParameter.Value = value 
dbParameter.Direction = ParameterDirection.Input 
cmd.Parameters.Add(dbParameter) 
End Sub 

Public Sub AddReturnParameter(ByVal cmd As DbCommand, ByVal parameterName As String, ByVal dbType As DbType) 
Dim dbParameter As DbParameter = cmd.CreateParameter() 
dbParameter.DbType = dbType 
dbParameter.ParameterName = parameterName 
dbParameter.Direction = ParameterDirection.ReturnValue 
cmd.Parameters.Add(dbParameter) 
End Sub 

Public Function GetParameter(ByVal cmd As DbCommand, ByVal parameterName As String) As DbParameter 
Return cmd.Parameters(parameterName) 
End Function 
#End Region 

#Region "執(zhí)行" 
'執(zhí)行DbCommand,返回DataSet 
Public Function ExecuteDataSet(ByVal cmd As DbCommand) As DataSet 
Dim dbfactory As DbProviderFactory = DbProviderFactories.GetFactory(dbProviderName) 
Dim dbDataAdapter As DbDataAdapter = dbfactory.CreateDataAdapter() 
dbDataAdapter.SelectCommand = cmd 
Dim ds As DataSet = New DataSet() 
dbDataAdapter.Fill(ds) 
Return ds 
End Function 

'執(zhí)行DbCommand,返回DataTable 
Public Function ExecuteDataTable(ByVal cmd As DbCommand) As DataTable 
Dim dbfactory As DbProviderFactory = DbProviderFactories.GetFactory(dbProviderName) 
Dim dbDataAdapter As DbDataAdapter = dbfactory.CreateDataAdapter() 
dbDataAdapter.SelectCommand = cmd 
Dim dataTable As DataTable = New DataTable() 
dbDataAdapter.Fill(dataTable) 
Return dataTable 
End Function 

'執(zhí)行DbCommand,返回DbDataReader 
Public Function ExecuteReader(ByVal cmd As DbCommand) As DbDataReader 
cmd.Connection.Open() 
Dim reader As DbDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection) 
cmd.Connection.Close() 
Return reader 
End Function 

Public Function ExecuteNonQuery(ByVal cmd As DbCommand) As Integer 
cmd.Connection.Open() 
Dim ret As Integer = cmd.ExecuteNonQuery() 
cmd.Connection.Close() 
Return ret 
End Function 

Public Function ExecuteScalar(ByVal cmd As DbCommand) As Object 
cmd.Connection.Open() 
Dim ret As Object = cmd.ExecuteScalar() 
cmd.Connection.Close() 
Return ret 
End Function 
#End Region 

#Region "執(zhí)行事務(wù)" 

Public Function ExecuteDataSet(ByVal cmd As DbCommand, ByVal t As XPTransaction) As DataSet 
cmd.Connection = t.DbConnection 
cmd.Transaction = t.DbTransact 
Dim dbfactory As DbProviderFactory = DbProviderFactories.GetFactory(XPDBHelper.dbProviderName) 
Dim dbDataAdapter As DbDataAdapter = dbfactory.CreateDataAdapter() 
dbDataAdapter.SelectCommand = cmd 
Dim ds As DataSet = New DataSet() 
dbDataAdapter.Fill(ds) 
Return ds 
End Function 

Public Function ExecuteDataTable(ByVal cmd As DbCommand, ByVal t As XPTransaction) As DataTable 
cmd.Connection = t.DbConnection 
cmd.Transaction = t.DbTransact 
Dim dbfactory As DbProviderFactory = DbProviderFactories.GetFactory(XPDBHelper.dbProviderName) 
Dim dbDataAdapter As DbDataAdapter = dbfactory.CreateDataAdapter() 
dbDataAdapter.SelectCommand = cmd 
Dim dataTable As DataTable = New DataTable() 
dbDataAdapter.Fill(dataTable) 
Return dataTable 
End Function 

Public Function ExecuteReader(ByVal cmd As DbCommand, ByVal t As XPTransaction) As DbDataReader 
cmd.Connection.Close() 
cmd.Connection = t.DbConnection 
cmd.Transaction = t.DbTransact 
Dim reader As DbDataReader = cmd.ExecuteReader() 
Return reader 
End Function 

Public Function ExecuteNonQuery(ByVal cmd As DbCommand, ByVal t As XPTransaction) As Integer 
cmd.Connection.Close() 
cmd.Connection = t.DbConnection 
cmd.Transaction = t.DbTransact 
Return cmd.ExecuteNonQuery() 
End Function 

Public Function ExecuteScalar(ByVal cmd As DbCommand, ByVal t As XPTransaction) As Object 
cmd.Connection.Close() 
cmd.Connection = t.DbConnection 
cmd.Transaction = t.DbTransact 
Return cmd.ExecuteScalar() 
End Function 
#End Region 

End Class 




簡單三層結(jié)構(gòu)數(shù)據(jù)庫事務(wù)處理類 

復(fù)制代碼代碼如下:


Imports System.Data 
Imports System.Data.Common 

'******************************************************************* 
'* Page/Class Name:XPTransaction.vb 
'* Title:數(shù)據(jù)庫事務(wù)處理類 
'* Description:簡單三層結(jié)構(gòu)數(shù)據(jù)庫事務(wù)處理類 
'* Copyright: 
'* Company: 
'* @author:Owen,Yuan 
'* Create Date:2010/3/22 10:44:20 
'* Last Modifier: 
'* Last Modify Date: 
'******************************************************************* 
Public Class XPTransaction 
Implements IDisposable 

Private conn As DbConnection 
Private dbTrans As DbTransaction 

Public Property DbConnection() As DbConnection 
Get 
Return Me.conn 
End Get 
Set(ByVal Value As DbConnection) 
Me.conn = Value 
End Set 
End Property 

Public Property DbTransact() As DbTransaction 
Get 
Return Me.dbTrans 
End Get 
Set(ByVal Value As DbTransaction) 
Me.dbTrans = Value 
End Set 
End Property 

Public Sub New() 
conn = XPDBHelper.CreateConnection() 
conn.Open() 
dbTrans = conn.BeginTransaction() 
End Sub 

Public Sub New(ByVal connectionString As String) 
conn = XPDBHelper.CreateConnection(connectionString) 
conn.Open() 
dbTrans = conn.BeginTransaction() 
End Sub 

Public Sub Commit() 
dbTrans.Commit() 
Me.Colse() 
End Sub 

Public Sub RollBack() 
dbTrans.Rollback() 
Me.Colse() 
End Sub 

Public Sub Colse() 
If conn.State = ConnectionState.Open Then 
conn.Close() 
End If 
End Sub 

Private disposedValue As Boolean = False ' 檢測冗余的調(diào)用 

' IDisposable 
Protected Overridable Sub Dispose(ByVal disposing As Boolean) 
If Not Me.disposedValue Then 
If disposing Then 
conn.Close() 
' TODO: 釋放其他狀態(tài)(托管對象)。 
End If 
conn = Nothing 
dbTrans = Nothing 
' TODO: 釋放您自己的狀態(tài)(非托管對象)。 
' TODO: 將大型字段設(shè)置為 null。 
End If 
Me.disposedValue = True 
End Sub 

#Region " IDisposable Support " 
' Visual Basic 添加此代碼是為了正確實(shí)現(xiàn)可處置模式。 
Public Sub Dispose() Implements IDisposable.Dispose 
' 不要更改此代碼。請將清理代碼放入上面的 Dispose(ByVal disposing As Boolean) 中。 
Dispose(True) 
GC.SuppressFinalize(Me) 
End Sub 
#End Region 

End Class 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲一区二区三区精品在线观看 | 成人性爱视频在线观看 | 久久久无码精品亚洲日韩按摩 | 国产v综合v亚洲欧美久久 | 91av在线免费播放 | 91成人一区二区三区 | 日韩毛片免费观看 | 亚洲成人欧美在线 | 国产伦精品一区二区三区 | 国产精品亚洲精品久久 | 亚洲午夜在线观看 | 免费看污视频在线观看 | 成码无人av片在线观看网站 | 欧美激情在线播放 | 成人激情综合网 | 久久久久久麻豆 | 国产精品视频导航 | 国产精品久久久久久久娇妻 | 免费黄色一级网站 | 人禽l交免费视频 | 中文字幕国产亚洲 | av在线成人| 中文在线日韩 | 蜜桃网站在线 | 性爱免费视频 | 性猛交ⅹxxx乱巴西 欧美日韩1区2区3区 | 成人小视频免费在线观看 | 国产一区精品在线观看 | 99久久电影| 欧美精品日日鲁夜夜添 | 中文字幕在线资源 | 国产精品成人一区二区三区吃奶 | 性高跟鞋xxxxhd4kvideos | 蜜桃传媒视频麻豆第一区免费观看 | 九九热视频免费 | 久久千人斩 | 欧美一级做性受免费大片免费 | 海外中文字幕在线观看 | 欧美成人一区二区三区电影 | 最新午夜综合福利视频 | 成熟女人特级毛片www免费 |