وعليكم السلام ورحمة الله وبركاته
ملخص واضافة لما قدمه كلا من اخوتى
الـ DataSet : تعنى قاعدة البيانات
والـ DataTable : هو الجدول الذى يتواجد داخل قاعدة البيانات
فلاحظ التالى لما تم من شرح للاخ
حريف برمجة
كود :
' DataSet
dp.Fill(ds, "اسم قاعدة البيانات")
' DataTable
dp.Fill(dt)
لنقوم انك سميت اسم قاعدة البيانات باسم T1
عند استدعاء قيمة يتكون من
DataSet تكون
كود :
TextBox1.Text = ds.tables("T1")(0)(0)
وعند استدعاء قيمة من
DataTable تكون
كود :
TextBox1.Text = dt(0)(0)
فلاحظ بينهم
طيب لماذا تم عملها وكيف يمكن استغلالها والاستفادة منها شكل اكبر
تخيل انك تقوم بعمل عدد 3 استعلام ى زر واحد
فى طبيعة الحال بالمنط لو بتتعامل بـ
DataTable هتنشاء لها 3 مثل
كود :
Dim dt1 As New DataTable
Dim dt2 As New DataTable
Dim dt3 As New DataTable
'أو بهذا الشكل
Dim dt1, d2, dt3 As New DataTable
عشان بنهاية الامر تعطي كل استعلام قيمها داخل كل منه هذا الشكل
كود :
dp1.Fill(dt1)
dp2.Fill(dt2)
dp3.Fill(dt3)
طيب تعال نشوف هنا كده لو تم استخدم الكود نفسه بس بشكل مختلف
كود :
dim ds As New DataSet
ثم تم ترحيل بيانات الاستعلام بهذا الشكل
كود :
dp1.Fill(ds, "T1")
dp2.Fill(ds, "T2")
dp3.Fill(ds, "T3")
لاحظ الفرق هنا كده بين استخدام كلا منهم
الطريقة الاولى انت اجبرت البرنامج ان ينشاء لكل جدول قاعدة بيانات غير معرفة اى DataSet خاصة لكل جدول
كن عند استخدام الطريقة الثانية انت اجبرته ان ينشاء قاعدة بيانات واحدة فقط وتم تعيفها ووضع كل الجداول بها
المفيد هنا ماذا : انك غير مجبر ان تجعل ى كل فروم عند زل زر او حدث لاستعلام ن تنشاء له DataTable
بل باختصار يمكنك عمل DataSet واحدة ى اول كود الفروم ويتم تعري كل استعلام لكل جدول داخل الـ DataSet
منها قللت من استهلاك موارد الجهاز واصبح البرنامج بشكل اكبر اسرع واخف
اتمنى ان الصورة والشرح يكون وافى وملخص ما تريد معرفته تماماً
تحياتى لك
وتمنياتى لك الوفيق