فئة خطأ سيكويل SqlError Class
عند
حدوث خطأ أثناء الاتصال بسيكويل سيرفر، ينطلق الحدث InfoMessage الخاص بفئة اتصال سيكيول SqlConnection Class، حيث يمتلك المعامل الثاني e لهذا الحدث خاصية اسمها Errors تعيد مجموعة Collection عناصرها من نوع الفئة SqlError، حيث يحمل كل عنصر تفاصيل رسالة خطأ (أو تحذير) قادم من سيكويل
سيرفر.. ولكي تستخدم هذه الفئة، يجب أولا أن تضيف معالجا للحدث InfoMessage كالتالي:
Dim Cn As New
SqlConnection(My.Settings.BooksConStr)
AddHandler Cn.InfoMessage, AddressOf dbErrors
الآن
يمكنك استخدام الفئة SqlError
داخل المعالج dbErrors كالتالي:
Private Sub
dbErrors(sender As Object, e As SqlInfoMessageEventArgs)
For Each sqlErr As SqlError In
e.Errors
Console.WriteLine(sqlErr.Message)
Next
End Sub
وتمتلك
الفئة SqlError الخصائص التالية:
الرتبة Class:
تعيد رقما من 0 إلى 255 يمثل درجة خطورة الخطأ.. وقيمتها الافتراضية 0.
الخادم Server:
تعيد نصا يمثل اسم نسخة سيكويل سيرفر التي أرسلت
الخطأ.
المصدر Source:
تعيد اسم المزود Provider الذي تسبب في الخطأ.
الإجراء Procedure:
تعيد اسم الإجراء المخزن الذي تسبب في الخطأ.
رقم السطر LineNumber:
تعيد رقم السطر الذي تسبب في الخطأ في الإجراء
المخزن.
الرسالة Message:
تعيد نصا يصف رسالة الخطأ.. .. ويمكنك أيضا
استخدام الوسيلة ToString
الخاصة بهذا الكائن لعرض نص هذه الرسالة.
الرقم Number:
تعيد رقم الخطأ.
الحالة State:
تعيد رقما من 0 إلى 255 يمثل الكود الرقمي
للخطأ.
ملحوظة:
|
يمكنك
الحصول عن تفاصيل الخطأ بطريقة أخرى، باستخدام فئة استثناء سيكويل SqlException التي ترث خصائصها ووسائلها من الفئة الأم SystemException والفئة الأم Exception، وتمتلك أيضا نفس خصائص الفئة SqlError.. وهذا يمنحك القدرة على الحصول على نفس المعلومات، سواء
استخدمت الحدث InfoMessage
أم استخدمت الطريقة التقليدية لمعالجة الأخطاء Exception
Handling.. مثال:
Try
Dim Cn As New SqlConnection(My.Settings.BooksConStr)
Catch ex As SqlException
MsgBox(ex.Server)
End Try
|
من
كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO
.NET.. للتنزيل:
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.