Функция JetGetTableColumnInfo
Применимо к: Windows | Windows Server
Функция JetGetTableColumnInfo
Функция JetGetTableColumnInfo извлекает сведения о столбце таблицы.
JET_ERR JET_API JetGetTableColumnInfo(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in const tchar* szColumnName,
__out void* pvResult,
__in unsigned long cbMax,
__in unsigned long InfoLevel
);
Параметры
sesid
Контекст сеанса базы данных, используемый для вызова API.
tableid
Таблица, содержащая столбец для получения сведений.
szColumnName
Имя столбца для получения сведений.
pvResult
Указатель на буфер, который будет получать сведения. Тип буфера зависит от InfoLevel. Вызывающий объект должен быть настроен для соответствующего выравнивания буфера.
cbMax
Размер (в байтах) буфера, переданного в pvResult.
InfoLevel
Тип сведений, которые будут получены для столбца, указанного szColumnName. Формат данных, хранящихся в pvResult , зависит от InfoLevel. Схему временной таблицы см. в разделе JET_COLUMNLIST.
JET_ColInfoListSortColumnid отсортирует временную таблицу по columnid.
JET_ColInfoListCompact сжимает выходные данные. Дополнительные сведения о компактных выходных данных см. в разделе JET_COLUMNLIST.
Для этого параметра можно задать следующие параметры:
Значение |
Значение |
---|---|
JET_ColInfo |
pvResult интерпретируется как JET_COLUMNDEF, а поля структуры JET_COLUMNDEF заполняются соответствующим образом. JET_ColInfo и JET_ColInfoByColid получают одинаковые сведения. |
JET_ColInfoBase |
PvResult интерпретируется как JET_COLUMNBASE структура. Это похоже на структуру JET_COLUMNDEF . Если эта функция выполняется успешно, структура заполняется соответствующими значениями. Если эта функция завершается сбоем, структура содержит неопределенные данные. |
JET_ColInfoByColid |
pvResult интерпретируется как JET_COLUMNDEF, за исключением того, что infoLevel указывает, что запрошенный столбец (szColumName) является не строковым именем столбца, а указателем на JET_COLUMNID. JET_ColInfo и JET_ColInfoByColid получают одинаковые сведения. |
JET_ColInfoList |
PvResult интерпретируется как JET_COLUMNLIST структура. Если эта функция выполняется успешно, структура заполняется соответствующими значениями. Временная таблица открывается и определяется элементом tableidJET_COLUMNLIST. Таблица должна быть закрыта с помощью JetCloseTable. Если эта функция завершается сбоем, структура содержит неопределенные данные. |
JET_ColInfoListCompact |
PvResult интерпретируется как JET_COLUMNLIST структура. Если эта функция выполняется успешно, структура заполняется соответствующими значениями. Временная таблица открывается и определяется элементом tableidJET_COLUMNLIST. Таблица должна быть закрыта с помощью JetCloseTable. Если эта функция завершается сбоем, структура содержит неопределенные данные. |
JET_ColInfoListSortColumnid |
Аналогично JET_ColInfoList, однако результирующая таблица отсортирована по columnid, а не по имени столбца. |
JET_ColInfoSysTabCursor |
JET_ColInfoSysTabCursor является нерекомендуемым, и его использование вернет JET_errFeatureNotAvailable. |
JET_ColInfoBaseByColId |
Как и JET_ColInfoBase, pvResult интерпретируется как JET_COLUMNBASE, за исключением того, что infoLevel указывает, что запрошенный столбец (szColumName) не является именем строкового столбца, а указателем на JET_COLUMNID. Windows Vista: Это доступно в Windows Vista и более поздних версиях. |
JET_ColInfoGrbitNonDerivedColumnsOnly |
Возвращаются только непроизводные столбцы (если таблица является производной от шаблона). Это значение может быть логическим или в infoLevel, если базовый InfoLevel JET_ColInfoList. Windows Vista: Это значение появилось в Windows Vista. |
JET_ColInfoGrbitMinimalInfo |
Возвращает только имя столбца и columnid каждого столбца. Это значение может быть логическим или в infoLevel, если базовый InfoLevel JET_ColInfoList. Windows Vista: Это значение появилось в Windows Vista. |
JET_ColInfoGrbitSortByColumnid |
Сортировка возвращаемого списка столбцов по columnid (по умолчанию выполняется сортировка списка по имени столбца). Это значение может быть логическим или в infoLevel, если базовый InfoLevel JET_ColInfoList. Windows Vista: Это значение появилось в Windows Vista. |
Возвращаемое значение
Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделах Ошибки подсистемы расширяемого хранилища и Параметры обработки ошибок.
Код возврата |
Описание |
---|---|
JET_errSuccess |
Операция выполнена успешно. |
JET_errColumnNotFound |
Столбец с именем szColumnName не найден в таблице. |
JET_errFeatureNotAvailable |
Указан недопустимый InfoLevel . |
JET_errInvalidName |
Эта ошибка может быть возвращена, если:
|
JET_errInvalidParameter |
Эта ошибка может быть возвращена, если:
|
Комментарии
JetGetTableColumnInfo и JetGetColumnInfo извлекают сведения о столбце. Разница между ними заключается в том, как определяется таблица:
JetGetTableColumnInfo определяет таблицу по tableid.
JetGetColumnInfo идентифицирует таблицу по сочетанию dbid и szTableName .
При получении данных с помощью JET_ColInfoList, JET_ColInfoListSortColumnid или JET_ColInfoListCompact открывается временная таблица. Временная таблица содержит данные, а структура JET_COLUMNLIST содержит достаточные сведения для обхода временной таблицы. Временная таблица должна быть закрыта с помощью JetCloseTable.
Требования
Требование | Значение |
---|---|
Клиент |
Требуется Windows Vista, Windows XP или Windows 2000 Professional. |
Сервер |
Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server. |
Верхняя часть |
Объявлено в Esent.h. |
Библиотека |
Используйте ESENT.lib. |
DLL |
Требуется ESENT.dll. |
Юникод |
Реализовано как JetGetTableColumnInfoW (Юникод) и JetGetTableColumnInfoA (ANSI). |
См. также:
Ошибки подсистемы расширяемого хранилища
Параметры обработки ошибок
JET_COLUMNBASE
JET_COLUMNDEF
JET_COLUMNID
JET_COLUMNLIST
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetGetColumnInfo
JetGetTableColumnInfo