ado(activex data object)是microsoft資料庫應用程式開發的新介面,是建立在ole db之上的高層資料庫訪問技術,即使你對ole db,com不了解也能輕鬆對付ado,因為它非常簡單易用,甚至比你以往所接觸的odbc api、dao、rdo都要容易使用,並不失靈活性。
下面我將講一下怎麼連線資料庫
ado連線資料庫分為四步
(1)初始化com庫,引入ado庫定義檔案
(2)用connection物件連線資料庫
(3)利用建立好的連線,通過connection、command物件執行sql命令,或利用recordset物件取得結果記錄集進行查詢、處理。
(4)使用完畢後關閉連線釋放物件。
下面我們來演示一下
在第一步之前需要在stdafx.h裡面新增
新增乙個edit控制項 屬性設定一下
再新增乙個靜態文字控制項
在訊息對映裡面設定m_idet
#import "c:\program files\common files\system\ado\msado15.dll"no_namespace rename("eof","adoeof")
然後定義下面變數connection物件和recordset的指標
_connectionptr m_con;
_recordsetptr m_rec;
第一步:初始化
在使用前 初始化
::coinitialize(null);
結束時新增
::couninitialize();
第二步:連線資料庫
hresult hr;
try}
catch (_com_error e)
hresult connection15::open ( _bstr_t connectionstring, _bstr_t userid,_bstr_t password, long options );
上述函式中引數connectionstring為連線字串;引數userid是使用者名稱;引數password是登陸密碼;引數options是連線選項,用於指定connection物件對資料的更新許可權,一般情況下options可以是如下幾個常量:
admodeunknown:預設。當前的許可權未設定
admoderead:唯讀
admodewrite:只寫
admodereadwrite:可以讀寫
admodesharedenyread:阻止其它connection物件以讀許可權開啟連線
admodesharedenywrite:阻止其它connection物件以寫許可權開啟連線
admodeshareexclusive:阻止其它connection物件以讀寫許可權開啟連線
admodesharedenynone:阻止其它connection物件以任何許可權開啟連線
(1)通過jet資料庫引擎對access2000資料庫的連線:
m_pconnection->open("provider=microsoft.jet.oledb.4.0;
data source=c:\\test.mdb","","",admodeunknown);
(2)通過dsn資料來源對任何支援odbc的資料庫進行連線:
m_pconnection->open("datasource=adotest;uid=sa;pwd=;","","",admodeunknown);
(3)不通過dsn對sql server資料庫進行連線:
m_pconnection->open("driver=;server=127.0.0.1;database=vckbase;
uid=sa;pwd=139","","",admodeunknown);
其中server是sql伺服器的名稱,database是庫的名稱。
第三步:查詢
m_rec.createinstance( __uuidof( recordset ) );
cstring sss;
_variant_t vno,vname,v***,vtel,vqq,vsu;
m_rec->open("select * from student" ,m_con.getinte***ceptr() , adopenstatic , adlockoptimistic , adcmdtext);
while (! m_rec->adoeof)
open()方法的原型如下:
hresult recordset15::open ( const _variant_t & source, const_variant_t & activeconnection, enum cursortypeenum cursortype, enumlocktypeenum locktype, long options )
上述函式中引數source是資料查詢字串;引數activeconnection是已經建立好的連線(我們需要用connection物件指標來構造乙個_variant_t物件);引數cursortype游標型別,它可以是以下值之一;請看這個列舉結構:
引數locktype表示資料庫的鎖定型別,它可以是以下值之一,請看如下列舉結構:
enum locktypeenum
;第四步:關閉連線
m_idet = sss;
if (m_con->state) //關閉連線
我連線的是 access2000資料庫
成功連線
VC ADO連線資料庫操作
vc ado連線資料庫操作 收藏 1 引入ado類 import c program files common files system ado msado15.dll no namespace rename eof adoeof 2 初始化com 在mfc中可以用afxoleinit 非mfc環境...
VC ADO連線資料庫操作
1 引入ado類 import c program files common files system ado msado15.dll no namespace rename eof adoeof 2 初始化com 在mfc中可以用afxoleinit 非mfc環境中用 coinitialize n...
基於VC ADO元件連線資料庫程式設計
1.1 連線物件 connection 連線物件是用來與資料庫建立連線 執行查詢以及進行事務處理。在連線之前必須指定使用哪乙個ole db 者。1.2 命令物件 命令物件 command 可以執行資料庫操作命令 例如查詢 修改 插入和刪除等 用命令物件執行乙個查詢子串,可以返回乙個記錄集合。2.利用...