Функция 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

Эта ошибка может быть возвращена, если:

  • Было присвоено неправильное имя szTableName .

  • Для szColumnName было присвоено неправильное имя.

JET_errInvalidParameter

Эта ошибка может быть возвращена, если:

  • Указан недопустимый InfoLevel .

  • Передано значение NULL szTableName .

  • Буфер слишком мал.

Комментарии

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