VC ado連線資料庫

2021-06-06 05:42:24 字數 2906 閱讀 8027

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