Поделиться через


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

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

  • Было присвоено неверное имя для 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.

Юникод

Реализовано как JetGetColumnInfoW (Юникод) и JetGetColumnInfoA (ANSI).

См. также:

Параметры обработки ошибок
Ошибки подсистемы расширяемого хранилища
JET_COLUMNBASE
JET_COLUMNDEF
JET_COLUMNID
JET_COLUMNLIST
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetGetTableColumnInfo