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


Свойство Status (объект Field ADO)

Указывает состояние объекта Field .

Возвращаемое значение

Возвращает значение FieldStatusEnum . Значение по умолчанию — adFieldOK.

Комментарии

Состояние поля записи

Изменения значения объекта Field в коллекции Fields объекта Record кэшируются до вызова метода Update объекта. На этом этапе, если изменение значения поля вызвало ошибку, OLE DB вызывает ошибку DB_E_ERRORSOCCURRED (2147749409). Свойство Status любого из объектов Field в коллекции Fields , вызвавших ошибку, будет содержать значение из FieldStatusEnum , описывающее причину проблемы.

Чтобы повысить производительность, добавления и удаления в коллекции Fields объекта Record кэшируются до вызова метода Update , а затем изменения вносятся в пакетное оптимистическое обновление. Если метод Update не вызывается, сервер не обновляется. Если какие-либо обновления завершаются сбоем, возвращается ошибка поставщика OLE DB (DB_E_ERRORSOCCURRED), а свойство Status указывает объединенные значения операции и кода состояния ошибки. Например, adFieldPendingInsert ИЛИ adFieldPermissionDenied. Свойство Status для каждого поля можно использовать, чтобы определить, почему поле не было добавлено, изменено или удалено.

Многие типы проблем, возникающих при добавлении, изменении или удалении поля , сообщаются через свойство Status . Например, если пользователь удаляет поле, оно помечается для удаления из коллекции Fields . Если последующее обновление возвращает ошибку, так как пользователь пытался удалить поле , для которого у него нет разрешения, поле будет иметь состояниеadFieldPermissionDenied ИЛИ adFieldPendingDelete. Вызов метода CancelUpdate восстанавливает исходные значения и задает для параметра Состояниезначение adFieldOK.

Аналогичным образом метод Update может возвращать ошибку, так как новое поле было добавлено и присвоено недопустимое значение. В этом случае новое поле будет находиться в коллекции Fields и иметь состояние adFieldPendingInsert и, возможно, adFieldCantCreate (в зависимости от поставщика). Вы можете указать соответствующее значение для нового поля и снова вызвать Update .

Состояние поля набора записей

Изменения значения объекта Field в коллекции Fields любого набора записей кэшируются до вызова метода Update объекта. На этом этапе, если изменение значения поля вызвало ошибку, OLE DB вызывает ошибку DB_E_ERRORSOCCURRED (2147749409). Свойство Status любого из объектов Field в коллекции Fields , вызвавших ошибку, будет содержать значение из FieldStatusEnum , описывающее причину проблемы.

Применение

Объект Field

См. также:

Пример свойства Status (объект Field) (Visual Basic)
Пример свойства Status (Visual C++)