ค่าสถานะ 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 集合中删除。 |