關(guān)于ADO.NET庫文件講解
在向大家詳細(xì)介紹ADO之前,首先讓大家了解下ADO概述,然后全面介紹ADO.NET庫文件。我們現(xiàn)在就來說說吧。ADO是Microsoft為最新和最強(qiáng)大的數(shù)據(jù)訪問范例 OLE DB 而設(shè)計(jì)的,是一個便于使用的應(yīng)用程序?qū)咏涌凇DO 使您能夠編寫應(yīng)用程序以通過 OLE. DB 提供者訪問和操作數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)。ADO 最主要的優(yōu)點(diǎn)是易于使用、速度快、內(nèi)存支出少和磁盤遺跡小。ADO 在關(guān)鍵的應(yīng)用方案中使用最少的網(wǎng)絡(luò)流量,并且在前端和數(shù)據(jù)源之間使用最少的層數(shù),所有這些都是為了提供輕量、高性能的接口。之所以稱為 ADO,是用了一個比較熟悉的暗喻,OLE 自動化接口。
#T#OLE DB是一組”組件對象模型”(COM) 接口,是新的數(shù)據(jù)庫低層接口,它封裝了ODBC的功能,并以統(tǒng)一的方式訪問存儲在不同信息源中的數(shù)據(jù)。OLE DB是Microsoft UDA(Universal Data Access)策略的技術(shù)基礎(chǔ)。OLE DB 為任何數(shù)據(jù)源提供了高性能的訪問,這些數(shù)據(jù)源包括關(guān)系和非關(guān)系數(shù)據(jù)庫、電子郵件和文件系統(tǒng)、文本和圖形、自定義業(yè)務(wù)對象等等。也就是說,OLE DB 并不局限于 ISAM、Jet 甚至關(guān)系數(shù)據(jù)源,它能夠處理任何類型的數(shù)據(jù),而不考慮它們的格式和存儲方法。在實(shí)際應(yīng)用中,這種多樣性意味著可以訪問駐留在 Excel 電子數(shù)據(jù)表、文本文件、電子郵件/目錄服務(wù)甚至郵件服務(wù)器,諸如 Microsoft Exchange 中的數(shù)據(jù)。但是,OLE DB 應(yīng)用程序編程接口的目的是為各種應(yīng)用程序提供最佳的功能,它并不符合簡單化的要求。您需要的API 應(yīng)該是一座連接應(yīng)用程序和OLE DB 的橋梁,這就是 ActiveX Data Objects (ADO)。在VC中使用ADO(開發(fā)步驟好下:
1、引入ADO.NET庫文件
使用ADO前必須在工程的stdafx.h頭文件里用直接引入符號#import引入ADO庫文件,以使編譯器能正確編譯。代碼如下所示:
用#import引入ADO.NET庫文件
- #import "c:\program files\common files\system\ado\msado15.dll"no_namespaces rename("EOF" adoEOF")
這行語句聲明在工程中使用ADO,但不使用ADO的名字空間,并且為了避免常數(shù)沖突,將常數(shù)EOF改名為adoEOF?,F(xiàn)在不需添加另外的頭文件,就可以使用ADO接口了。
2、初始化OLE/COM庫環(huán)境
必須注意的是,ADO庫是一組COM動態(tài)庫,這意味應(yīng)用程序在調(diào)用ADO前,必須初始化OLE/COM庫環(huán)境。在MFC應(yīng)用程序里,一個比較好的方法是在應(yīng)用程序主類的InitInstance成員函數(shù)里初始化OLE/COM庫環(huán)境。
- BOOL CMyAdoTestApp::InitInstance()
- {
- if(!AfxOleInit())//這就是初始化COM庫
- {
- AfxMessageBox(“OLE初始化出錯!”);
- return FALSE;
- }
- ……
- }