تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مشكلة في استدعاء قاعدة بيانات
#1
السلام عليكم ورحمة الله 

واجهتني مشكلة هو عند استدعاء قاعدة بينات من نوع اكسس 
طبعاً عندي في قاعدة البيانات اكثر من عمود يعني عندي (10) اعمدة 

ضهر هذا الخطاء


طبعاً السورس كامل بالمرفات ممكن تعديل عليه واعادة رفعه لي


الملفات المرفقة
.rar   VB_ListView_Access-master.rar (الحجم : 399.5 ك ب / التحميلات : 41)
الرد
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاتة 


تم تغيير التالي : في الأمر Private Sub Retrieve




تم تغيير الحلقة For Each
من : For Each row In dt.Rows   ( هنا row نوعها Object , أصل جميع الكائنات في الـ Net. ) 
إلى : For Each row As DataRow In dt.Rows    ( هنا row نوعها DataRow , وهو النوع الصحيح , لأنك تقوم بالإلتفاف على جدول , والجدول عبارة عن مجموعة سجلات, والـ row هو عبارة عن سجل واحد )

لذلك يجب تعريف ما هو نوع row
حتى نتمكن من الوصول إلى وظائف وأوامر وخصائص كل سجل نقوم بالإلتفاف علية , 

 من :
كود :
           For Each row In dt.Rows
               Populate(row(0), row(1), row(2), row(3), row(4), row(5))
           Next





إلى :
كود :
           For Each row As DataRow In dt.Rows
               Dim id As String = "" : If Not row.IsNull(0) Then id = row(0)
               Dim spacecraft As String = "" : If Not row.IsNull(1) Then spacecraft = row(1)
               Dim propellant As String = "" : If Not row.IsNull(2) Then propellant = row(2)
               Dim destination As String = "" : If Not row.IsNull(3) Then destination = row(3)
               Dim destination1 As String = "" : If Not row.IsNull(4) Then destination1 = row(4)
               Dim destination2 As String = "" : If Not row.IsNull(5) Then destination2 = row(5)
               Populate(id, spacecraft, propellant, destination, destination1, destination2)
           Next


IsNull هي أحد الوظائف الموجودة في الكائن المسمى row والذي هو من نوع DataRow

يتم التحقق من الحقل رقم صفر إذا كان فارغ أم لا .
بالكود التالي :
If Not row.IsNull(0) Then
إذا لم يكن فارغ إذن ضع القيمة .
لأن الحقل الفارع يعبر عنه بـ Null
ولا يمكن تحويل Null إلى نص ( كما أنه لا يمكن تحويل Null إلى أي شيء , غير قابل للتحويل )
لأن Null تعني لا شيء
ومحاولة التحويل ستنتج خطأ.
لذلك يجب التحقق من قيمة الحقل قبل إستخدامها .
الرد



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم