CDaoRecordset

CDaoRecordset

CDaoRecordset
一個CDaoRecordset對象表示從數據源中選擇的一組記錄。動态集型記錄集包含來自一個數據庫中一個或多個表的字段。可以直接使用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

相關詞條

相關搜索

其它詞條