ویژگی Status ADO
تعریف و استفاده
ویژگی Status میتواند یک FieldStatusEnum مقدار، که وضعیت Field Object را نشان میدهد. مقدار پیشفرض adFieldOK است.
اگر بهروزرسانی شکست بخورد، خطای بازخورد داده میشود و ویژگی Status نشاندهنده مقادیر ترکیبی عملیات و کد وضعیت خطا خواهد بود. ویژگی Status هر Field برای تعیین دلایل عدم افزودن، تغییر یا حذف آن Field قابل استفاده است.
مشکلاتاضافهکردن،تغییریاحذفیکفیلدازطریقاینخصوصیتگزارشمیشود.مثلاً،اگرکاربریکفیلدراحذفکند،آنرادرمجموعهFieldsبهعنوانحذفشدهبرچسبگذاریمیکند.اگربهدلیلاینکهکاربرسعیکردهاستفیلیدیراحذفکندکهاومجوزحذفآنراندارد،وبهدلیلاینکهتمامدعوتبهروزرسانیبازگشتبهخطاکردهاست،وضعیتفیلد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
ثابت | مقدار | توضیح |
---|---|---|
ادئترضیانیشدنفیلد | 0 | پیشفرض. نشاندهندهایناستکهاینفیلدبا موفقیتاضافهشدهیاحذفشدهاست. |
ادئترضیانیشدنفیلد | 2 | نشاندهندهایناستکهنمیتواناینفیلدرابهصورتبدوناز دست دادندادههادریافتیاذخیرهکرد. |
ادئترضیانیشدنفیلد | 3 | نشاندهندهایناستکهفراهمکنندهمقدارNullبرگرداندهاست. |
ادئترضیانیشدنفیلد | 4 | نشاندهندهایناستکهدرزمانخواندنازمنبعداده،دادههایتغییرپذیرمختصرشدهاند. |
ادئترضیانیشدنفیلد | 5 | نشاندهندهایناستکهمقداردادهایکهازطرففراهمکنندهبرگرداندهشدهاستبانشاندارندهاستونوعدادهمقدارفیلدADOبدوننشاندارندهاست. |
ادئترضیانیشدنفیلد | 6 | نشاندهندهایناستکهدادهایکهازطرففراهمکنندهبرگرداندهشدهاستازنوعدادهفیلدپاسخکردهاست. |
ادئترضیانیشدنفیلد | 7 | نشاندهندهایناستکهبهدلیلاینکهفراهمکنندهبیشازمحدودیتهاراپشتپایگذاشتهاست(مانندتعدادفیلدهایمجاز)،نمیتواناینفیلدرااضافهکرد. |
ادئترضیانیشدنفیلد | 8 | نشاندهندهایناستکهدرزمانخواندنازمنبعداده،فراهمکنندهنمیتواندمقدارراتعیینکند.مثلاً،یکصفحهتازهایایجادشدهاستومقدارپیشفرضکلیومرانمیتواناستفادهکردوهنوزمقدارجدیدتعییننشدهاست. |
ادئترضیانیشدنفیلد | 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 | نشان میدهد که عملیات پیوستن نیاز به تنظیم وضعیت دارد. Field به عنوان اضافه شده به مجموعه Fields پس از فراخوانی روش Update برچسبگذاری شده است. |
adFieldPendingDelete | 0x20000 | نشاندهندهای است که عمل Delete منجر به نیاز به تنظیم وضعیت شده است. این فیلد به عنوان حذف شده از مجموعهی Fields در روش Update برچسبگذاری خواهد شد. |
adFieldPendingChange | 0x40000 | نشاندهندهای است که فیلد پس از حذف دوباره اضافه شده است (ممکن است نوع دادهها متفاوت باشد) یا نشاندهندهای است که ارزش فیلدی که قبلاً دارای وضعیت adFieldOK بود تغییر کرده است. فرمت نهایی فیلد پس از فراخوانی روش Update در مجموعهی Fields تغییر خواهد کرد. |
adFieldPendingUnknown | 0x80000 | نشاندهندهای است که ارائهدهنده نمیتواند عملی که منجر به نیاز به تنظیم وضعیت شده است را تعیین کند. |
adFieldPendingUnknownDelete | 0x100000 | نشاندهندهای است که ارائهدهنده نمیتواند عملی که منجر به نیاز به تنظیم وضعیت فیلد شده است را تعیین کند و همچنین نشاندهندهای است که پس از فراخوانی روش Update، این فیلد از مجموعهی Fields حذف خواهد شد. |