VC使用ADO物件控制ACCESS資料庫的訪問

2021-04-25 03:04:55 字數 1746 閱讀 8082

vc使用ado物件控制access資料庫的訪問

邵盛松 2009-2-28

以下**沒有進行封裝,carlos antollini已經對ado物件進行封裝,他的**可以在程式中可直接呼叫.

新建乙個mfc對話方塊

1初始化**解釋

使用ado物件,就要引用使用msado15.dll中的變數和函式

在stdafx.h檔案中新增對dll引用

#import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("eof", "endoffile")

no_namespace,這是告訴編譯器該類不在乙個單獨的名字空間中,使用no_namespace意味著你不需要在初始化變數的時候引用名字空間。因為去掉了命名空間,為了防止ado中的eof和檔案操作中的eof產生衝突,所以將ado中的eof命名為endoffile.

在對話方塊初始化函式中新增以下**

::coinitialize(null);//初始化com環境

_connectionptr m_pconn;//連線物件指標

_recordsetptr m_prs;//記錄集物件指標

m_pconn.createinstance(__uuidof(connection));//例項化連線物件

m_prs.createinstance(__uuidof(recordset)); //例項化記錄集物件

msado15.tlh檔案中的宣告如下

_com_smartptr_typedef(_connection, __uuidof(_connection));

_com_smartptr_typedef(_recordset, __uuidof(_recordset));

m_pconn->open(m_pconn->connectionstring,_t(""),_t(""),adconnectunspecified);//這句只要是對資料庫進行連線.

m_pconn->connectionstring是資料庫的連線字串,adconnectunspecified表示同步開啟連線.也可以是adasyncconnect非同步開啟連線

同步的含義是:呼叫open之後等待連線開啟之後再執行後面的**

非同步的含義是:呼叫open之後立即返回繼續執行後面的**

2資料庫操作

資料庫連線之後,就可以操作表,當表開啟以後就可以操作記錄了

m_prs->open(表名,m_pconn.getinte***ceptr(),adopendynamic,adlockoptimistic,adcmdtable);

open引數說明,這裡是記錄集的open,不是連線的open

getinte***ceptr()是指定記錄集物件使用的連線,m_pconn.getinte***ceptr()就是剛才開啟的連線.

adopendynamic是游標的型別,這裡是動態游標

adlockoptimistic是鎖定類定,這裡是開放的鎖定

adcmdtable是指定命令型別這裡是表名.

對於乙個表可以有以下操作

addnew,delete,getrows,update等

3關閉資料庫

if(m_pconn->state)

m_pconn->close();//關閉資料庫連線

m_prs=null;//釋放記錄集物件指標

m_pconn=null;//釋放連線物件指標

::couninitialize();//釋放com環境

在VC中用ADO動態建立帶密碼的Access資料庫

本文主要介紹了動態建立access資料庫和設定密碼的方法.例如 假設一位使用者的歷史資訊需要存放到本地.我們有許多的使用者都需要這樣的功能.那麼手動建立資料庫是很麻煩的.於是我們可以考慮動態的來新增.但同時你又希望不被他人輕易看見.此時需要設定乙個密碼.那麼這也就是本文要做的事情.我們首先要建立vc...

在VC中用ADO動態建立帶密碼的Access資料庫

首先要建立vc的工程,開啟stdafx.h標頭檔案.在其中加入如下兩句話 import c program files common files system ado msadox.dll import c program files common files system ado msado15....

vc 使用ADO程式設計

ado實際上就是由一組automation物件構成的元件,因此可以象使用其它任何automation物件一樣使用ado。ado中最重要的物件有三個 connection command和recordset,它們分別表示連線物件 命令物件和記錄集物件。如果您熟悉使用mfc中的odbc類 cdataba...