ADO Status 属性
❮ 完整的字段对象参考
Status 属性返回一个 FieldStatusEnum 值,该值指示 Field 对象的当前状态。默认值为 adFieldOK。
如果任何更新失败,则会返回错误,并且 Status 属性指示操作状态代码和错误状态代码的组合值。可以为每个 Field 使用 Status 属性来确定 Field 未被添加、修改或删除的原因。
在此属性中报告添加、修改或删除 Field 时遇到的问题。例如,如果用户删除一个 Field,它将在 Fields 集合中被标记为待删除。如果 Update 调用因用户尝试删除其没有权限的 Field 而返回错误,则该 Field 的 Status 将为 adFieldPermissionDenied 或 adFieldPendingDelete。
语法
objfield.Status
示例
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs = Server.CreateObject("ADODB.Recordset")
rs.open "Select * from orders", conn
response.write(rs.Fields(0).Status)
rs.Close
conn.close
%>
FieldStatusEnum 值
常量 | 值 | 描述 |
---|---|---|
adFieldOK | 0 | 默认值。成功添加或删除了字段。 |
adFieldCantConvertValue | 2 | 在不丢失数据的情况下,无法检索或存储字段。 |
adFieldIsNull | 3 | 提供程序返回了 null 值。 |
adFieldTruncated | 4 | 从数据源读取时,可变长度数据被截断。 |
adFieldSignMismatch | 5 | 提供程序返回的数据值已签名,但 ADO 字段值的 ADO 数据类型是无符号的。 |
adFieldDataOverflow | 6 | 从提供程序返回的数据溢出了字段的数据类型。 |
adFieldCantCreate | 7 | 由于提供程序超出了限制,无法添加该字段。 |
adFieldUnavailable | 8 | 从数据源读取时,提供程序无法确定该值。 |
adFieldPermissionDenied | 9 | 由于字段是只读的,因此无法修改该字段。 |
adFieldIntegrityViolation | 10 | 由于该字段是计算实体或派生实体,因此无法修改该字段。 |
adFieldSchemaViolation | 11 | 该值违反了数据源对该字段的模式约束。 |
adFieldBadStatus | 12 | ADO 向 OLE DB 提供程序发送了无效的状态值。 |
adFieldDefault | 13 | 设置数据时,使用了该字段的默认值。 |
adFieldIgnore | 15 | 在源中设置数据值时,跳过了此字段。 |
adFieldDoesNotExist | 16 | 字段不存在。 |
adFieldInvalidURL | 17 | 数据源 URL 包含无效字符。 |
adFieldResourceLocked | 18 | 由于数据源被锁定,提供程序无法执行操作。 |
adFieldResourceExists | 19 | 提供程序无法执行操作,因为目标 URL 上已存在一个对象,并且它无法覆盖该对象。 |
adFieldCannotComplete | 20 | Source 指定的 URL 的服务器无法完成操作。 |
adFieldVolumeNotFound | 21 | 提供程序无法找到 URL 指示的存储卷。 |
adFieldOutOfSpace | 22 | 提供程序无法获得足够的存储空间来完成移动或复制操作。 |
adFieldCannotDeleteSource | 23 | 在移动操作期间,将一棵树或子树移动到新位置,但无法删除源。 |
adFieldReadOnly | 24 | 数据源中的字段是只读的。 |
adFieldResourceOutOfScope | 25 | 源 URL 或目标 URL 超出了当前记录的范围。 |
adFieldAlreadyExists | 26 | 指定的字段已存在。 |
adFieldPendingInsert | 0x10000 | Append 操作导致状态被设置。调用 Update 方法后,已将该字段标记为添加到 Fields 集合中。 |
adFieldPendingDelete | 0x20000 | Delete 操作导致状态被设置。调用 Update 方法后,已将该字段标记为从 Fields 集合中删除。 |
adFieldPendingChange | 0x40000 | 该字段已被删除然后重新添加,或者先前状态为 adFieldOK 的字段的值已更改。 |
adFieldPendingUnknown | 0x80000 | 提供程序无法确定是哪个操作导致字段状态被设置。 |
adFieldPendingUnknownDelete | 0x100000 | 提供程序无法确定是哪个操作导致字段状态被设置,并且该字段将在调用 Update 方法后从 Fields 集合中删除。 |
❮ 完整的字段对象参考