Visual Basic.NET是微軟對Visual Basic語言進行的升級版本。它是一種完全面向對象的編程語言。微軟對其進行了很大的改進。ADO在Visual Basic.NET中不再直接支持。訪問數據有了新的變化,比以前復雜多了。簽于大家比較熟悉ADO,且ADO的確簡單、方便、適用。固本人利用ADO編寫的訪問目前市面上最廣泛使用的數據庫。現在接合Visual Basic.NET強大的類開發功能,本人把ADO訪問數據的方法編成組件,完全封裝起來,以方便大家的使用。方法如下:
啟動Visual Studio.NET。在新建項目中選擇Visual Basic項目,在模板中選擇類庫,在名稱中輸入類庫名稱如DataAccess.確定后,則進入類庫開發環境中,把Class1換名為ADOAccess。
在項目菜單中加入引用,選擇COM頁,找到 Microsoft ActionX Data Object 20 Library 或更高版本確定。COM是Microsoft為了區分現在的.net,兼容以前的開發方式而設置的,凡是.net之前的組成件都可在COM頁中可找到。(Microsoft ActionX Data Object 20 Library是Microsoft提供的ADO組件。它極大地方便了數據庫的訪問,是開發數據庫有關軟件的最實用的工具之一)
在類名上面寫上Imports ADODB.Connection Imports ADODB.Recordset ,Imports ADODB.CursorLocationEnum, Imports System.DBNull 4條引用語句,這里分別是引用ADO,ADO的宏定義,空值函數的來源。
在類中定義一局部連接對象變量。 Private mCnnDB As New ADODB.Connection()
然后定義連接Access數據庫的過程. Access 數據庫是Microsoft開發的本地數據庫,用adUseClient指定。它通過Microsoft.Jet.OLEDB數據訪問方式訪問數據庫,Microsoft.Jet.OLEDB又有多種版本,其中4.0是最高版本,它能訪問ACCESS 2000,所以這里的數據提供者指定為Microsoft.Jet.OLEDB.4.0。指定了本地數據庫和提供者后,就可打開一個數據庫了,用open方法實現。完整的代碼如下:
| '作用: 連接Access數據庫 '參數: DBName 數據庫名 Public Sub ConnAccess(ByVal DBName As String) Dim strDB As String mCnnDB.CursorLocation = adUseClient mCnnDB.Provider = "Microsoft.Jet.OLEDB.4.0" mCnnDB.Open(DBName, "Admin") End Sub |
ODBC是一種廣泛使用的連接多種數據庫的方法,有萬能鑰匙之功效,但它需要通過ODBC先建立一個DNS,這里不作詳細說明.有了DNS就可訪問所連接的數據庫。訪問ODBC時先指明提供者,提供者只能為Microsoft 命名的MSDASQL,然后通過連接字符串指定數據源,用戶名和密碼,在下面的ConnectionString中指定,最后用open打開。由于ODBC分有用戶名和無用戶名兩者,我們必須分別實現,借助類的函數名重載功能,我們編寫兩個同名的過程,完整的代碼如下:
| '作用: 連接ODBC數據庫(不需指定用戶和密碼 ) '參數:dsnName為ODBC名 Public Sub ConnODBC(ByVal dsnName As String) mCnnDB.Provider = "MSDASQL" mCnnDB.ConnectionString = "Data Source='" & dsnName & "'" mCnnDB.Open() End Sub '作用: 連接ODBC數據庫(需指定用戶和密碼 ) '參數:dsnName ODBC名,UserID 用戶名,UserPwd 用戶密碼 Public Sub ConnODBC(ByVal dsnName As String, ByVal UserID As String, ByVal UserPwd As String) mCnnDB.Provider = "MSDASQL" mCnnDB.ConnectionString = "Data Source='" & dsnName & "'User ID='" & UserID & "';" & _ "Password='" & UserPwd & " mCnnDB.Open() End Sub |