Access資料庫從入門到進門——應用篇
阿新 • • 發佈:2019-02-14
<span style="font-size:18px;">'********************************************** ' 文 件 名:SQLHelper ' 名稱空間:DAL ' 內 容:資料庫助手類 ' 功 能: ' 作 者: ' 小 組: ' 生成日期:2016/4/9 10:37:11 ' 版 本 號:V1.0.0.0 ' 修改日誌: '********************************************** Imports System.Data Imports System.Configuration Imports System.Data.OleDb Public Class SQLHelper Dim conn As OleDbConnection Dim cmd As New OleDbCommand Dim adapter As OleDbDataAdapter Private ReadOnly db As String = System.Configuration.ConfigurationManager.AppSettings("DBString") Private ReadOnly ConnectStr As String = System.Configuration.ConfigurationManager.ConnectionStrings("ConnString").ToString Private connectString As String = ConnectStr Dim DBConnection As New OleDbConnection(connectString) '執行查詢操作,有引數 Public Function ExecSelect(ByVal cmdText As String, ByVal cmdType As CommandType, ByVal oleParams As OleDbParameter()) As DataTable Dim adapter As OleDbDataAdapter Dim dt As New DataTable Dim ds As New DataSet cmd.CommandText = cmdText cmd.CommandType = cmdType cmd.Connection = DBConnection cmd.Parameters.AddRange(oleParams) adapter = New OleDbDataAdapter(cmd) Try adapter.Fill(ds) dt = ds.Tables(0) cmd.Parameters.Clear() Catch ex As Exception Throw New Exception("查詢失敗!") Finally Call CloseCmd(cmd) End Try Return dt End Function '執行增刪改,有引數 Public Function ExecAddDelUpdate(ByVal cmdText As String, ByVal cmdType As CommandType, ByVal oleParams As OleDbParameter()) As Integer '將傳入的值,分別為cmd的屬性賦值 cmd.Parameters.AddRange(oleParams) '將引數傳入 cmd.CommandType = cmdType '設定一個值,解釋cmdText cmd.Connection = DBConnection '設定連線,全域性變數 cmd.CommandText = cmdText '設定查詢的語句 Try DBConnection.Open() '開啟連線 Return cmd.ExecuteNonQuery() '執行增刪改操作 cmd.Parameters.Clear() '清除引數 Catch ex As Exception Return 0 '如果出錯,返回0 Finally Call CloseConn(DBConnection) Call CloseCmd(cmd) End Try End Function Public Sub CloseCmd(ByVal cmd As OleDbCommand) If Not IsNothing(cmd) Then '如果cmd命令存在 cmd.Dispose() '銷燬 cmd = Nothing End If End Sub Public Sub CloseConn(ByVal conn As OleDbConnection) If (conn.State <> ConnectionState.Closed) Then '如果沒有關閉 conn.Close() '關閉連線 conn = Nothing '不指向原物件 End If End Sub End Class</span>