Функция JetGetColumnInfo
Применимо к: Windows | Windows Server
Функция JetGetColumnInfo
Функция JetGetColumnInfo извлекает сведения о столбце.
JET_ERR JET_API JetGetColumnInfo(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in const tchar* szTableName,
__in const tchar* szColumnName,
__out void* pvResult,
__in unsigned long cbMax,
__in unsigned long InfoLevel
);
Параметры
sesid
Контекст сеанса базы данных, используемый для вызова API.
dbid
Идентифицирует вместе с szTableName таблицу, содержащую столбец, из которого извлекаются сведения.
szTableName
Определяет вместе с dbid таблицу, содержащую столбец, из которого извлекаются сведения.
szColumnName
Имя столбца, для который извлекается информация.
pvResult
Указатель на буфер, который будет получать сведения. Тип буфера зависит от InfoLevel. Вызывающий объект должен быть настроен для выравнивания буфера соответствующим образом.
cbMax
Размер (в байтах) буфера, передаваемого в pvResult.
InfoLevel
Тип сведений, извлекаемых для столбца, указанного szColumnName. Формат данных, хранящихся в pvResult, зависит от этого параметра. Схему временной таблицы см. в разделе JET_COLUMNLIST.
Эти InfoLevels отличаются следующими отличиями:
JET_ColInfoListSortColumnid отсортирует временную таблицу по columnid.
JET_ColInfoListCompact сжать выходные данные. Дополнительные сведения о компактных выходных данных см. в разделе JET_COLUMNLIST.
С этим параметром доступны следующие параметры.
Значение |
Значение |
---|---|
JET_ColInfo |
JET_ColInfo и JET_ColInfoByColid получают одинаковые сведения. PvResult интерпретируется как JET_COLUMNDEF, и поля структуры JET_COLUMNDEF заполняются соответствующим образом. |
JET_ColInfoBase |
PvResult интерпретируется как JET_COLUMNBASE структура. Это похоже на структуру JET_COLUMNDEF . Если эта функция выполняется успешно, структура заполняется соответствующими значениями. Если эта функция завершается сбоем, структура содержит неопределенные данные. |
JET_ColInfoByColid |
Как и JET_ColInfo, pvResult интерпретируется как JET_COLUMNDEF, за исключением того, что infoLevel указывает, что запрошенный столбец (szColumName) является не именем строкового столбца, а указателем на JET_COLUMNID. |
JET_ColInfoList |
PvResult интерпретируется как JET_COLUMNLIST структура. Если эта функция выполняется успешно, структура заполняется соответствующими значениями. Открывается временная таблица, которая определяется элементом tableidструктуры JET_COLUMNLIST . Таблица должна быть закрыта с помощью JetCloseTable. Если эта функция завершается сбоем, структура содержит неопределенные данные. |
JET_ColInfoListCompact |
То же, что и JET_ColInfoList. |
JET_ColInfoListSortColumnid |
То же, что и JET_ColInfoList; однако результирующая таблица отсортирована по идентификатору столбца, а не по имени столбца. |
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 |
Сортировка возвращаемого списка столбцов по идентификатору столбца (по умолчанию сортировка списка по имени столбца). Это значение может быть логическим или в 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. |
Юникод |
Реализовано как JetGetColumnInfoW (Юникод) и JetGetColumnInfoA (ANSI). |
См. также:
Параметры обработки ошибок
Ошибки подсистемы расширяемого хранилища
JET_COLUMNBASE
JET_COLUMNDEF
JET_COLUMNID
JET_COLUMNLIST
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetGetTableColumnInfo