資源描述:
《ado數(shù)據(jù)訪問技術(shù)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、ADO數(shù)據(jù)訪問技術(shù)摘自《VisualC+++SQLServer數(shù)據(jù)庫應用實例完全解析》啟明工作室編著,人民郵電出版社出版,2006年4月第一版。ADO的全稱是ActiveXDataObjects。VisualC++提供了豐富的數(shù)據(jù)庫訪問技術(shù),如ADO、ODBC、DAO和RDO等,其中,ADO是最新的數(shù)據(jù)庫訪問技術(shù),它是使用更為簡單,而又更加靈活的對象模型。對于新工程,應該使用ADO作為數(shù)據(jù)訪問接口。1.ADO數(shù)據(jù)模型Figure6.ADOObjectModelADO提供執(zhí)行以下操作的方式:?連接到數(shù)據(jù)源。?指定訪問數(shù)據(jù)源的命令,同時可帶變量參數(shù)或
2、優(yōu)化執(zhí)行。通常涉及ADO的Command對象。?執(zhí)行命令,例如一個SELECT腳本。?如果這個命令使數(shù)據(jù)庫按表中行的形式返回,則將這些行存儲在易于檢查、操作或更改的緩存中。?適當情況下,可以把緩存行的更改內(nèi)容寫回數(shù)據(jù)庫中,更新數(shù)據(jù)源。?提供常規(guī)方法檢測錯誤(錯誤通常由建立連接或執(zhí)行命令造成),涉及ADO的Error對象。ADO編程模型提供了以下主要元素:1)連接。通過“連接”可以從應用程序中訪問數(shù)據(jù)源。連接時必須指定要連接到的數(shù)據(jù)源以及連接所使用的用戶名和口令等信息。對象模型使用Connection對象完成連接功能。2)命令。可以通過已建立的連接
3、發(fā)出命令,對數(shù)據(jù)源進行指定的操作。一般情況下,可以通過命令在數(shù)據(jù)源中添加、修改或刪除數(shù)據(jù),也可以檢索滿足指定條件的數(shù)據(jù)。在對象模型中使用Command對象來體現(xiàn)命令的概念。3)參數(shù)。在執(zhí)行命令時可指定參數(shù),參數(shù)可以在命令發(fā)布之前進行更改。例如,可以重復發(fā)出相同的數(shù)據(jù)檢索命令,但是每一次指定的檢索條件不同。對象模型用Parameter對象來體現(xiàn)參數(shù)概念。4)記錄集。查詢命令可以將查詢結(jié)果存儲在本地,這些數(shù)據(jù)以“行”為單位,返回市局的集合被稱為記錄集。對象模型將記錄集體現(xiàn)為Recordset對象。5)字段。一個記錄集行包含一個或多個字段。若將記錄集看
4、作二維網(wǎng)絡(luò),字段將排列起來構(gòu)成列。每一個字段(列)都分別包含有名稱、數(shù)據(jù)類型和值的屬性,值中包含了來自數(shù)據(jù)源的真實數(shù)據(jù)。在對象模型中用Field對象體現(xiàn)字段。要修改數(shù)據(jù)源中的數(shù)據(jù),可在記錄集行中修改Field對象的值,對記錄集的更改最終被傳送給數(shù)據(jù)源。6)錯誤。錯誤可能在應用程序中隨時發(fā)生,通常是由于無法建立連接、執(zhí)行命令或?qū)δ承顟B(tài)的對象進行操作所引起的。在對象模型中用Error對象體現(xiàn)錯誤。任何發(fā)出的錯誤都會產(chǎn)生一個或多個Error對象。7)屬性。每個ADO對象都有一組唯一的“屬性”來描述或控制對象的行為。屬性有內(nèi)置和動態(tài)兩種類型。內(nèi)置屬性是
5、ADO對象的一部分并且隨時可用。動態(tài)屬性則由特別的數(shù)據(jù)提供者添加到ADO對象的屬性集合中,僅在提供者被使用時才能存在。在對象模型中用Property對象體現(xiàn)屬性。8)集合。ADO集合時一種可方便地包含其他特殊對象的對象類型。使用集合方法可按名稱(文本字符串)或序號(整型數(shù))對集合中的對象進行檢索。ADO支持四種類型的對象集合:a)Connection對象具有Errors集合,包含為響應與數(shù)據(jù)源有關(guān)的單一錯誤而創(chuàng)建的所有Error對象。b)Command對象具有Parameters集合,包含應用于Command對象的所有Parameter對象。c)
6、Recordset對象具有Fields集合,包含Recordset對象中所有列的Field對象。d)Connection、Command、Recordset和Field對象都具有Properties集合,它包含各個對象的Property對象。2.常用ADO對象(1)在stdafx.h中加入import語句。需要用#import命令將ADO庫文件導入到工程中,代碼如下:#import"C:ProgramFilesCommonFilesSystemadomsado15.dll"no_namespacerename("EOF","adoEOF
7、")rename("BOF","adoBOF")支持ADO編程的庫文件是msado15.dll,默認保存在C:ProgramFilesCommonFilesSystemado目錄下。(2)在主程序的初始化函數(shù)中,初始化COM庫BOOL?CADO2App::InitInstance(){????AfxEnableControlContainer();????AfxOleInit();//初始化COM庫//--------------------------------------------}3.ADO簡介ADO支持用于建立基于客戶端/服務(wù)
8、器和Web的應用程序的主要功能。其主要優(yōu)點是易于使用、高速度、低內(nèi)存支出和占用磁盤空間較少。?ADO架構(gòu)圖表??ADO主要對象介紹?Co