Status 属性 (ADO 字段)

指示 字段 对象的状态。

返回值

返回 FieldStatusEnum 值。 默认值为 adFieldOK

言论

记录字段状态

Record 对象的 Fields 集合中 Field 对象的值进行更改,直到调用对象的 Update 方法。 此时,如果更改字段的值导致错误,则 OLE DB 将引发错误 DB_E_ERRORSOCCURRED(2147749409)。 Fields 集合中任何 Field 对象的 Status 属性将包含 FieldStatusEnum 描述问题原因的值。

为了提高性能,在调用 Update 方法之前,缓存 Record 对象的 Fields 集合的添加和删除,然后在批处理乐观更新中进行更改。 如果未调用 Update 方法,则不会更新服务器。 如果任何更新失败,则返回 OLE DB 访问接口错误(DB_E_ERRORSOCCURRED),Status 属性指示操作和错误状态代码的组合值。 例如,adFieldPendingInsert OR adFieldPermissionDenied。 可以使用每个 字段Status 属性来确定未添加、修改或删除 字段 的原因。

通过 Status 属性报告添加、修改或删除 字段 时遇到的许多问题。 例如,如果用户删除 字段,则会将其标记为要从 Fields 集合中删除。 如果后续的 Update 返回错误,因为用户尝试删除其没有权限的 Field,则 Field 将具有 adFieldPermissionDenied OR adFieldPendingDelete状态。 调用 CancelUpdate 方法可还原原始值,并将 状态 设置为 adFieldOK

同样,Update 方法可能会返回错误,因为添加了新的 字段,并给定了不适当的值。 在这种情况下,新的 Field 将位于 Fields 集合中,并且状态为 adFieldPendingInsert,并且可能 adFieldCantCreate(具体取决于提供程序)。 可以为新 字段 提供适当的值,并再次调用 更新

记录集字段状态

在调用对象的 Update 方法之前,缓存 Recordset 的 Fields 集合中 Field 对象的值。 此时,如果更改字段的值导致错误,则 OLE DB 将引发错误 DB_E_ERRORSOCCURRED(2147749409)。 Fields 集合中任何 Field 对象的 Status 属性将包含 FieldStatusEnum 描述问题原因的值。

适用于

Field 对象

另请参阅

Status 属性示例 (字段) (VB)
Status 属性示例 (VC++)