ADO是Active Data Object的縮寫,稱為ActiveX數據對象。利用ADO對象,通過ODBC驅動程序或OLE DB連接字符串,可實現對任意數據庫的存取和訪問。
OLE DB是微軟用來替代ODBC的一種數據庫訪問技術。是一種對關系型數據庫和非關系型數據庫均有效的一種數據庫訪問技術。
ADO提供了7個獨立的對象,利用這些對象,可實現對數據庫的存取和訪問:
·Connection 連接對象。
·Command 命令對象,利用命令對象可執行一個SQL存儲過程或有參數的查詢。
·Parameter 參數對象。
·Recordset 記錄集對象,代表從數據表中通過查詢所獲得的一組記錄。通過該對象的方法和屬性,可實現對記錄的存取和操作。
·Field 字段對象,代表記錄集中的一個字段。Fields為字段集合,tb代表一條記錄的全部字段。
·Property 屬性對象。
·Error 錯誤對象。
Connection,Command和Recordset是整個ADO的核心,通過Connection對象與一個數據庫建立連接,然后利用Command對象執行查詢,從而返回查詢結果,并將結果(記錄集)存入Recordset對象中,利用服務器端腳本,通過訪問Recordset對象,便可獲得查詢到的記錄內容。
另外,利用Connection對象的Execute方法和Recordset對象的Open方法,也可執行一個查詢,返回一個記錄集。
ODBC數據源的用戶數據源,系統數據源和文件數據源。用戶和系統DSN存儲在WindowsNT注冊表中,系統DSN可被登錄的所有用戶訪問和使用,用戶DSN只能提供特定的用戶訪問和使用。 文件DSN是存儲在一個擴展名為.dsn的文本文件中,可供多個用戶訪問和使用,并可實現復制,通用性強,一般采用此方式。
ADO連接對象
連接對象在使用前必須先創建該對象的實例:
Set 實例名=Server.CreateObject("ADODB.Connection")
連接對象的方法:
·Open方法
連接對象.Open 數據源名 | 連接字符串
帶參數調用Open方法時,其參數實質是傳遞給連接對象的ConnectionString屬性的。因此,可事先設置ConnectionString屬性的值,然后再調用不帶參數的Open方法。
·Close方法
連接對象.Close 釋放:Set conn=Nothing
·Execute方法
該方法用于執行SQL語句。根據SQL語句執行后是否返回記錄集,該方法的使用格式分為以下兩種:
1.執行SQL查詢語句時,將返回查詢得到的記錄集。
用法為:
Set 對象變量名=連接對象.Execute("SQL 查詢語言")
Execute方法調用后,會自動創建記錄集對象,并將查詢結果存儲在該記錄對象中,通過Set方法,將記錄集賦給指定的對象保存,以后對象變量就代表了該記錄集對象。
2.執行SQL的操作性語言時,沒有記錄集的返回。
此時用法為:
連接對象.Execute "SQL 操作性語句" [, RecordAffected][, Option]
·RecordAffected 為可選項,此出可放置一個變量,SQL語句執行后,所生效的記錄數會自動保存到該變量中。通過訪問該變量,就可知道SQL語句隊多少條記錄進行了操作。
·Option 可選項,該參數的取值通常為adCMDText,它用于告訴ADO,應該將Execute方法之后的第一個字符解釋為命令文本。通過指定該參數,可使執行更高效。
·BeginTrans、RollbackTrans、CommitTrans方法
這三個方法是連接對象提供的用于事務處理的方法。BeginTrans用于開始一個事物;RollbackTrans用于回滾事務;CommitTrans用于提交所有的事務處理結果,即確認事務的處理。
事務處理可以將一組操作視為一個整體,只有全部語句都成功執行后,事務處理才算成功;若其中有一個語句執行失敗,則整個處理就算失敗,并恢復到處里前的狀態。
BeginTrans和CommitTrans用于標記事務的開始和結束,在這兩個之間的語句,就是作為事務處理的語句。判斷事務處理是否成功,可通過連接對象的Error集合來實現,若Error集合的成員個數不為0,則說明有錯誤發生,事務處理失敗。Error集合中的每一個Error對象,代表一個錯誤信息。
另外,利用SQL本身所提供的事務處理語句,通過編寫存儲過程,然后利用ADO命令對象的相關方法,通過調用執行存儲過程,也可實現事務。