Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
применимо к: Windows | Windows Server
Функция JetSetColumns
Функция JetSetColumns аналогична поведению JetSetColumn , но позволяет приложению задать несколько значений столбцов в одной операции. Массив структур JET_SETCOLUMN используется для описания набора заданных значений столбцов и описания входных буферов для каждого значения столбца.
JET_ERR JET_API JetSetColumns(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in_out_opt JET_SETCOLUMN* psetcolumn,
__in unsigned long csetcolumn
);
Параметры
Sesid
Сеанс, используемый для этого вызова.
табличный
Курсор, используемый для этого вызова.
psetcolumn
Указатель на массив одной или нескольких JET_SETCOLUMN структур. Каждая структура содержит описания значений столбцов, которые нужно задать и откуда получить данные столбца для задания.
csetcolumn
Число JET_SETCOLUMN структур в массиве, заданное psetcolumn.
Возвращаемое значение
Эта функция возвращает тип данных JET_ERR с одним из следующих кодов возврата. Дополнительные сведения о возможных ошибках ESE см. в разделе Об ошибках обработчика хранилища и параметрахобработки ошибок.
Код возврата |
Описание |
|---|---|
JET_errBadColumnId |
Идентификатор столбца, указанный вне юридических ограничений идентификатора столбца. |
JET_errClientRequestToStopJetService |
Невозможно завершить операцию, так как все действия в экземпляре, связанном с сеансом, прекратились в результате вызова JetStopService. |
JET_errColumnIllegalNull |
То же, что и JET_errNullInvalid. |
JET_errColumnNotFound |
Столбец, описанный заданным столбцом , не существует в таблице. |
JET_errColumnNotUpdatable |
Предпринята недопустимая попытка обновить длинное значение во время операции удаления исходной копии копирования. |
JET_errColumnTooBig |
Данные значения столбца, заданные в входном буфере, превышают ограничение размера, естественное для столбца фиксированной длины или настроенного для текста фиксированной длины или двоичных столбцов. Эта ошибка также возвращается при передаче более 1024 байтов данных для длинного столбца и установке флага JET_bitSetIntrinsicLV. |
JET_errInstanceUnavailable |
Невозможно выполнить операцию, так как экземпляр, связанный с сеансом, столкнулся с неустранимой ошибкой, требующей отмены доступа ко всем данным для защиты целостности этих данных. Эта ошибка будет возвращена только windows XP и более поздними выпусками. |
JET_errInvalidBufferSize |
Заданный размер данных значения столбца не соответствует естественному типу данных фиксированной длины. |
JET_errInvalidColumnType |
Была предпринята попытка обновить столбец автоматического увеличения либо во время операции вставки или обновления, либо обновить столбец версии во время операции замены. |
JET_errInvalidgrbit |
Предоставленные параметры неизвестны или недопустимые сочетания известных параметров бита. |
JET_errInvalidParameter |
Указанный объект psetinfo-cbStruct> не является допустимым размером для структуры JET_SETINFO . |
JET_errMultiValuedDuplicate |
Операция набора столбцов попыталась создать повторяющееся значение и указала либо JET_bitSetUniqueMultiValues, либо JET_bitSetUniqueNormalizedMultiValues. |
JET_errNotInitialized |
Невозможно завершить операцию, так как экземпляр, связанный с сеансом, еще не инициализирован. |
JET_errNotInTransaction |
Предпринята неправлая попытка обновить длинное значение столбца, когда вызывающий сеанс не был в транзакции. |
JET_errNullInvalid |
Предпринята неправлая попытка задать для столбца, отличного от NULL. |
JET_errRecordTooBig |
Значение столбца не может быть задано в входном буфере, так как это привело бы к превышению размера страницы, связанного с размером страницы. Столбцы типа JET_coltypLongText или JET_coltypLongBinary могут храниться отдельно от оставшихся данных записи. Однако другие столбцы должны храниться с записью и могут привести к превышению ограничения размера записи. Даже длинные столбцы требуют 5-байтов пространства в записи в качестве компоновки, и это также может привести к JET_errRecordTooBig возвращаемым. |
JET_errRestoreInProgress |
Невозможно выполнить операцию, так как операция восстановления выполняется в экземпляре, связанном с сеансом. |
JET_errSessionSharingViolation |
Один и тот же сеанс нельзя использовать для нескольких потоков одновременно. Эта ошибка будет возвращена только windows XP и более поздними выпусками. |
JET_errTermInProgress |
Невозможно завершить операцию, так как экземпляр, связанный с сеансом, завершается. |
JET_errUpdateNotPrepared |
Курсор в настоящее время не входит в процесс вставки новой записи или обновления существующей записи. |
JET_wrnColumnMaxTruncated |
Значение столбца в входном буфере превысило максимальную настроенную длину для столбца переменной длины и усечено. |
При успешном выполнении для каждого столбца, описанного в psetcolumns, нужной части значения столбца устанавливается с данными, скопированными из входного буфера. Набор данных столбца может быть усечен, если он превысил максимальную длину, указанную для столбца переменной длины.
При сбое расположение курсора остается неизменным, и данные о значении столбца не обновляются в буфере копирования.
Замечания
Если любая отдельная операция столбца набора возвращает ошибку, то вся операция JetSetColumns возвращает ошибку. Предупреждения, как правило, возвращаются в psetcolumns-error>, а не в коде возврата из этой функции. Однако если последний набор столбцов содержит предупреждение, то это предупреждение будет возвращено из самого JetSetColumns .
Требования
| Требование | Ценность |
|---|---|
Клиент |
Требуется Windows Vista, Windows XP или Windows 2000 Профессиональный. |
Сервер |
Требуется Windows Server 2008, Windows Server 2003 или Windows 2000 Server. |
Заголовок |
Объявлен в Esent.h. |
Библиотека |
Используйте ESENT.lib. |
Библиотека dll |
Требуется ESENT.dll. |
См. также
JET_COLTYP
JET_ERR
JET_SESID
JET_TABLEID
JET_SETCOLUMN
JetRetrieveColumns
JetSetColumn