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 集合中刪除。 |
❮ 完整的欄位物件參考