Структура JET_COLUMNBASE
Применимо к: Windows | Windows Server
Структура JET_COLUMNBASE
Структура JET_COLUMNBASE описывает параметры базового столбца. Функции JetGetColumnInfo и JetGetTableColumnInfo используют структуру JET_COLUMNBASE .
typedef struct {
unsigned long cbStruct;
JET_COLUMNID columnid;
JET_COLTYP coltyp;
unsigned short wCountry;
unsigned short langid;
unsigned short cp;
unsigned short wFiller;
unsigned long cbMax;
JET_GRBIT grbit;
tchar szBaseTableName[256];
tchar szBaseColumnName[256];
} JET_COLUMNBASE;
Элементы
cbStruct
Размер этой структуры в байтах. Задайте для cbStruct значение sizeof( JET_COLUMNBASE ).
columnid
Зарезервировано. Задайте для columnid значение 0 (ноль).
coltyp
Тип столбца (например, текстовый, двоичный или числовой). Дополнительные сведения см. в разделе JET_COLTYP.
wCountry
Зарезервировано. Задайте значение 0 (ноль).
langid
Зарезервировано. Задайте значение 0 (ноль).
cp
Кодовая страница для столбца. Единственными допустимыми значениями текстовых столбцов являются английский (1252) и Юникод (1200). Нулевое значение означает, что будет использоваться значение по умолчанию (английский, 1252). Если столбец не является текстовым, для кодовой страницы автоматически устанавливается нулевое значение.
wFiller
Зарезервировано. Задайте значение 0 (ноль).
cbMax
Максимальная длина столбца переменной длины в байтах или фактическая длина столбца фиксированной длины в байтах.
grbit
Параметры столбца, включая ноль или более следующих значений.
Значение |
Значение |
---|---|
JET_bitColumnFixed |
Столбец является фиксированным и занимает один и тот же объем пространства в строке независимо от объема содержащихся в нем данных. JET_bitColumnFixed нельзя сочетать с JET_bitColumnTagged и использовать, если для элемента coltyp задано значение JET_coltypLongText или JET_coltypLongBinary. |
JET_bitColumnTagged |
Столбец помечен тегом и занимает место в базе данных, только если он содержит данные. JET_bitColumnTagged нельзя сочетать с JET_bitColumnFixed, JET_bitColumnVersion или JET_bitColumnEscrowUpdate. |
JET_bitColumnNotNULL |
Для столбца не должно быть задано значение NULL . JET_bitColumnNotNULL нельзя сочетать с JET_bitColumnUserDefinedDefault. |
JET_bitColumnVersion |
Столбец — это столбец версии, указывающий версию строки. Значение этого столбца начинается с нуля и автоматически увеличивается для каждого обновления строки. JET_bitColumnVersion можно использовать только в том случае, если для элемента coltyp задано значение JET_coltypLong и его нельзя объединить с JET_bitColumnAutoincrement, JET_bitColumnEscrowUpdate, JET_bitColumnTagged или JET_bitColumnUserDefinedDefault. |
JET_bitColumnAutoincrement |
Столбец автоматически увеличивается. Число является увеличивающимся числом и гарантированно будет уникальным в пределах таблицы. Однако числа могут быть не последовательными. Например, если в таблицу вставляется пять строк, автоматически увеличенный столбец может содержать значения { 1, 2, 6, 7, 8 }. JET_bitColumnAutoincrement можно использовать только в том случае, если для элемента coltyp задано значение JET_coltypLong или JET_coltypCurrency и его нельзя объединить с JET_bitColumnEscrowUpdate, JET_bitColumnUserDefinedDefault или JET_bitColumnVersion. Windows 2000: JET_bitColumnVersion можно использовать только в том случае, если для элемента coltyp задано значение JET_coltypLong. |
JET_bitColumnUpdatable |
Допустимо только для вызовов JetGetColumnInfo. JET_bitColumnUpdatable нельзя сочетать с JET_bitColumnUserDefinedDefault. |
JET_bitColumnTTKey |
Допустимо только при вызовах JetOpenTable. |
JET_bitColumnTTDescending |
Допустимо только для вызовов JetOpenTempTable. |
JET_bitColumnMultiValued |
Столбец может быть многозначным. Столбец с несколькими значениями может иметь ноль, одно или несколько связанных значений. Различные значения в столбце с несколькими значениями идентифицируются числом в элементе itagSequence различных структур, например JET_RETINFO, JET_SETINFO, JET_SETCOLUMN, JET_RETRIEVECOLUMNJET_ENUMCOLUMNVALUE. Столбцы с несколькими значениями должны быть помечены столбцами; то есть они не могут быть столбцами фиксированной или переменной длины. |
JET_bitColumnEscrowUpdate |
Указывает, что столбец является столбцом обновления депонирования, который может обновляться одновременно различными сеансами с помощью JetEscrowUpdate и будет иметь согласованность транзакций.
|
JET_bitColumnUnversioned |
Столбец создается без номера версии. Это означает, что другие транзакции, пытающиеся добавить столбец с тем же именем, завершатся ошибкой. JET_bitColumnUnversioned используется только с JetAddColumn. Его нельзя использовать в транзакции. |
JET_bitColumnMaybeNull |
Зарезервировано для последующего использования. JET_bitColumnMaybeNull нельзя сочетать с JET_bitColumnUserDefinedDefault. |
JET_bitColumnFinalize |
Не используйте. Вместо этого используйте JET_bitColumnDeleteOnZero. Столбец можно завершить. Столбец, который можно завершить, — это столбец обновления депонирования, который приводит к удалению строки, когда столбец достигает нуля. В будущих версиях вместо этого может вызываться функция обратного вызова (см . JET_CALLBACK). Столбец, который можно завершить, должен быть столбцом обновления депонирования. JET_bitColumnFinalize нельзя сочетать с JET_bitColumnUserDefinedDefault. |
JET_bitColumnUserDefinedDefault |
Значение по умолчанию для столбца будет предоставлено функцией обратного вызова. См . JET_CALLBACK. Столбец, имеющий определяемое пользователем значение по умолчанию, должен быть столбцом с тегами. Если указан JET_bitColumnUserDefinedDefault, pvDefault должен указывать на структуру JET_USERDEFINEDDEFAULT , а для параметра cbDefault должно быть задано значение sizeof( JET_USERDEFINEDDEFAULT ). JET_bitColumnUserDefinedDefault нельзя объединять с JET_bitColumnFixed, JET_bitColumnNotNULL, JET_bitColumnVersion, JET_bitColumnAutoincrement, JET_bitColumnUpdatable, JET_bitColumnEscrowUpdate, JET_bitColumnFinalize, JET_bitColumnDeleteOnZero или JET_bitColumnMaybeNull. |
JET_bitColumnDeleteOnZero |
Столбец является столбцом депонирования обновления, и когда он достигнет нуля, запись будет удалена. Для удаления столбцов с нулевым значением часто используется поле счетчика ссылок. Когда количество ссылок падает до нуля, запись удаляется. Столбец delete-on-zero должен быть столбцом обновления депонирования. JET_bitColumnDeleteOnZero заменяет JET_bitColumnFinalize. JET_bitColumnDeleteOnZero нельзя объединять с JET_bitColumnFinalize или JET_bitColumnUserDefinedDefault, а также использовать с определяемыми пользователем столбцами по умолчанию. |
szBaseTableName
Таблица, от которой текущая таблица наследует DDL.
szBaseColumnName
Имя столбца в таблице шаблонов.
Комментарии
JET_COLUMNBASE содержит те же сведения, что и JET_COLUMNDEF, но добавляет строковые поля для описания базовой таблицы (если использовался иерархический DDL).
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista, Windows XP или Windows 2000 Professional. |
Сервер |
Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server. |
Верхняя часть |
Объявлено в Esent.h. |
Юникод |
Реализовано как JET_COLUMNBASE_W (Юникод) и JET_COLUMNBASE_A (ANSI). |
См. также:
JET_CALLBACK
JET_COLTYP
JET_COLUMNDEF
JET_COLUMNID
JET_GRBIT
JET_SESID
JET_TABLEID
JET_USERDEFINEDDEFAULT
JetGetColumnInfo
JetGetTableColumnInfo
JetRenameColumn