ADO資料庫程式設計入門

2021-06-18 10:52:37 字數 1929 閱讀 8732

ado資料庫程式設計入門

文件簡介:

本文簡要介紹了在vc++ 6.0中使用 ado進行客戶端資料庫程式設計的基本步驟,以及常見問題的解決方法,可供入門級的參考之用。

關鍵字:ado vc++ 資料庫程式設計

目錄:

在vc++中使用ado程式設計

使用#import方法的程式設計步驟

使用ado程式設計常見問題解答

小結文件內容:

ado是目前在windows環境中比較流行的客戶端資料庫程式設計技術。ado是建立在ole db底層技術之上的高階程式設計介面,因而它兼具有強大的資料處理功能(處理各種不同型別的資料來源、分布式的資料處理等等)和極其簡單、易用的程式設計介面,因而得到了廣泛的應用。而且按微軟公司的意圖,ole db和ado將逐步取代 odbc和dao。現在介紹ado各種應用的文章和書籍有很多,本文著重站在初學者的角度,簡要**一下在vc++中使用ado程式設計時的一些問題。我們希望閱讀本文之前,您對ado技術的基本原理有一些了解。

一、在vc++中使用ado程式設計

ado實際上就是由一組automation物件構成的元件,因此可以象使用其它任何automation物件一樣使用ado。ado中最重要的物件有三個:connection、command和recordset,它們分別表示連線物件、命令物件和記錄集物件。如果您熟悉使用mfc中的odbc類(cdatabase、crecordset)程式設計,那麼學習ado程式設計就十分容易了。

使用ado程式設計時可以採用以下三種方法之一:

1、使用預處理指令#import

#import "c:\program files\common files\system\ado\msado15.dll" \

no_namespace rename("eof", "endoffile")

但要注意不能放在stdafx.h檔案的開頭,而應該放在所有include指令的後面。否則在編譯時會出錯。

程式在編譯過程中,vc++會讀出msado15.dll中的型別庫資訊,自動產生兩個該型別庫的標頭檔案和實現檔案msado15.tlh和msado15.tli(在您的debug或release目錄下)。在這兩個檔案裡定義了ado的所有物件和方法,以及一些列舉型的常量等。我們的程式只要直接呼叫這些方法就行了,與使用mfc中的coledispatchdriver類呼叫automation物件十分類似。

2、使用mfc中的cidispatchdriver

就是通過讀取msado15.dll中的型別庫資訊,建立乙個coledispatchdriver類的派生類,然後通過它呼叫ado物件。

3、直接用com提供的api

如使用如下**:

clsid clsid;

hresult hr = ::clsidfromprogid(l"adodb.connection", &clsid);

if(failed(hr))

::cocreateinstance(clsid, null, clsctx_server, iid_idispatch, (void **)&pdispatch);

if(failed(hr))

以上三種方法,第一和第二種類似,可能第一種好用一些,第三種程式設計可能最麻煩。但可能第三種方法也是效率最高的,程式的尺寸也最小,並且對ado的控制能力也最強。

據微軟資料介紹,第一種方法不支援方法呼叫中的預設引數,當然第二種方法也是這樣,但第三種就不是這樣了。採用第三種方法的水平也最高。當你需要繞過ado而直接呼叫ole db底層的方法時,就一定要使用第三種方法了。

ado程式設計的關鍵,就是熟練地運用ado提供的各種物件(object)、方法(method)、屬性(property)和容器(collection)。另外,如果是在ms sql或oracle等大型資料庫上程式設計,還要能熟練使用sql語言。

二、使用#import方法的程式設計步驟

ADO資料庫程式設計入門

ado資料庫程式設計入門 2010 10 26 21 42 c c vc ado連線sql server問題與解決方案 以前沒有用vc連線過資料庫,今天由於幫人做畢設就嘗試了一下。1 建立odbc資料來源。參考方法 牢記 在此之前要把自己的資料庫伺服器啟動,不然在伺服器選擇的時候看不到自己的伺服器。...

ADO資料庫程式設計

一下 全部測試通過 連線資料庫 如下 hresult hr coinitialize null cstring strsql variant t user name try catch com error e 查詢資料庫 cstring sql select from data variant t ...

MFC Access資料庫(ADO資料庫程式設計)

最近專案需要使用到資料庫,專案本身使用的是mfc。於是選擇了簡單的access資料,本文將介紹本人如何在mfc使用的access資料庫。順帶提一句,本文使用的系統為win8.1,64位,編譯環境為vs2010和office2010,如出現連線問題,可以看看access的位數與系統位數是否一致。本文是...