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

2021-06-07 05:42:07 字數 1675 閱讀 8087

原文:

以前的時候用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();

return

true;

}return

false;}

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

#import 

"c:program files/common files/system/ado/msado15.dll

"rename(

"eof", 

"adoeof

")    

//生成c++類,改變eof函式的名稱

using

namespace

adodb;

bool adoconnect(cstring strdbfile)

cstring strconnect;

strconnect.format(_t(

"provider=microsoft.jet.oledb.4.0;data source=%s

"), strdbfile);

if(pconnection

->

open(_bstr_t(strconnect), 

"", 

"", admodeunknown) 

==s_ok)

cstring strsql;

strsql 

=_t(

"select * from info");

hresult hr 

=precordset

->

open(_bstr_t(strsql), _variant_t((idispatch

*)pconnection, true), adopenunspecified, adlockunspecified, adcmdunknown);

if(hr 

!=s_ok)

_variant_t vt;

precordset

->

movefirst();

while(!

precordset

->

adoeof)

pconnection

->

close();

return

true;

}return

false;

}

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

以前的時候用vc寫了兩種連線access資料庫的方法,為了方便以後查詢把這兩種方法做一下簡單的介紹。windows平台的資料介面標準有odbc ole db ado和borland的bde介面,odbc open database connectivity 只能用於訪問關係型資料庫,為了訪問非關係型...

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

以前的時候用vc寫了兩種連線access資料庫的方法,為了方便以後查詢把這兩種方法做一下簡單的介紹。windows平台的資料介面標準有odbc ole db ado和borland的bde介面,odbc open database connectivity 只能用於訪問關係型 資料庫,為了訪問非關係...

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