JET_TABLECREATE 结构
适用于: Windows |Windows Server
JET_TABLECREATE 结构
JET_TABLECREATE 结构包含创建用 ESE 数据库中的列和索引填充的表所需的信息。 JetCreateTableColumnIndex 使用JET_TABLECREATE结构
typedef struct tagJET_TABLECREATE {
unsigned long cbStruct;
tchar* szTableName;
tchar* szTemplateTableName;
unsigned long ulPages;
unsigned long ulDensity;
JET_COLUMNCREATE* rgcolumncreate;
unsigned long cColumns;
JET_INDEXCREATE* rgindexcreate;
unsigned long cIndexes;
JET_GRBIT grbit;
JET_TABLEID tableid;
unsigned long cCreated;
} JET_TABLECREATE;
成员
cbStruct
此结构的大小(以字节为单位) (将来的扩展) 。 必须将其设置为 sizeof ( JET_TABLECREATE ) (以字节为单位)。
szTableName
要创建的表的名称。
该名称必须使用满足以下条件:
- 具有小于 JET_cbNameMost 的值,不包括终止 NULL。
- 由以下字符集组成:0 到 9、A 到 Z、a 到 z、 和除感叹号 (!) 、逗号 (、) 、左括号 ([) 和右括号 (]) 以外的所有其他标点,即 ASCII 字符0x20、0x22 0x2d、0x2f 0x5a、0x5c和0x5d 0x7f。
- 不以空格开头。
- 由至少一个非空格字符组成。
szTemplateTableName
从中继承基 DDL (数据定义语言) 的现有表的名称。 使用模板表可以轻松创建具有相同列和索引的许多表。
ulPages
要为表分配的初始数据库页数。 如果在此表中插入了多个行,则指定大于 1 的数字可以减少碎片。
ulDensity
表密度(以百分点为单位)。 数字必须为 0 或介于 20 到 100 的范围内。 传递 0 意味着应使用默认值。 默认值为“80”。
rgcolumncreate
JET_COLUMNCREATE结构的数组,每个结构都对应于要在新表中创建的列。
cColumns
rgcolumncreate 中的JET_COLUMNCREATE元素数。
rgindexcreate
JET_INDEXCREATE 结构的数组,其中每个结构都对应于要在新表中创建的索引。
cIndexes
rgindexcreate 中的JET_INDEXCREATE元素数。
grbit
包含此调用的选项的一组位,其中包括零个或多个以下值。
值 |
含义 |
---|---|
JET_bitTableCreateFixedDDL |
设置JET_bitTableCreateFixedDDL可防止对表 (执行 DDL 操作,例如) 添加或删除列。 |
JET_bitTableCreateTemplateTable |
将JET_bitTableCreateTemplateTable设置为模板表。 然后,新表可以指定此表的名称作为其模板表。 设置JET_bitTableCreateTemplateTable意味着JET_bitTableCreateFixedDDL。 |
JET_bitTableCreateNoFixedVarColumnsInDerivedTables |
已否决。 请勿使用。 |
tableid
如果 API 调用成功,则保存新表 JET_TABLEID 的输出字段。 如果 API 调用失败,则该值未定义。
cCreated
一个输出字段,其中包含在 API 调用成功时创建的对象的计数。 如果 API 调用失败,则该值未定义。
创建的对象计数等于成功创建的列、表和索引的总和。
要求
要求 | 值 |
---|---|
客户端 |
需要 Windows Vista、Windows XP 或 Windows 2000 Professional。 |
服务器 |
需要 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server。 |
标头 |
在 Esent.h 中声明。 |
Unicode |
作为 JET_TABLECREATE_W (Unicode) 和 JET_TABLECREATE_A (ANSI) 实现。 |
另请参阅
JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_TABLEID
JET_INDEXCREATE
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2