أهم أقسام المدونة

الصفحات

الثلاثاء، 22 يناير 2019

DataTable.LoadDataRow:Method


تحميل صف DataTable.LoadDataRow:
استخدم هذه الوسيلة لتحديث أحد سجلات الجدول، أو إضافة سجل جديد إليه.. وتستقبل هذه الوسيلة معاملين:
- مصفوفة كائنات Object Array، تحتوي على قيم خانات السجل بنفس ترتيبها في الجدول.. لاحظ أن هذه الوسيلة ستبحث في الجدول، لترى إن كان المفتاح الأساسي لأي حقل له نفس القيمة الموجودة في الخانة المناظرة في المصفوفة..  فإذا كان المفتاح الأساسي موجودا في الجدول، يتم نسخ باقي القيم من المصفوفة إلى باقي حقول السجلّ لتحديثها.. وإذا لم يكن المفتاح الأساسي موجودا، يتم إنشاء سجلّ جديد وتوضع بحقوله قيم المصفوفة.
لاحظ أن ترك إحدى خانات المصفوفة فارغة، سيؤدي إلى وضع القيمة الافتراضية في العمود المناظر لها إن كانت له قيمة افتراضية، أو سيتم توليد الترقيم التلقائي إذا كانت للخاصية AutoIncrement لهذا العمود القيمة true.. فإذا لم يكن هذا أو ذاك، وكانت الخانة لا تقبل أن تظل فارغة، فسيحدث خطأ في البرنامج.. ويحدث خطأ أيضا إذا كان عدد خانات المصفوفة أكبر من عدد أعمدة الجدول.

- معامل منطقي Boolean، لو جعلت قيمته true فسيتمّ استدعاء الوسيلة AcceptChanges بعد إضافة السجل إلى الجدول وبهذا يعتبر هذا السجل سجلا أصليا لم يحدث له أي تغيير.. أما إذا جعلت قيمة هذا المعامل false، فسيعتبر السجل الجديد سجلا مضافا Added ويعتبر السجل الذي تم تحديثه سجلا معدلا Modified.

وتعيد هذه الوسيلة كائن صفّ DataRow يحمل مرجعا إلى الصفّ الذي تمّ تحديثه أو إضافته.
 

ملحوظة:
تقوم فئة المجموعة المحددة النوع Typed DataSet Class، بتعريف عدة وسائل محددة النوع في كل جدول للتعامل مع صفوفه.. على سبيل المثال، لو كان في المجموعة محددة النوع فئة لجدول المؤلفين اسمها AuthorsDataTable، وتم تعريف فئة اسمها AuthorsRow تمثل نوع صفوف هذا الجدول، فإن هذا الجدول سيحتوي على الوسائل التالية:
 
صف مؤلفين جديد NewAuthorsRow:
تعيد كائنا من النوع AuthorsRow يمثل صفا جديدا من صفوف جدول المؤلفين، بحيث يمكنك إضافته إلى جدول المؤلفين.. مثال:
var R = Ds.Authors.NewAuthorsRow;
R.Author = "أحمد شوقي";
R.About = "أمير الشعراء";
R.CountryID = 21;
Ds.Authors.AddAuthorsRow(R);
 
إضافة صف المؤلفين AddAuthorsRow:
تستقبل هذه الوسيلة معاملا من النوع AuthorsRow يمثل صفا من صفوف جدول المؤلفين، لإضافته إلى جدول المؤلفين، كما رأينا في المثال السابق.
وتوجد صيغة أخرى لهذه الوسيلة تستقبل قيم صف المؤلفين لإضافته إلى الجدول في خطوة واحدة.. هكذا مثلا يمكن اختزال المثال السابق:
Ds.Authors.AddAuthorsRow("أحمد شوقي", 21, "",
                     "أمير الشعراء", null);
لاحظ أننا أرسلنا نصا فارغا إلى خانة رقم الهاتف، كما وضعنا القيمة null في خانة طابع الوقت لأن قاعدة البيانات تولدها تلقائيا.. أما المفتاح الرئيسي لهذا الصف (وهو الحقل ID) فلم تطالبنا به هذه الوسيلة أصلا لأنها تعرف أنه يولد تلقائيا.
 
حذف صف المؤلفين RemoveAuthorsRow:
تستقبل هذه الوسيلة معاملا من النوع AuthorsRow يمثل صفا من صفوف جدول المؤلفين، لحذفه من جدول المؤلفين.

 

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

 

 

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

إرسال تعليق

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