CDaoWorkspace

更新时间:2022-06-28 09:24

CDaoWorkspace对象可让一个用户管理从登录到离开期间,指定的密码保护的数据库会话全过程。

简介

大多数情况下不需要多个工作区,也不需创建明确的工作区对象;在打开数据库和记录集对象时,它们使用DAO缺省工作区。但是如果需要,可以通过创建额外工作区对象同时运行多个会话。每个工作区对象可以包含它自己的Database收集中的多个打开的数据库对象。MFC中工作区主要是一个事务管理器,指定全部在同一个“事务区”内的一系列打开数据库。

注意:

DAO数据库类与基于开放数据库连接(ODBC)的MFC数据库类截然不同。所有DAO数据库类名都有“CDao”前缀。通常基于DAO的MFC类比基于ODBC的MFC类功能更强。基于DAO的类通过Microsoft Jet数据库引擎访问数据,包括ODBC驱动程序。它们还支持数据定义语言(DDL)操作,例如通过类创建数据库、添加表和字段,而不必直接调用DAO。

功能

类CDaoWorkspace提供以下几点功能:

安全性

MFC不实现DAO中用于安全性控制的Users和Groups收集。如果需要DAO的这些特征,必须通过直接调用DAO接口亲自对它们编程。有关信息,请参阅“技术指南54”。

可以用类CDaoWorkspace来:

创建Workspace收集中存在的新工作区在下面的Create成员函数中描述。工作区对象不支持数据库引擎会话之间的任何方法。如果应用静态链接MFC,结束程序不会初始化数据库引擎。如果应用动态链接MFC,MFCDLL卸载时不初始化数据库引擎。

只在专业版和企业版中具有的特征:对MFC的静态链接,只有Visual C++专业版和企业版中支持。

显式打开缺省工作区或者打开Workspaces收集中已有工作区,都在下面的Open成员函数中描述。

通过用Close成员函数关闭工作区来结束工作区会话。Close关闭以前没关闭的任何数据库,回滚任何未提交事务

事务

DAO在工作区级上管理事务;因此,有多个打开数据库的工作区上的事务适用于所有数据库。例如两个数据库有未提交的更新,然后调用CommitTrans,则提交所有更新。如果想把事务限制于单个数据库,则需要为它的单独工作区对象。

隐式使用缺省工作区

在以下环境中MFC隐式使用DAO缺省工作区:

其它操作

还提供了像修复损坏的数据库或压缩数据库等其它数据库操作。

所需头文件:#include

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}