المتابعون للمدونة

الاثنين، 20 نوفمبر 2017

TableAdapter Properties


خصائص فئة موصل الجدول TableAdapter Properties:
في نافذة المخطط، يمكنك ضغط الشريط الذي يعرض اسم موصل الجدول بزر الفأرة الأيمن، واختيار الأمر Properties لعرض خصائص موصل الجدول في نافذة الخصائص.. وهذه الخصائص هي: 

 الاسم Name:
تحدد اسم فئة موصل الجدول. 

 المجال Modifier:
تحدد مجال فئة الجدول.. والقيمة الافتراضية هي Public ليمكن استخدام هذه الفئة حتى من خارج المشروع الحالي. 

 الفئة الأم Base Class:
تحدد الفئة الأم التي ترثها فئة موصل الجدول.. في الوضع الافتراضي تكون هذه الفئة هي فئة المكون System.ComponentModel.Component.. لكن لا مانع من أن تكتب بدلا منها أية فئة أخرى بشرط أن تكون مشتقة من الفئة Component.. يمكنك مثلا أن ترث فئة موصل البيانات، أو يمكنك أن ترث فئة موصل جدول آخر! 

 الاتصال Connection:
تحدد نص الاتصال بقاعدة البيانات.. ويمكنك اختيار اتصال من القائمة المنسدلة، أو ضغط العنصر الأخير فيها (New Connection) لإنشاء اتصال جديد. 

 مجال الاتصال ConnectionModifier:
تحدد مجال كائن الاتصال المعرف في موصل الجدول.. والقيمة الافتراضية هي Friend لجعله مرئيا من أي موضع في المشروع. 

 أمر التحديد SelectCommand:
أمر التحديد المستخدم لإحضار البيانات من قاعدة البيانات.. لاحظ أنك لو استخدمت أمر تحديد يعيد بيانات من أكثر من جدول، فسيعجز موصل الجدول عن إنتاج أوامر التحديث والإدراج والحذف آليا، لهذا يتوجب عليك في هذه الحالة استخدام الخصائص التالية لتعريف هذه الأوامر بنفسك. 

 أمر التحديث UpdateCommand:
أمر التحديث المستخدم لتحديث سجلات قاعدة البيانات. 

 أمر الإدراج InsertCommand:
أمر الإدراج المستخدم لإدراج السجلات في قاعدة البيانات. 

 أمر الحذف DeleteCommand:
أمر الحذف المستخدم لحذف السجلات من قاعدة البيانات. 

 إنتاج وسائل قاعدة البيانات المباشرة GenerateDbDirectMethods:
إذا جعلت قيمتها True، فستضاف إلى فئة موصل الجدول الوسائل Update وInsert وDelete لتتيح لك تحديث قاعدة البيانات باستدعائها مباشرة.. أما إذا جعلتها False، فسيكون عليك استخدام كائنات الأوامر بنفسك لإجراء عمليات التحديث والإدراج والحذف، لاستخدام الخصائص UpdateCommand،  InsertCommand، DeleteCommand. 

وبنفس الطريقة يمكنك إضافة موصل جدول الكتب.. لاحظ أن العلاقة بين الجدولين سيتم إنشاؤها تلقائيا بمجرد إضافة جدول الكتب.. هكذا سيكون المخطط: 

 
ولكن، أين كود فئة موصل البيانات؟
توضع هذه الفئة في نفس الملف الذي توجد فيه فئة مجموعة البيانات محددة النوع، وهو في مثالنا هذا الملف DsAuthorsBooks.Designer.vb.. لكن فئة موصل الجدول لا توضع داخل فئة مجموعة البيانات، بل توضع خارجها، ويتم تعريف نطاق اسم Namespace خاص بها يكون على الصيغة XTableAdapters، حيث X هو اسم فئة مجموعة البيانات.. هكذا مثلا سيكون الشكل العام لملف كود فئة البيانات وموصلات الجداول في مشروعنا هذا:
Partial Public Class DsAuthorsBooks
      Inherits Global.System.Data.DataSet
       ' كود مجموعة البيانات محددة النوع
End Class 

Namespace DsAuthorsBooksTableAdapters  
      Partial Public Class AuthorsTableAdapter
          Inherits Global.System.ComponentModel.Component
          ' كود موصل جدول المؤلفين
      End Class   

      Partial Public Class BooksTableAdapter
          Inherits Global.System.ComponentModel.Component
          ' كود موصل جدول الكتب
      End Class 

      Partial Public Class TableAdapterManager
          Inherits Global.System.ComponentModel.Component
          ' كود مدير موصلات الجداول
      End Class
End Namespace 
وتمتلك فئة موصل الجدول الخصائص التالية: 

 الاتصال Connection:
تقرأ أو تغير كائن الاتصال الذي يستخدمه موصل الجدول للاتصال بقاعدة البيانات.. ويعتمد نوع هذه الخاصية على نوع قاعدة البيانات التي تتعامل معها، وفي مثالنا هذا ستكون من النوع SqlConnection.
ويستخدم موصل الجدول إجراءا خاصا Private Sub اسمه InitConnection لضبط خصائص كائن الاتصال. 

* الانتقالات Transaction:
تقرأ أو تغير كائن الانتقالات الذي يستخدمه موصل الجدول للتحكم في العمليات التي تتم على قاعدة البيانات.. وفي مثالنا هذا ستكون هذه الخاصية من النوع SqlTransaction. 

 محو قبل الملء ClearBeforeFill:
إذا جعلت قيمتها True (وهي القيمة الافتراضية)، فسيتم محو السجلات من جدول مجموعة البيانات أولا، قبل ملئه بالنتائج الجديدة.. أما إذا جعلتها False، فسيتم تحديث السجلات الموجودة بالقيم الجديدة، وإضافة السجلات الجديدة إلى الجدول. 

ملحوظة:
موصل الجدول يستخدم موصل البيانات DataAdapter داخليا لملء مجموعة البيانات DataSet، لهذا ستجد في فئة موصل الجدول خاصية محمية Protected Property اسمها Adapter، لن تراها من خارج الفئة، لكن تستطيع استخدامها في الفئات التي ترث فئة موصل الجدول، أو في أي كود إضافي تكتبه في موصل الجدول بنفسك.. ويستخدم موصل الجدول إجراء خاصا Private Sub اسمه InitAdapter لوضع القيم في خصائص موصل البيانات.
كما يحتوي موصل الجدول على خاصية محمية أخرى اسمها CommandCollection، وهي تعيد مصفوفة تحتوي على كائنات الأوامر التي يستخدمها موصل الجدول، وبهذا يستطيع موصل الجدول التعامل مع أكثر من استعلام كما سنرى لاحقا.
ويستخدم موصل الجدول إجراء خاصا Private Sub اسمه InitCommandCollection لوضع كائنات الأوامر في هذه المصفوفة وضبط خصائصها.

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.

صفحة الشاعر