1. 程式人生 > >Access資料庫從入門到進門——應用篇

Access資料庫從入門到進門——應用篇

<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>