ADO Status属性
定義と用法
Status属性は、以下のものを返します FieldStatusEnum 値、これはFieldオブジェクトの状態を示します。デフォルト値はadFieldOKです。
更新に失敗すると、エラーが返され、Status属性が操作の組み合わせ値とエラーコードの状態を示します。各FieldのStatus属性は、そのFieldが追加、修正、または削除されていない理由を確認するために使用できます。
特定の Field に追加、修正、または削除を行う問題は、この属性を通じて報告されます。例えば、ユーザーがフィールドを削除すると、Fields コレクションでは削除されたフィールドがマークされます。ユーザーが削除権限がないフィールドを削除しようと試みた結果、Update 呼び出しがエラーを返した場合、そのフィールドの 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 フィールド値のデータタイプが符号付いていないことを示します。 |
adFieldDataOverflow | 6 | 提供者が返すデータがフィールドのデータタイプを超えていることを示します。 |
adFieldCantCreate | 7 | 提供者が制限(許可されたフィールド数など)を超えたため、そのフィールドを追加できないことを示します。 |
adFieldUnavailable | 8 | データソースから読み取るとき、提供者が値を確定できないことを示します。例えば、行が新しく作成されたばかりで、列のデフォルト値を使用できず、新しい値が指定されていない場合があります。 |
adFieldPermissionDenied | 9 | 指示由于该字段被定义为只读,因此无法对其进行修改。 |
adFieldIntegrityViolation | 10 | 指示由于该字段是计算或派生的项目,因此无法对其进行修改。 |
adFieldSchemaViolation | 11 | 指示值违反了字段的数据源模式限制。 |
adFieldBadStatus | 12 | 指示从 ADO 向 OLE DB 提供者发送了无效状态值。原因可能是 OLE DB 1.0 或 1.1 提供者,或者是 Value 与 Status 的组合不恰当。 |
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 超出了当前记录的范围。 |
adFieldAlreadyExists | 26 | 指示指定的字段已存在。 |
adFieldPendingInsert | 0x10000 | 指示 Append 操作导致需要设置状态。Field 被标记为在调用 Update 方法后添加到 Fields 集合。 |
adFieldPendingDelete | 0x20000 | Delete 操作が状態を設定する必要がある場合の指示。そのフィールドは Update メソッドを呼び出した後に Fields コレクションから削除されるようにマークされます。 |
adFieldPendingChange | 0x40000 | フィールドが削除されて再び追加された(データ型が異なる可能性があります)場合や、以前に adFieldOK 状態を持っていたフィールドの値が変更された場合の指示。フィールドの最終形式は Update メソッドを呼び出した後に Fields コレクションが変更されます。 |
adFieldPendingUnknown | 0x80000 | 提供者が状態を設定する必要があるかを特定できない場合の指示。 |
adFieldPendingUnknownDelete | 0x100000 | 提供者がどの操作がフィールド状態を設定する必要があるかを特定できない場合や、Update メソッドを呼び出した後に、そのフィールドが Fields コレクションから削除される場合の指示。 |