CDaoTableDef

CObject
 └CDaoTableDef

CDaoTableDef表示基本表或附加表的存储定义。每个DAO数据库对象包含一个称为TableDef的收集,包含所有存储的DAO表定义对象。使用CDaoTableDef操纵表定义。例如,可以:
·检查数据库中任何本地、附加或外部表的字段和索引结构。
·对附加表调用SetConnect和SetSourceTableName成员函数,并使用RefreshLink成员函数更新到附加表的连接。
·调用CanUpdate成员函数,确定是否可以编辑表中的字段定义。
·使用GetValidationRule和SetValidationRule以及GetValidationText和SetValidationText,获取或设置有效性条件。
·使用Open成员函数创建表型、动态集型或快照型CDaoRecordset对象。
注意:
DAO数据库类与基于开放数据库连接(ODBC)的MFC数据库类截然不同。所有DAO数据库类名均以“CDao”作前缀。你仍然可以用DAO类访问ODBC数据源;由于DAO类指定于Microsoft Jet数据库引擎,它们通常提供了超强的功能。
使用表定义对象可以处理现有表,也可以创建新表:
1.所有情况下,首先构造一个CDaoTableDef对象,提供指向表所属的CDaoDatabase对象的指针。
2.根据需要进行以下操作:
·要使用现有保存的表,调用表定义对象的Open成员函数,提供保存表的名字。
·要创建新表,调用表定义对象的Create成员函数,调用CreateField和CreateIndex向表添加字段和索引。
·调用Append,通过把它附加到数据库TableDef收集后面,来保存这个表。Create把表定义设置为打开状态,所以调用Create之后不用Open。
提示:
创建保存表的最容易的方法是用Microsoft Access创建它们并存储到数据库中。然后可以用MFC代码打开和使用它们。
为使用已经打开或创建的表定义,创建和打开一个CDaoRecordset对象,用带nOpenType参数的dbOpenTable值指定表定义的名字。
为使用表定义对象创建CDaoRecordset对象,可创建或打开上述表定义,然后构造一个记录集对象,在CDaoRecordset::Open时传递指向表定义对象的指针。传递的表定义必须处于打开状态。有关的更多信息,请参阅CDaoRecordset。
完成使用表定义对象后,调用它的Close成员函数;然后销毁表定义对象。
有关表定义的更多信息,请参阅联机文档“Visual C++程序员指南”中的“DAO表定义”和“DAO表定义:使用表定义”。
#include <afxdao.h>
请参阅:CDaoDatabase, CDaoRecordset


CDaoTableDef类成员

数据成员
m_pDatabase用于这个表的源数据库
m_pDAOTableDef指向基础表定义对象的DAO接口的指针

构造函数
Append向数据库添加新表
CDaoTableDef构造CDaoTableDef对象
Close关闭打开的表定义
Create创建可以用Append添加到数据库的表
Open打开数据库TableDef收集中存储的现有表定义

属性
CanUpdate如果表可以更新(可以修改字段定义或表特性),则返回非零
GetAttributes返回表示CDaoTableDef对象一个或多个特征的值
GetConnect返回一个值,提供有关表源的信息
GetDateCreated返回表示创建基础CdaoTableDef对象的基本表的日期和时间
GetDateLastUpdated返回最近改动基本表设计的日期和时间
GetFieldCount返回表示表中字段数量的一个值
GetFieldInfo返回表中关于字段的指定类型的信息
GetIndexCount返回表示表中索引数量的一个值
GetIndexInfo返回表中关于索引的指定类型的信息
GetName返回表的用户定义名字
GetRecordCount返回表中记录数量
GetSourceTableName返回指定源数据库中附加表名字的值
GetValidationRule返回一个值,验证字段中的数据在改变或添加到表时的有效性
GetValidationText返回一个值,如果Field对象值不满足指定有效性规则时,指定应用显示的消息文字
IsOpen如果表处于打开状态,返回非零
SetAttributes设置表示CDaoTableDef对象一个或多个特征的值
SetConnect设置提供有关表信息的一个值
SetName设置表名字
SetSourceTableName设置一个值,指定源数据库中附加表的名字
SetValidationRule设置一个值,对字段中的数据改变或添加到表时验证有效性
SetValidationText设置一个值,如果Field对象值不满足指定有效性规则时,指定应用显示的消息文字

操作
CreateField调用以创建表的字段
CreateIndex调用以创建表的索引
DeleteField调用以从表中删除一个字段
DeleteIndex调用以从表中删除一个索引
RefreshLink对附加表更新连接信息