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


Структура JET_SETCOLUMN

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

Структура JET_SETCOLUMN

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

    typedef struct {
      JET_COLUMNID columnid;
      const void* pvData;
      unsigned long cbData;
      JET_GRBIT grbit;
      unsigned long ibLongValue;
      unsigned long itagSequence;
      JET_ERR err;
    } JET_SETCOLUMN;

Элементы

columnid

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

pvData

Указатель на данные для установки в столбец.

cbData

Размер выделения в байтах, начиная с pvData в байтах.

grbit

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

Значение

Значение

JET_bitSetAppendLV

Добавляет данные в столбец типа JET_coltypLongText или JET_coltypLongBinary. Такого же поведения можно достичь, определив размер существующего длинного значения и указав ibLongValue в psetinfo. Однако использовать этот grbit проще, так как знать размер существующего значения столбца не требуется.

JET_bitSetOverwriteLV

Заменяет существующее значение long новыми данными. Если этот параметр используется, это так, как если бы существующее значение long было задано в 0 (ноль) длины перед установкой новых данных.

JET_bitSetSizeLV

Интерпретирует входной буфер как целочисленное число байтов, устанавливаемое в качестве длины длинного значения, описанного заданным columnid, и , если указано, порядковый номер в psetinfo-itagSequence>. Если заданный размер больше существующего значения столбца, столбец будет расширен на 0. Если размер меньше существующего значения столбца, значение будет усечено.

JET_bitSetZeroLength

Задает значение нулевой длины. Как правило, значение столбца равно NULL путем передачи cbMax 0. Однако для некоторых типов, таких как JET_coltypText, значение столбца может быть длиной 0, а не NULL, и этот параметр используется для различения значений NULL и 0 длины.

JET_bitSetSeparateLV

Принудительное хранение длинного значения столбцов типа JET_coltypLongText или JET_coltypLongBinary отдельно от остальных данных записи. Обычно это происходит, когда размер длинного значения не позволяет сохранить его с оставшимися данными записи. Однако этот параметр можно использовать для принудительного хранения значения long отдельно. Обратите внимание, что длинные значения размером в четыре байта или меньше не могут быть разделены. В таких случаях параметр игнорируется.

JET_bitSetUniqueMultiValues

Обеспечивает применение различных значений в столбце с несколькими значениями. Этот параметр сравнивает данные исходного столбца без каких-либо преобразований с другими существующими значениями столбцов, и при обнаружении дубликата возвращается ошибка. Если этот параметр задан, JET_bitSetAppendLv, JET_bitSetOverwriteLV и JET_bitSetSizeLV также нельзя.

JET_bitSetUniqueNormalizedMultiValues

Обеспечивает применение различных значений в столбце с несколькими значениями. Этот параметр сравнивает нормализованное преобразование ключей данных столбца с другими аналогичным образом преобразованными существующими значениями столбцов, и при обнаружении дубликата возвращается ошибка. Если этот параметр задан, JET_bitSetAppendLv, JET_bitSetOverwriteLV и JET_bitSetSizeLV также нельзя.

JET_bitSetRevertToDefaultValue

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

JET_bitSetIntrinsicLV

Сохраняет длинное значение, столбцы типа JET_coltypLongText или JET_coltypeLongBinary, хранящиеся вместе с оставшимися данными записи, если это возможно. Как правило, длинные столбцы хранятся отдельно, если их длина превышает 1024 байта или в противном случае длина записи превысит ограничение размера страницы. Однако если этот параметр задан, операция задания столбца завершится ошибкой JET_errColumnTooBig вместо того, чтобы хранить это значение столбца отдельно от оставшихся данных записи.

ibLongValue

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

itagSequence

Описывает порядковый номер значения в столбце с несколькими значениями. Значение itagSequence 0 указывает, что набор значений столбца должен быть добавлен в качестве нового экземпляра столбца с несколькими значениями.

Err

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

Требования

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

Клиент

Требуется Windows Vista, Windows XP или Windows 2000 Professional.

Сервер

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

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

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

См. также:

JET_COLTYP
JET_COLUMNID
JET_ERR
JET_GRBIT
JetSetColumns