VB与数据库连接方式
? ? ? ? VB與數據庫的連接方式總的來說分為2種:有源連接、無源連接。其中的源指的是ODBC數據源。數據源類型可分為文件DSN、用戶DSN\系統DSN三類。(OLE DB作為數據的提供者。)
? ?? ? 首先回顧一下微軟的數據訪問方式走過的幾個階段:
①ODBC(open Database Connectivity):是微軟第一個使用SQL訪問不同關系型數據庫的訪問技術。使用ODBC應用程序能夠通過單一的命令操縱不同的數據庫。而開發人員需要做的僅僅是針對不同的應用加入相應的ODBC驅動。
? ?? ? ②DAO(Data Access Objects):不像ODBC那樣是面向C和C++程序員的,它是微軟提供給VB開發人員的一種簡單地數據訪問技術,用于操縱Access數據庫。
? ?? ? ③RDO(Remote Data Objects):在使用DAO訪問不同的關系型數據庫時,Jet引擎不得不在DAO和ODBC之間進行命令的轉化,導致了性能的下降,而RDO的出現就順理成章了。
? ?? ? ④OLE DB:隨著越來越多的數據以非關系型格式存儲,需要一種新的架構來提供這種應用和數據源之間的無縫連接。基于COM(Component Object Model)的OLE DB應運而生。
? ?? ? ⑤ADO(ActiveX Data Objects):基于OLE DB之上的ADO更簡潔、更高級、更適合VB程序員,同時消除了OLE DB的多種弊端,取而代之是微軟技術的發展趨勢。
? ?? ?有源連接:首先通過配置ODBC數據源。然后采用ADO訪問ODBC數據源,完成數據庫連接.格式如下:
? ?? ? ConnectString = "FileDSN=student.dsn;UID=sa;PWD=1。(簡單來說就是VB通過數據源來訪問數據庫。)
? ?? ? 無源連接:ADO對象具體格式如下:
? ? ? ? a.訪問access數據庫:
? ? ?? "Provider=Microsoft.Jet.OLEDB.4.0;"&??"Data Source=" & App.Path & "\實例1.mdb;
? ? ? ? ?b.訪問SQL Server數據庫:
? ? ? ??Cnn3.Connectingstring="provider=Microfoft.Jet.OLEDB.4.0;DATASource=D:\數據庫\實例1.mdb"
? ? ? ? 無論是有源連接還是無源連接,在使用ADO對象使用前必須引用。
? ? ? ? 先簡單介紹一下什么是ADO?ADO是建立在OLE DB之上的高級數據庫訪問技術,是對OLE DB的封裝,微軟為我們提供了豐富的COM組件(包括Activex)來訪問各種數據庫特點是簡單易用,這也是為什么大多數數據庫應用軟件開發者選擇ADO的重要原因。
? ? ? ? 下面介紹一下ADO對象模型:
??ADO中共包含了7個對象,包括3個獨立對象和依賴獨立對象才能使用的4個非獨立對象。(前三個:獨立,后三個:非獨立對象)
? ? ? ? Connection:連接對象,用于與數據庫建立連接執行查詢及進行事務處理。在連接時必須制定使用何種數據庫OLE DB提供者。
? ? ? ? Command:命令對象,用于執行動作查詢,比如創建/刪除數據庫。執行查詢返回記錄集、刪除記錄等操作。
? ? ? ? Recordset:記錄集對象,保存來自基本表或命令對象返回的結果。使用記錄集對象幾乎可以完成所有的數據操作
? ? ? ? Field: 字段對象,依賴于記錄集對象使用。可使用Fields集和來獲得記錄集中每個字段的信息。
? ? ? ? Parmeter:參數對象:依賴于命令對象使用,用于為查詢參數提供數據。同時使用參數對象和命令對象,可使數據庫對查詢進行預編譯。從而提高執行速度。
? ? ? ? Paroperty: 屬性對象,每個連接對象、命令對象、記錄集對象以及字段對象都有一個屬性對象集和。使用屬性對象可以訪問特定對象的主要信息。例如獲得數據庫中表的名稱。
? ? ? ? Error:錯誤對象,依賴連接對象使用。如果在訪問數據庫的過程中發生錯誤。這些錯誤的信息便保存到連接對象的Errors集和中。使用錯誤對象來定義處理相應錯誤的措施,避免應用程序在執行過程中意外終止。
? ? ? ??Connection對象的部分屬性和方法如下:
? ? ? ?ConnectionString屬性:制定連接數據源的基本信息。
? ? ? ? Open方法:打開數據源連接。
? ? ? ? Close方法:關閉數據源連接。
? ? ? ??Recordset對象的部分屬性和方法如下:
? ? ? ?ActiveConnection 屬性:代表數據源的活動連接。通常將其設置為已建立的Connection對象。
? ? ? ? Eof屬性(end of file):測試當前記錄位置是否位于記錄集的最后一個記錄之后,如果當前記錄位于記錄集的最后一個記錄之后,Eof屬性將返回True,否則返回False。
? ? ? ? Open方法:用于打開記錄集。
??????? 現在已經開始敲機房啦,但感覺有些敲不動,回來看看學過的知識,以前沒有好好總結,所以現在重新回來審視一下自己學過的紅皮書。
?
?
?
?
總結
以上是生活随笔為你收集整理的VB与数据库连接方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# OPC UA 客户端开发
- 下一篇: python及大数据相关书籍推荐