Структура JET_TABLECREATE

Применимо к: Windows | Windows Server

Структура JET_TABLECREATE

Структура JET_TABLECREATE содержит сведения, необходимые для создания таблицы, заполненной столбцами и индексами в базе данных ESE. Структура JET_TABLECREATE используется JetCreateTableColumnIndex

    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

Начальное количество страниц базы данных, выделяемых для таблицы. Если в эту таблицу вставить много строк, можно уменьшить фрагментацию.

ulDensity

Плотность таблицы в процентных пунктах. Число должно быть либо 0, либо находиться в диапазоне от 20 до 100. Передача 0 означает, что следует использовать значение по умолчанию. Значение по умолчанию — 80.

rgcolumncreate

Массив JET_COLUMNCREATE структур, каждая из которых соответствует столбцу, создаваемому в новой таблице.

cColumns

Количество JET_COLUMNCREATE элементов в rgcolumncreate.

rgindexcreate

Массив JET_INDEXCREATE структур, каждая из которых соответствует индексу, создаваемому в новой таблице.

cIndexes

Количество элементов JET_INDEXCREATE в rgindexcreate.

grbit

Группа битов, содержащих параметры для этого вызова, которые включают ноль или более следующих значений.

Значение

Значение

JET_bitTableCreateFixedDDL

Настройка JET_bitTableCreateFixedDDL предотвращает операции DDL с таблицей (например, добавление или удаление столбцов).

JET_bitTableCreateTemplateTable

Настройка JET_bitTableCreateTemplateTable приводит к тому, что таблица будет шаблонной. Затем новые таблицы могут указать имя этой таблицы в качестве таблицы шаблонов. Настройка JET_bitTableCreateTemplateTable подразумевает JET_bitTableCreateFixedDDL.

JET_bitTableCreateNoFixedVarColumnsInDerivedTables

Не рекомендуется. Не используется.

tableid

Поле вывода, в котором содержится JET_TABLEID новой таблицы в случае успешного вызова API. Если вызов API завершается сбоем, значение не определено.

cCreated

Выходное поле, содержащее количество объектов, созданных при успешном вызове API. Если вызов API завершается сбоем, значение не определено.

Число созданных объектов равно сумме успешно созданных столбцов, таблиц и индексов.

Требования

Требование Значение

Клиент

Требуется Windows Vista, Windows XP или Windows 2000 Professional.

Сервер

Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server.

Верхняя часть

Объявлено в Esent.h.

Юникод

Реализовано в виде JET_TABLECREATE_W (Юникод) и JET_TABLECREATE_A (ANSI).

См. также:

JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_TABLEID
JET_INDEXCREATE
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2