您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關實現ADO.NET記錄集獲取記錄數量的方法是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
VC使用ADO技術訪問數據表,打開數據表后,獲得了ADO記錄集,如何獲得記錄數量?一個小問題,沒想到還有點意思,實踐完成,總結一下。
方法一、用靜態、鍵集游標方式打開數據表
p_hr = m_pRecordset->Open(_variant_t(bstrQuery),vNull,adOpenStatic,adLockOptimistic,adCmdText);
然后用GetRecordCount()函數,即可獲得記錄數量。
m_pRecordset->GetRecordCount();
談談ADO.NET數據庫連接池創建和分配
剖析ADO.NET使用DataAdapter類
簡單實用的ADO.NET實體框架詳解
淺析ADO.NET實體數據訪問和更改
老鳥歸納ADO.NET實體框架功能
另外用鍵集游標方式也可以獲得,adOpenKeyset (鍵集游標),但是用adOpenDynamic (動態游標)方式,就只會返回-1。多個用戶都使用同一張表,且對其進行修改的可能都很大,則***使用adOpenKeyset。如只是瀏覽, 使用adOpenStatic 可提高性能! 補充:adOpenStatic 靜態游標 , 其它用戶的修改對當前用戶是不可見的. adOpenDynamic 動態游標 , 所有的修改對當前用戶是見的. adOpenKeyset 是前兩種的折衷 , 改對當前用戶是見的. 但性能是***的.
方法二、用SQL語句實現
“select count(*) from 表名;”,這樣就不用關心游標的方式了。
例子如下:
rs->Open("select COUNT(*) from tbUsersInfo",strCnn, adOpenKeyset,adLockOptimistic,adCmdText); long RecordCount; RecordCount=rs->Fields->GetItem((long)0)->GetValue();
還有一個例子:
m_pRecordset = m_pConnection->Execute("SELECT COUNT(*) FROM 表名",&RecordsAffected,adCmdText); _variant_t vIndex = (long)0; _variant_t vCount = m_pRecordset->GetCollect(vIndex); CString message; message.Format("共有%d條記錄",vCount.lVal); AfxMessageBox(message);
補充:
先將ADO記錄集的
CursorLocation = adUseClient;
然后就可以了,總之感覺很意思,一個小問題,卻有幾種不同的解決方法,而且對于不同的數據庫,還有點不一樣。
以上就是實現ADO.NET記錄集獲取記錄數量的方法是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。