خاصية Status لـ ADO

التعريف والاستخدام

يمكن أن يعود خاصية Status بمقدار FieldStatusEnum القيمة، التي تشير إلى حالة Object Field. القيمة الافتراضية هي adFieldOK.

إذا فشلت التحديث، سيتم العودة إلى الخطأ، وسيشير خاصية Status إلى قيمة التكامل والكود المعدل للوضع. يمكن استخدام خاصية Status لكل Field لتحديد السبب الذي لم يتم إضافته أو تعديله أو حذفه.

مشاكل إضافة، تعديل أو حذف حقل ستتم الإبلاغ عنها من خلال هذا الخصائص. على سبيل المثال، إذا قام المستخدم بحذف حقل، سيتم ت��يجه كحذف في مجموعة الحقول. إذا كانت مكالمة التحديث تعود بخطأ بسبب محاولة المستخدم حذف حقل ليس له صلاحية الحذف، فإن حالة الحقل ستكون 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، أو أن تكون مجموعة القيمة والوضع غير مناسبة.
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 اشارة إلى أن عملية إضافة الحلقة تتطلب تعيين الحالة. يتم وضع الحقل في وضع إضافة إلى مجموعة الحقول بعد استدعاء طريقة Update.
adFieldPendingDelete 0x20000 يوضح أن عملية الحذف أدت إلى الحاجة إلى تعيين الحالة. سيتم وضع الحقل في وضع حذف من مجموعة الحقول بعد استدعاء طريقة Update.
adFieldPendingChange 0x40000 يوضح أن الحقل تم حذفه ثم إضافته مرة أخرى (قد يكون نوع البيانات مختلفًا) أو يوضح أن قيمة الحقل الذي كان لديه حالة adFieldOK سابقة قد تم تغييرها. سيتم تعديل تنسيق الحقل النهائي بعد استدعاء طريقة Update في مجموعة الحقول.
adFieldPendingUnknown 0x80000 يوضح أن المزود لا يستطيع تحديد أي عملية أدت إلى الحاجة إلى تعيين الحالة.
adFieldPendingUnknownDelete 0x100000 يوضح أن المزود لا يستطيع تحديد أي عملية أدت إلى الحاجة إلى تعيين حالة الحقل، وفي الوقت نفسه، سيتم إزالة الحقل من مجموعة الحقول بعد استدعاء طريقة Update.