MFC連線ACCESS資料庫

2021-06-21 22:45:13 字數 1946 閱讀 7283

這裡介紹一下簡單的資料庫程式設計,c++利用ado連線access資料庫,進行簡單的插入、刪除、讀取、修改操作。利用ado連線aceess和連線ms—sql大同小異,只是連線驅動等細節不同而已。

下面就介紹資料庫程式設計的基本步驟

第一步:載入ado類

第二步:初始化ole庫

第三步:連線開啟資料庫

第四步:組裝sql語句,並利用智慧型指標執行sql語句

下面詳細介紹所需**~~~

1、在stdafx.h中新增

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

如果載入失敗的話,去c:\program files\common files\system\ado檢視是否有msado15.dll,對於xp以上系統該檔案都是存在的,如果做產品時害怕使用者電腦可能沒有這個檔案,可以將msado15.dll打包到程式中,這是要保證msado15.dll存在於程式當前目錄,同時修改上句**為

#import "msado15.dll"  no_namespace  rename ("eof", "adoeof")

2、初始化ole庫,在initinstance()函式中增加ole初始化函式,

if(!afxoleinit())//這就是初始化com庫 

3、在引入ado並初始化成功com庫後,就可以使用智慧型指標了。

_connectionptr m_pconnection; //連線,可以呼叫execute函式執行sql語句

_recordsetptr m_precordset;//結果集,可以掉用open函式執行sql語句

_commandptr m_pcommand; //命令物件,可以呼叫execute執行sql語句

//連線資料庫

hresult hr;

try}

catch(_com_error e)///捕捉異常

4進行資料庫操作,資料庫操作通過connectionptr,recordsetptr、commandptr都可以實現。

通過connectionptr:

_variant_t recordsaffected;

cstring ssql = _t("insert into stu values (20,20)");

m_pconnection->execute((_bstr_t)ssql,&recordsaffected,adcmdtext);

通過commandptr:

_commandptr pcommand;

_recordsetptr prs;

pcommand.createinstance(__uuidof(command));

pcommand->activeconnection=m_pconnection;

pcommand->commandtext="select * from stu";

pcommand->commandtype=adcmdtext;

pcommand->parameters->refresh();

prs=pcommand->execute(null,null,adcmdunknown);

while(!prs->adoeof)

通過recordsetptr:

m_precordset.createinstance(__uuidof(recordset));

cstring strsql="select * from middle";

m_precordset->open((_bstr_t)strsql,(idispatch*)m_pconnection,adopendynamic,adlockoptimistic,adcmdtext);

while(!m_precordset->adoeof)//遍歷所有記錄

m_precordset->close();

連線ACCESS資料庫

1 匯入命名空間空間 system.data.oledb 2 建立指向資料庫的連線 建立連線要用到system.data.oledb命名空間中的類 oledbconnection。通過以下語句可以完成對本地資料庫的連線工作 string strconnect provider microsoft.j...

access資料庫連線

string strconnection provider microsoft.jet.oledb.4.0 strconnection data source e accesstest data.mdb 裡用的是?路徑 oledbconnection objconnection new oledbc...

Access資料庫連線

access資料庫的連線,2000和2007版本有差別。access2000的連線字串為 1 2 3 4 str.format text provider microsoft.jet.oledb.4.0 persist security info false data source s szdata...