ADO 資料庫記錄查詢

2021-06-12 07:05:44 字數 977 閱讀 2496

使用ado方式訪問資料庫,查詢記錄是否存在的方法如下所示:

方法一:

cstring str;

str.format("name='%s'",m_name); //name為查詢的字段,m_name為查詢的名字

m_precordset->filter=(_bstr_t)str; //開始查詢

m_precordset->requery(0); //用查詢結果更新當前記錄集

//向列表插入查詢到的資料

int i=0;

while(!m_precordset->adoeof)

如果 i =0, 則待查詢的記錄不存在;

如果 i>0, 則待查詢的記錄在資料庫中存在。

這種方法當資料量很大時,執行速度比較慢。

方法二:

_variant_t recordsaffected;

cstring str = _t("select count(*) from tablename where ");

str += sn_num;

str += _t("=\'") + key + _t("\'");

m_precordset = m_pconnection->execute((_bstr_t)str, &recordsaffected, adcmdtext);

_variant_t vindex = (long)0;

_variant_t vcount = m_precordset->getcollect(vindex);

int count = vcount.lval;

如果 count =0, 則待查詢的記錄不存在;

如果 count>0, 則待查詢的記錄在資料庫中存在。

當資料量很大時,方法二比方法一要快很多。

ado讀取資料庫

當我們在使用ado運算元據庫的時候經常會碰到一些問題!例如資料庫為空我們就應該對是否為空做出判斷!variant t var var bstr t m precordset getcollect z controllersn if var.vt vt null else m list.setitem...

ADO 訪問資料庫

using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using system.window...

ADO資料庫示例

stdafx.h import c program files common files system ado msado15.dll no namespace rename eof nul adodlg.cpp coinitialize null connectionptr spconn uuid...