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


Структура JET_RETRIEVECOLUMN

Применимо к: Windows | Windows Server

Структура JET_RETRIEVECOLUMN

Структура JET_RETRIEVECOLUMN содержит входные и выходные параметры для JetRetrieveColumns. Поля в структуре описывают, какое значение столбца следует извлечь, как его получить и где сохранить результаты.

    typedef struct {
      JET_COLUMNID columnid;
      void* pvData;
      unsigned long cbData;
      unsigned long cbActual;
      JET_GRBIT grbit;
      unsigned long ibLongValue;
      unsigned long itagSequence;
      JET_COLUMNID columnidNextTagged;
      JET_ERR err;
    } JET_RETRIEVECOLUMN;

Элементы

columnid

Идентификатор извлекаемого столбца.

pvData

Указатель на начало хранения данных, полученных из значения столбца.

cbData

Размер выделения, начинающегося с pvData, в байтах. Операция извлечения столбца не будет хранить больше данных в pvData , чем cbData.

cbActual

Размер (в байтах) данных, извлекаемых операцией извлечения столбца.

grbit

Группа битов, содержащих параметры для извлечения столбцов, которые включают ноль или более следующих значений.

Значение

Значение

JET_bitRetrieveCopy

Извлекает измененное значение вместо исходного. Если значение не было изменено, извлекается исходное значение. Таким образом, значение, которое еще не было вставлено или не обновлено, можно получить при вставке или обновлении записи.

JET_bitRetrieveFromIndex

По возможности извлекает значения столбцов из индекса без доступа к записи. Таким образом, можно избежать ненужной загрузки записей, если необходимые данные доступны из самих записей индекса. В случаях, когда исходное значение столбца не удается получить из индекса из-за необратимых преобразований или усечения данных, доступ к записи будет осуществляться, а данные извлекаются в обычном режиме. Это параметр производительности, который следует указывать только в том случае, если вероятно, что значение столбца можно извлечь из индекса. Этот параметр не следует указывать, если текущий индекс является кластеризованным, так как записи индекса для кластеризованного или первичного индекса являются записями. Этот бит нельзя задать, если также задано JET_bitRetrieveFromPrimaryBookmark.

JET_bitRetrieveFromPrimaryBookmark

Извлекает значения столбцов из закладки индекса и может отличаться от значения индекса, если столбец отображается как в основном, так и в текущем индексе. Этот параметр не следует указывать, если текущий индекс является кластеризованным или первичным индексом. Этот бит нельзя задать, если также задано JET_bitRetrieveFromIndex.

JET_bitRetrieveTag

Извлекает порядковый номер значения столбца с несколькими значениями в pretinfo-itagSequence>. Поле itagSequence часто используется в качестве входных данных для получения значений столбцов с несколькими значениями из записи. Однако при получении значений из индекса также можно связать запись индекса с определенным порядковым номером и получить этот порядковый номер. Получение порядкового номера может быть дорогостоящей операцией, и ее следует выполнять только при необходимости.

JET_ bitRetrieveNull

Извлекает значения NULL в столбце с несколькими значениями. Если этот параметр не указан, значения NULL столбца с несколькими значениями будут автоматически пропущены.

JET_bitRetrieveIgnoreDefault

Вызывает возврат значения NULL, если запрошенный порядковый номер равен 1 и для столбца в записи отсутствуют заданные значения. Этот параметр влияет только на многозначные столбцы.

JET_bitRetrieveLongId

Этот флаг предназначен только для внутреннего использования и не предназначен для использования в приложении.

JET_bitRetrieveLongValueRefCount

Этот флаг предназначен только для внутреннего использования и не предназначен для использования в приложении.

ibLongValue

Смещение до первого байта, извлекаемого из столбца типа JET_coltypLongBinary или JET_coltypLongText.

itagSequence

Порядковый номер значений, содержащихся в столбце с несколькими значениями. itagSequence здесь, в JET_RETRIEVECOLUMN может иметь значение 0. Если значение itagSequence равно 0, то вместо данных столбца с несколькими значениями возвращается количество экземпляров столбца. Значение itagSequence, равное 0, нельзя использовать в вызовах JetRetrieveColumn.

columnidNextTagged

Columnid столбца с тегами, многозначного или разреженного столбца, если все столбцы с тегами извлекаются путем передачи 0 в качестве columnidв JetRetrieveColumn.

Err

Коды ошибок и предупреждения, возвращаемые при извлечении столбца.

Требования

Требование Значение

Клиент

Требуется Windows Vista, Windows XP или Windows 2000 Профессиональная.

Сервер

Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server.

Верхняя часть

Объявлено в Esent.h.

См. также:

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JET_RETRIEVECOLUMN
JetRetrieveColumn
JetRetrieveColumns