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