有效使用ADO操作相關實現
其中路徑名可以根據自己系統安裝的ADO支持文件的路徑來自行設定。當編譯器遇到#import語句時,它會為引用組件類型庫中的接口生成包裝類,#import語句實際上相當于執行了API涵數LoadTypeLib()。ADO操作語句會在工程可執行程序輸出目錄中產生兩個文件。
分別為*.tlh(類型庫頭文件)及*.tli(類型庫實現文件),它們分別為每一個接口產生智能指針,并為各種接口方法、枚舉類型,CLSID等進行聲明,創建一系列包裝方法。語句no_namespace說明ADO對象不使用命名空間,rename ("EOF", "adoEOF")說明將ADO中結束標志EOF改為adoEOF,ADO操作以避免和其它庫中命名相沖突。
其次,在程序初始過程中需要初始化組件。
一般可以用CoInitialize(NULL);來實現,這種方法在結束時要關閉初始化的COM,可以用下面語句CoUnInitialize();來實現。在MFC中還可以采用另一種方法來實現初始化COM,這種方法只需要一條語句便可以自動為我們實現初始化COM和結束時關閉ADO操作的操作,語句如下所示: AfxOleInit();
接著,就可以直接使用ADO操作了。我們經常使用的只是前面用#import語句引用類型庫時,生成的包裝類.tlh中聲明的智能指針中的三個,它們分別是_ConnectionPtr、_RecordsetPtr和_CommandPtr。下面分別對它們的使用方法進行介紹:#t#
ConnectionPtr智能指針,通常用于打開、關閉一個庫連接或用它的Execute方法來執行一個不返回結果的命令語句(用法和_CommandPtr中的Execute方法類似)。
——打開一個庫連接。先創建一個實例指針,再用Open打開一個庫連接,它將返回一個IUnknown的自動化接口指針。代碼如下所示:
在工具箱中,新的控件——DataGridView, DataConnector和DataNavigator。利用這些控件,你能在數據綁定控件中提供數據導航(分頁)功能。 DbProvidersFactories類這個類能提供當前機器里的現有數據提供者(providers)列表。在寫數據庫依賴程序時,ADO操作你能利用這個類及其成員為你的數據庫查找最適合的數據提供者。
自定義數據提供者(Provider) 通過提供工廠類,現在ADO操作可以擴展支持自定義數據提供者功能。你無需編寫一個數據提供者支持代碼。你可以用數據提供者基類以及連接字符串幫助你完成這些功能。