總結 vb與數據庫的連接方法


  • 總結: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的連接就搞定了。

 

     選中之后還需要設置記錄源類型,

 

設置好以后,數據庫就被綁定了,我們就可以訪問數據庫中的數據了。

 

幾種方法都有各自的好處,至於在使用的過程中,你根據自己的需要選擇方法,才有最合理的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM