ค่าสถานะ ADO

การประกาศและการใช้งาน

ค่าสถานะ Status สามารถกลับค่า FieldStatusEnum ค่า ซึ่งชี้ให้เห็นสถานะของตัวแปร Field ค่าปริยายคือ adFieldOK

ถ้ามีความผิดพลาดในการปรับปรุง จะมีการกลับค่าผลลัพธ์และค่าที่มีความหมายของค่าสถานะและรหัสสถานะของการปฏิบัติการ ค่าสถานะของ Field ทุกฟีลด์สามารถใช้เพื่อตรวจสอบสาเหตุที่ทำให้ 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 บอกว่าเซิร์ฟเวอร์ที่มี URL ที่มีการกำหนดโดย Source ไม่สามารถทำการปฏิบัติการ
adFieldVolumeNotFound 21 บอกว่าผู้ให้บริการไม่สามารถหาตำแหน่งที่มีการบันทึก URL ที่กำหนดไว้
adFieldOutOfSpace 22 บอกว่าผู้ให้บริการไม่สามารถหาพื้นที่เก็บข้อมูลเพียงพอที่จะทำการเคลื่อนย้ายหรือคัดลอก
adFieldCannotDeleteSource 23 บอกว่าในการเคลื่อนย้าย ต้นไม้หรือต้นไม้ย่อยถูกย้ายไปที่ตำแหน่งใหม่ แต่แหล่งข้อมูลไม่สามารถถูกลบออกไป
adFieldReadOnly 24 บอกว่าฟิลด์ในแหล่งข้อมูลถูกกำหนดเป็นแบบอ่านเฉพาะ
adFieldResourceOutOfScope 25 บอกว่า URL แหล่งหรือปลายทางออกไปกว่าขอบเขตของบันทึกปัจจุบัน
adFieldAlreadyExists 26 บอกว่าฟิลด์ที่กำหนดไว้มีอยู่แล้ว
adFieldPendingInsert 0x10000 บอกว่าการประกาศ Append ต้องการตั้งสถานะ ฟิลด์ถูกทำเครื่องหมายว่าถูกเพิ่มไปที่ชุด Fields หลังจากเรียกใช้วิธี Update
adFieldPendingDelete 0x20000 指示 Delete 操作导致需要设置状态。该字段被标记为在调用 Update 方法后从 Fields 集合删除。
adFieldPendingChange 0x40000 指示该字段被删除后又被重新添加(可能数据类型不同),或者指示以前具有 adFieldOK 状态的字段的值已经被更改。字段的最终格式将在调用 Update 方法之后修改 Fields 集合。
adFieldPendingUnknown 0x80000 指示提供者无法确定哪个操作导致需要设置状态。
adFieldPendingUnknownDelete 0x100000 指示提供者无法确定哪个操作导致需要设置字段状态,以及在调用 Update 方法后,该字段将被从 Fields 集合中删除。