- 總結:vb與數據庫連接方式,兩種分法。
- 根據是否使用ODBC(驅動程序)來分:
1.有源連接
2.無源連接。
其中有源連接指的是:通過設置數據源(ODBC)來連接
據我的觀察無源連接選擇的是oledb驅動程序,(這些驅動程序請參考:應用程序和數據庫的連接方式 )
當我們設置數據綁定控件的連接字符串時出現如下窗口:
上圖中每一行都是oledb 作為驅動程序,當然細心的同學會發現其中有一項(圖中灰色的部分)是:Microsoft OLE DB Provider for ODBC
Microsoft OLE DB Provider for ODBC (MSDASQL) 一項允許在 OLEDB 和 ADO(它在內部使用 OLEDB)上構建的應用程序通過 ODBC 驅動程序訪問數據源的技術。 MSDASQL 是用於連接到 ODBC(而不是數據庫)的 OLEDB 訪問接口。
相同:不論有源還是無源都必須添加相應的組件。
亦可根據是否使用控件來分:
1, 無需代碼連接數據庫;控件綁定連接和使用數據環境設計器。
2, 引用,代碼連接數據庫。
下面我們來談談具體實現:
有源連接:首先配置odbc 數據源。
在開始——程序——管理工具——數據源(odbc),然后在里進行添加設置你的數據庫。
出現如下對話框:點擊添加
在下圖中選出你要連接的數據源庫類型
這以選擇access數據庫為例:在數據源中輸入自定義數據名稱(myaccess),在數據局框框中點選擇:出現選擇數據庫對話框,在這里你可以選擇你要連接的數據庫存放的位置,確定后,你的dsn 數據源就建立完成了。
這是回到odbc數據源窗口,就會出現你剛才建立的數據庫名稱。(我們建立的是myaccess)
然后在編碼時我們使用ADO ,所以首先引用microsoft activeX data objects 2.5 library.然后寫代碼:如下:直接使用open打開,不使用連接字符串connctionstring。
set objcn as new connection
objcn.open"dsn=name" name 指的是你數據庫在odbc中的名,而不是你數據庫原來的名字。
這就是有源連接方法,有的人覺得配置的時候不方便,下面是無源鏈接的方法。
無源連接
如果采有代碼的話:
先引用:microsoft activeX data objects 2.5 library
代碼窗口中:
Dim objcn As New Connection
Dim objrs As New recordset
objcn.ConnectionString = "provider=microsoft.ace.oledb.12.0;" & "data source=" & App.Path & "\3.accdb"
objcn.Open
objrs.CursorLocation = adUseClient
objrs.CursorType = adOpenStatic
Set objrs.ActiveConnection = objcn
objrs.Open "3" 此處3為數據庫的名字。
如果采用控件綁定數據庫連接:
添加部件后,如:data 控件,adodc控件。對其屬性進行設置。
data 控件設置:databasename,和recordsource .
adodc 控件右擊設置屬性:點擊連接字符串:右邊的生成,就會彈出上圖對話框,你可以選擇你需要的不同的驅動,連接不同類型的數據庫。
設置成功后,測試連接,測試成功,那么數據庫與vb的連接就搞定了。
選中之后還需要設置記錄源類型,
設置好以后,數據庫就被綁定了,我們就可以訪問數據庫中的數據了。
幾種方法都有各自的好處,至於在使用的過程中,你根據自己的需要選擇方法,才有最合理的。