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

CDaoDatabase

鎖定
類CDaoDatabase代表了一個數據庫連接。使用它可以操縱數據庫中的數據。有關支持的數據庫格式,請參閲成員函數GetName。在一個給定工作區(由CDaoWorspace對象代表)中,同時可以有多個活動的CDaoDatabase對象。工作區維護了一組開放數據庫對象——數據庫連接。
中文名
CDaoDatabase
基    於
ODBC
類    型
MFC數據庫類
前    綴
CDao
注意:
MFC DAO數據庫類與那些基於ODBC的MFC數據庫類是不同的。所有的DAO數據庫類的名字都有CDao前綴。類CDaoDatabase提供了一個類似於ODBC類CDabase的接口。二者主要的不同在於:CDatabse是通過ODBC和ODBC驅動程序存取數據庫的,而CDaoDatabase則是通過數據存取對象(Data Access Object,DAO)存取數據庫的。DAO基於Microsoft Jet數據庫引擎。一般説來,基於DAO的MFC類比基於ODBC的類處理能力更強。基於DAO的類可以通過ODBC驅動也可以經由自己的數據庫引擎存取數據。基於DAO的類也支持數據定義操作(DDL),比如不用直接調用DAO而通過類建立表。
用法
在創建記錄集時,可以隱式地建立數據庫對象,也可以顯式地創建數據庫對象。要顯式地通過CDaoDatabase利用現有的數據庫,只需:
·構造一個CDaoDatabase對象,向打開的CDaoWorkspace對象傳送它的指針。·或者不指定工作區而構造一個CDaoDatabase對象(MFC會建立一個臨時的工作區)。
建立一個新的Microft Jet數據庫(.MDB),要構造一個CDaoDatabase對象並且調用它的成員函數Create。 在調用Create之後不要再調用Open。
打開一個現有的數據庫,要構造一個CDaoDatabase對象並且調用它的成員函數Open。
上面的這些方法都把DAO數據庫對象添加到工作區的Databases集合中,並在數據上建立一個連接。以後需要構造CDaoRecordset,CDaoTableDefCDaoQueryDef來操縱連接上的數據庫,要向它們的構造函數傳送CDaoDatabase對象的指針。使用完連接之後,要調用成員函數Close並撤消CDaoDatabase對象。Close會關閉所有沒有關閉的記錄集。
在工作區級支持數據庫的事務處理。參閲類CDaoWorkspace的成員函數BeginTrans,CommuitTrans和Rollback。有關更詳細的信息,請參閲聯機文檔“Visual C++程序員指南”中的“DaoWorkspace:管理事務”。
ODBC連接
建議在使用ODBC數據源時把外部表連到一個Microsoft Jet數據庫(.MDDB)。有關更詳細的信息,請參閲聯機文檔“Visual C++程序員指南”中的“DAO擴展:處理外部數據源”。
收集
每個數據庫都擁有自己的表定義、查詢定義、記錄集和關係對象的收集。類CDaoDatabase提供了操縱這些對象的成員函數。
注意:
上述對象存儲在DAO中,而不是存儲在ODBC對象中。MFC提供了支持表定義、查詢定義和記錄集對象的類,但沒有支持關係對象的類。
#include <afxdao.h>