資源描述:
《使用ADO訪問數(shù)據(jù)庫》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第13章使用ADO訪問數(shù)據(jù)庫13.1ASP與ADO13.2建立連接13.3Recordset對象13.4Command對象ASP提供了強大的訪問數(shù)據(jù)庫的功能。用ASP訪問數(shù)據(jù)庫所使用的是ADO(ActiveXDataObjects)組件。使用ADO編寫的ASP程序,不僅能夠訪問Access數(shù)據(jù)庫,能夠訪問包括Oracle、MSSQLServer、Sybase等支持OLEDB、ODBC的數(shù)據(jù)庫。13.1ASP與ADO13.1.1ASP與數(shù)據(jù)庫通過ADO對象,ASP可以訪問Oracle、Sybase、MSSQ
2、LServer、Access、FoxPro等各種支持ODBC或OLEDB的數(shù)據(jù)庫。也就是說,只要具有某種數(shù)據(jù)庫的ODBC或OLEDB驅(qū)動程序,就可以通過ADO訪問數(shù)據(jù)庫。ASP、ADO、OLEDB及各種數(shù)據(jù)庫之間的關(guān)系如圖13-1所示。13.1.2ADO的概念和結(jié)構(gòu)ODBC(OpenDatabaseConnectivity)是微軟公司開發(fā)的一套開放數(shù)據(jù)庫應(yīng)用程序的接口規(guī)范,是廣泛使用的數(shù)據(jù)庫接口。使用ODBC開發(fā)數(shù)據(jù)庫應(yīng)用程序的方法是建立ODBC數(shù)據(jù)源,通過ODBC接口函數(shù),提交SQL語句并接收執(zhí)行SQL
3、命令的結(jié)果。數(shù)據(jù)庫的底層操作由各個數(shù)據(jù)庫的驅(qū)動程序完成。OLEDB是以ActiveX技術(shù)為基礎(chǔ)的數(shù)據(jù)訪問技術(shù)標準。OLEDB基于組件模型;可以訪問多種格式的數(shù)據(jù),包括數(shù)據(jù)庫的數(shù)據(jù)和非數(shù)據(jù)庫的數(shù)據(jù)。OLEDB標準的具體實現(xiàn)是一組API函數(shù)。使用OLEDBAPI,可以編寫能夠訪問符合OLEDB標準的任何數(shù)據(jù)源應(yīng)用程序。為了使各種流行的編程語言都能編寫符合OLEDB標準的應(yīng)用程序,微軟公司在OLEDBAPI之上提供了一種面向?qū)ο蟮摹⑴c語言無關(guān)的應(yīng)用程序編寫接口,就是ADO。ADO是一項數(shù)據(jù)庫訪問技術(shù)。ADO具有
4、如下優(yōu)點。?對于程序設(shè)計者而言,ADO很容易掌握和使用。?ADO能夠被VisualBasic、Java、C++、VBScript及Jscript等程序設(shè)計語言所支持。?ADO能夠訪問各種支持OLEDB的數(shù)據(jù)源,也就是說,通過ADO能夠訪問具有OLEDB驅(qū)動程序的數(shù)據(jù)源。?ADO允許C++的程序員訪問OLEDB的底層接口。ADO包括7個對象及集合,其主要作用描述如下。(1)Connection對象Connection對象用于建立數(shù)據(jù)源與ADO應(yīng)用程序之間的連接。(2)Recordset對象Recordset
5、對象是ADO中最重要的對象之一,是對數(shù)據(jù)庫進行檢索后的數(shù)據(jù)記錄集。這個記錄集既可以是Command對象返回的查詢結(jié)果,也可以是直接運行SQL命令產(chǎn)生的查詢結(jié)果。Recordset對象把數(shù)據(jù)庫檢索的結(jié)果封裝在一起,并通過它的方法和屬性提供一種方便、快捷地訪問每條記錄、每個字段的方法。(3)Command對象Command對象用于定義數(shù)據(jù)庫的查詢動作,一般使用SQL命令,也可以使用存儲過程。Command對象允許指定參數(shù),其參數(shù)通過Parameter對象賦值、使用。(4)Parameter對象Paramete
6、r對象的作用是將存儲過程和參數(shù)查詢所需的參數(shù)傳遞給Command對象。存儲過程是SQL語言的過程。一個Command對象上的所有Parameter對象構(gòu)成Parameters集合。(5)Field對象Field對象能夠使我們讀取記錄集(Recordset)對象中各個字段的字段值。定義在一個Recordset對象上的所有Field對象構(gòu)成Fields集合。(6)Property對象Property對象能夠指明一個ADO對象的屬性。所有的Property對象構(gòu)成Properties集合。這個集合與Connec
7、tion、Command、Recordset或Field對象相關(guān)聯(lián)。(7)Error對象Error對象的作用是返回一個數(shù)據(jù)庫連接(Connection)上產(chǎn)生的錯誤。ADO對象及集合的關(guān)系如圖13-2所示。在ADO的對象中,Connection、Command和Recordset三個對象是頂層對象,也是最重要的對象。我們能夠單獨的創(chuàng)建、釋放這三個對象。而其他對象,盡管可以單獨創(chuàng)建對象,但是在使用之前,必須與有關(guān)的對象相關(guān)聯(lián)。Field、Error和Property對象在其雙親對象存在的情況下才存在,不能單
8、獨的創(chuàng)建這些對象。Connection對象用于建立應(yīng)用程序與數(shù)據(jù)庫的連接。在這個基礎(chǔ)之上,可以使用Command對象和Recordset對象對所連接的數(shù)據(jù)庫進行各種操作。Command對象用于定義數(shù)據(jù)庫的查詢操作,主要采用SQL語言描述查詢動作。Recordset對象對應(yīng)于Command對象的返回結(jié)果。當然Recordset對象也可以直接建立一個Recordset,即不顯式地為Recordset創(chuàng)建Connection或Com