CDaoTableDef::CreateField
void CreateField(LPCTSTR lpszName, short nType, long lSize, long lAttributes = 0);
throw(CDaoException,CMemoryException);
void CreateField(CDaoFieldInfo& fieldinfo);
throw(CDaoException,CMemoryException);
参数:
lpszName
指向指定这个字段名的字符串表达式的指针。
nType
指示字段数据类型的一个值。设置可以为下列值之一:
类型
大小(字节)
描述
dbBoolean
1 byte
BOOL
dbByte
1
BYTE
dbInteger
2
int
dbLong
4
long
dbCurrency
8
货币(COleCurrency)
dbSingle
4
float
dbDouble
8
double
dbDate
8
日期/时间(COleDateTime)
dbText
1–255
Text (CString)
dbLongBinary
0
长二进制(OLE 对象), CLongBinary或CByteArray
dbMemo
0
Memo(CString)
lSize
以字节表示包含文本字段最大大小或者包含文本或数字值的字段固定大小的一个值。除文本字段外所有都将忽略lSize参数。
lAttributes
对应于字段特征并能用位操作OR合并的一个值。
常数
描述
dbFixedField
字段大小固定(为Numeric字段缺省)
dbVariableField
字段大小可变化(只对Text字段)
dbAutoIncrField
自动对新记录的字段值增加一个不可改变的唯一长整数。只有Microsoft Jet数据库表支持
dbUpdatableField
字段值可以改变
dbDescending
字段以下降(Z-A或100-0)顺序排序(只适用于Index对象Fields收集中的Field对象)。如果省略此常数,字段将以上升(A-Z或0-100)顺序排序(缺省)
fieldinfo
对CDaoFieldInfo结构的参考。
说明:
调用这个成员函数,可以把记录添加到表。创建一个CDaoField(OLE)CDaoTableDef对象并把它附加到DAOTableDef(OLE)对象的Fields收集。除了用于检查对象特性外,还可以用CDaoFieldInfo为在表定义中创建新字段构造一个输入参数。CreateField的第一个版本容易使用,但要想更好地控制,需使用带CDaoFieldInfo参数的CreateField第二个版本。
如果使用带CDaoFieldInfo参数的CreateField版本,必须小心设置CDaoFieldInfo结构的下列成员:
·m_strName
·m_nType
·m_lSize
·m_lAttributes
·m_bAllowZeroLength
CDaoFieldInfo的其余成员应设置为适合该成员的0,FALSE或空字符串,否则会产生CDaoException。
有关表定义的更多信息,请参阅联机文档“Visual C++程序员指南”中的“DAO表定义”和“DAO表定义:使用表定义”。有关信息,请参阅DAO帮助中的“CreateField方法”。
请参阅:
CDaoTableDef::DeleteField
,
CDaoTableDef::CreateIndex
,
CDaoTableDef::DeleteIndex