ADO Status 屬性
定義和用法
Status 屬性可返回一個 FieldStatusEnum 值,該值指示 Field 對象的狀態(tài)。默認(rèn)值是 adFieldOK。
如果更新失敗,將返回錯誤,并且 Status 屬性會指示該操作的組合值和錯誤狀態(tài)代碼。每個 Field 的 Status 屬性均可用于確定該 Field 未被添加、修改或刪除的原因。
添加、修改或刪除某個 Field 的問題會通過此屬性進行報告。舉例,如果用戶刪除一個字段,它將在 Fields 集合中被標(biāo)記為刪除。如果由于用戶試圖刪除其沒有權(quán)限刪除的 Field,使得 Update 調(diào)用返回錯誤,那么該字段的 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 | 默認(rèn)。指示已成功添加或刪除該字段。 |
adFieldCantConvertValue | 2 | 指示無法在不損失數(shù)據(jù)的情況下檢索或存儲該字段。 |
adFieldIsNull | 3 | 指示提供者返回了 Null 值。 |
adFieldTruncated | 4 | 指示從數(shù)據(jù)源讀取時,變長數(shù)據(jù)被截斷。 |
adFieldSignMismatch | 5 | 指示由提供者返回的數(shù)據(jù)值帶符號,而 ADO 字段值的數(shù)據(jù)類型不帶符號。 |
adFieldDataOverflow | 6 | 指示從提供者返回的數(shù)據(jù)超出了字段的數(shù)據(jù)類型。 |
adFieldCantCreate | 7 | 指示因為提供者超過了限制(如所允許的字段數(shù)量),所以不能添加該字段。 |
adFieldUnavailable | 8 | 指示從數(shù)據(jù)源讀取時,提供者不能確定值。例如,行剛被創(chuàng)建,列的默認(rèn)值無法使用,并且還沒有指定新值。 |
adFieldPermissionDenied | 9 | 指示由于該字段被定義為只讀,因此無法對其進行修改。 |
adFieldIntegrityViolation | 10 | 指示由于該字段是計算或派生的項目,因此無法對其進行修改。 |
adFieldSchemaViolation | 11 | 指示值違反了字段的數(shù)據(jù)源模式限制。 |
adFieldBadStatus | 12 | 指示從 ADO 向 OLE DB 提供者發(fā)送了無效狀態(tài)值。原因可能是 OLE DB 1.0 或 1.1 提供者,或者是 Value 與 Status 的組合不恰當(dāng)。 |
adFieldDefault | 13 | 指示在設(shè)置數(shù)據(jù)時使用了字段的默認(rèn)值。 |
adFieldIgnore | 15 | 指示在設(shè)置源中的數(shù)據(jù)值時,此字段被跳過。提供者未設(shè)置任何值。 |
adFieldDoesNotExist | 16 | 指示指定的字段不存在。 |
adFieldInvalidURL | 17 | 指示數(shù)據(jù)源 URL 包含無效的字符。 |
adFieldResourceLocked | 18 | 指示因為數(shù)據(jù)源被一個或多個其他應(yīng)用程序或進程鎖定,所以提供者不能執(zhí)行操作。 |
adFieldResourceExists | 19 | 指示因為對象已在目標(biāo) URL 中存在,而且不能被覆蓋,所以提供者不能執(zhí)行操作。 |
adFieldCannotComplete | 20 | 指示由 Source 指定 URL 的服務(wù)器不能完成操作。 |
adFieldVolumeNotFound | 21 | 指示提供者不能定位 URL 指示的存儲量。 |
adFieldOutOfSpace | 22 | 指示提供者無法獲取足夠的存儲空間來完成移動或復(fù)制操作。 |
adFieldCannotDeleteSource | 23 | 指示在移動操作中,樹或子樹被移動到新的位置,但是源不能被刪除。 |
adFieldReadOnly | 24 | 指示數(shù)據(jù)源中的字段被定義為只讀。 |
adFieldResourceOutOfScope | 25 | 指示源或目標(biāo) URL 超出了當(dāng)前記錄的范圍。 |
adFieldAlreadyExists | 26 | 指示指定的字段已存在。 |
adFieldPendingInsert | 0x10000 | 指示 Append 操作導(dǎo)致需要設(shè)置狀態(tài)。Field 被標(biāo)記為在調(diào)用 Update 方法后添加到 Fields 集合。 |
adFieldPendingDelete | 0x20000 | 指示 Delete 操作導(dǎo)致需要設(shè)置狀態(tài)。該字段被標(biāo)記為在調(diào)用 Update 方法后從 Fields 集合刪除。 |
adFieldPendingChange | 0x40000 | 指示該字段被刪除后又被重新添加(可能數(shù)據(jù)類型不同),或者指示以前具有 adFieldOK 狀態(tài)的字段的值已經(jīng)被更改。字段的最終格式將在調(diào)用 Update 方法之后修改 Fields 集合。 |
adFieldPendingUnknown | 0x80000 | 指示提供者無法確定哪個操作導(dǎo)致需要設(shè)置狀態(tài)。 |
adFieldPendingUnknownDelete | 0x100000 | 指示提供者無法確定哪個操作導(dǎo)致需要設(shè)置字段狀態(tài),以及在調(diào)用 Update 方法后,該字段將被從 Fields 集合中刪除。 |