使用VC連線Access資料庫的兩種方法

2021-05-27 10:08:57 字數 1421 閱讀 2173

以前的時候用vc寫了兩種連線access資料庫的方法,為了方便以後查詢把這兩種方法做一下簡單的介紹。windows平台的資料介面標準有odbc、ole db、ado和borland的bde介面,odbc(open database connectivity)只能用於訪問關係型資料庫,為了訪問非關係型資料微軟設計了ole db介面並在此基礎上推出了ado(activex data objects)。本文介紹的方法是odbc和ado。

一、使用odbc介面,在這裡我們使用mfc的cdatabase類,該類是對sqlconnect等odbc的api的封裝。需要包含afxdb.h

bool odbcconnect(cstring strdbfile)

;uid=sa;pwd=;dbq=%s"), strdbfile);

cdatabase db;

if(db.open(null, false, false, strconnect))

}

db.close();

returnreturn

二、使用ado連線資料庫,因為要使用com,需要初始化(coinitialize).然後就可以生成介面的物件操作,**如下:

#import "c:program files\common files\system\ado\msado15.dll" rename("eof", "adoeof")    //生成c++類,改變eof函式的名稱

usingnamespace adodb;

bool adoconnect(cstring strdbfile)

cstring strconnect;

strconnect.format(_t("provider=microsoft.jet.oledb.4.0;data source=%s"if(pconnection->open(_bstr_t(strconnect), "", "", admodeunknown) ==//連線資料庫成功

_recordsetptr precordset;

if(precordset.createinstance(__uuidof(recordset)) != s_ok)

cstring strsql;

strsql = _t("select * from info"= precordset->open(_bstr_t(strsql), _variant_t((idispatch*)pconnection, true), adopenunspecified, adlockunspecified, adcmdunknown);

if(hr != s_ok)

_variant_t vt;

precordset->while(!precordset->adoeof)

pconnection->returnreturn

processed in 0.0274 second(s), 6 queries

VC 下使用ADO連線Access資料庫

import c program files common files system ado msado15.dll no namespace rename namespace adodb rename eof adoeof 在mfc中可以用 afxoleinit 非mfc環境中用 coinitia...

連線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...