複製鏈接
請複製以下鏈接發送給好友

CDaoRecordset

鎖定
一個CDaoRecordset對象表示從數據源中選擇的一組記錄。
中文名
記錄集
外文名
CDaoRecordset
派    生
應用指定記錄集
領    域
計算機
作為“記錄集”,CDaoRecordset對象在以下三種窗體中有效:
·
表型記錄集表示一個基本表,可以用它從單個數據庫表中檢查、添加、改變或刪除記錄。
·
動態集型記錄是一個查詢的結果,可以包含可更新的記錄。這個數據集是一組記錄,可以用它從一個或多個基本數據庫表中檢查、添加、改變或刪除記錄。動態集型記錄集包含來自一個數據庫中一個或多個表的字段。
·
快照型記錄集是一組記錄的一個靜態拷貝,可以用它查找數據或生成報表。這些記錄集可以包含來自一個數據庫中一個或多個表的字段,不過不可更新。
記錄集的每個窗體表示記錄集在打開時所固定的一組記錄。在表型記錄集動態集型記錄集中滾動到一個記錄時,它反映了記錄集打開後,由其它用户或者應用中其它記錄集對記錄所做的改動(快照型記錄集不可更新)。可以直接使用CDaoRecordset,也可以從CDaoRecordset派生出一個應用指定記錄集。然後可以:
·
在記錄集中滾動。
·
設置索引並使用Seek快速查找記錄(只對表型記錄集)。
·
基於字符串比較:“<”,“<=”,“=”,“>=”或“>”的記錄查找(對動態集型和快照型記錄集)。
·
更新記錄並指定一種封鎖模式(除了數據源中選擇的記錄)。
·
過濾數據集,以限制它從有效數據源中選擇的記錄。
·
排序記錄集。
·
參數化記錄集,按運行時才知道的信息定製選擇。
類CDaoRecordset提供了接口與類CRecordSet類似,主要區別在於類CDaoRecordset通過基於OLE的數據訪問對象(DAO)訪問數據。類CRecordSet通過開放數據庫連接(ODBC)和適用於此DBMS的ODBC驅動程序訪問DBMS。
注意:
DAO數據庫類與基於開放數據庫連接(ODBC)的MFC數據庫類截然不同。所有DAO數據庫類名均以“CDao”作前綴。你仍然可以用DAO類訪問ODBC數據源;由於DAO類指定於Microsoft Jet數據庫引擎,它們通常提供了超強的功能。
既可以直接使用CDaoRecordset,也可以由CDaoRecordset派生出一個類。兩種情況下,要使用記錄集類,需打開一個數據庫並構造記錄集對象,向構造程序傳送一個指向CDaoDatabase對象的指針。接下來調用記錄集的Open成員函數,指定對象是表型、動態集型還是快照型記錄集。調用Open,從數據庫中選擇數據並獲取第一條記錄。
使用對象的成員函數和數據成員,可以滾動並操縱記錄。操作有效性取決於對象是表型記錄集動態集型記錄集還是快照型記錄集,並且它是可更新的還是隻讀的──這依賴於數據庫或開放數據庫連接(ODBC)數據源的功能。要更新Open調用之後可能已改變或添加的記錄,需調用對象的Requery成員函數。結束時調用對象的Close成員函數並銷燬這個對象。
CDaoRecordset使用DAO記錄字段交換(DFX),以支持通過CDaoRecordset或CDaoRecordset派生類的安全型C++成員對記錄字段的讀取更新。利用GetFieldValue和SetFieldValue,也可以不用DFX機制而實現對數據庫列的動態綁定
#include <afxdao.h>