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

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

وسائل الفئة DataTable


وسائل الفئة DataTable

تمتلك فئة جدول البيانات DataTable Class الوسائل التالية: 

نسخ Clone:
تعيد كائن جدول DataTable جديدا، وتنسخ إليه مخطط الجدول الحالي Schema بكلّ ما فيه من أعمدة وقيود.. ولكنّ الجدول الناتج يكون فارغا من السجلات. 

نسخ Copy:
تعيد كائن جدول DataTable جديدا، وتنسخ إليه الجدول الحالي بمخططه وسجلاته، ليكون مماثلا للجدول الأصلي تماما. 

محو Clear:
تمحو كلّ السجلات الموجودة في الجدول. 

تصفير Reset:
تفرغ الجدول تماما من كل أعمدته وسجلاته وقيوده. 

صف جديد NewRow:
تنشئ سجلا جديدا له نفس مخطط الجدول (نفس الأعمدة بنفس أنواع بياناتها بنفس ترتيبها)، وتعيد إليك كائن الصف DataRow الذي يشير إلى هذا السجل، لكن دون إضافته إلى مجموعة صفوف الجدول Rows، لهذا عليك أن تضيفه إليها بنفسك.. مثال:
DataTable T = Ds.Tables["Authors"];
var R = T.NewRow( );
R["Author"] = "أحمد شوقي";
R["About"] = "أمير الشعراء";
R["CountryID"] = 21;
T.Rows.Add(R); 

استعارة صف ImportRow:
أرسل إلى هذه الوسيلة كائن صف DaraRow، لتنسخه وتضيفه إلى الجدول بكلّ بياناته وخصائصه، بما في ذلك النسخة الأصلية Original Version والنسخة الحالية Current Version لقيم خاناته. 



 
معرفة التغييرات GetChanges:
تعيد كائن جدول DataTable جديدا، يحتوي فقط على الصفوف التي تمّ تعديلها أو إضافتها أو حذفها من الجدول الحاليّ، منذ أن تمّ تحميله أو منذ آخر استدعاء للوسيلة AcceptChanges.
وهناك صيغة ثانية لهذه الوسيلة، تستقبل معاملا من نوع المرقم DataRowState الذي تعرفنا عليه من قبل، لتتمكن من اختيار السجلات التي وقع عليها نوع معين من التغيير دون غيره. 

 معرفة الأخطاء GetErrors:
تعيد مصفوفة صفوف DataRow Array، تحتوي على الصفوف التي حدثت بها أخطاء عند محاولة حفظ الجدول في قاعدة البيانات، ليمكنك تصحيح أخطائها. 

قبول التغييرات AcceptChanges:
تقوم باستدعاء الوسيلة AcceptChanges الخاصة بكل صف في الجدول.
رفض التغييرات RejectChanges:
تقوم باستدعاء الوسيلة RejectChanges الخاصة بكل صف في الجدول. 

بدء تحميل البيانات BeginLoadData:
يؤدي استدعاء هذه الوسيلة إلى:
- إيقاف إرسال التنبيهات Notifications إلى فئات ADO.NET التي تتعامل مع الجدول.. هذا معناه إيقاف انطلاق الأحداث Events الخاصة بهذه الفئات.
- إيقاف تحديث الفهارس Indexes.
- إيقاف التحقق من قواعد الصحّة Constraints.
وعليك استدعاء هذه الوسيلة قبل البدء في إضافة عدد كبير من السجلات إلى الجدول، لأن تكرار تنفيذ العمليات المذكورة سابقا بعد إضافة كل سجل إلى الجدول يستهلك وقتا ملموسا ويجعل البرنامج بطيئا، لهذا من الأذكى إيقافها مؤقتا، ثم إعادة تشغيلها بعد الانتهاء من ملء الجدول بالسجلات. 

انتهاء تحميل البيانات EndLoadData:
هذه الوسيلة رديفة للوسيلة BeginLoadData، وعليك استدعاؤها بعد انتهاء تحميل السجلات في الجدول، لإعادة تشغيل العمليات الخاصة بالتنبيهات والأحداث والفهارس والقيود، وبهذا تضمن تنفيذها مرة واحدة فقط بعد عملية التحميل.  

دمج Merge:
تضيف سجلات الجدول المرسل إليها كمعامل، إلى الجدول الحالي، وإن كانت السجلات المضافة موجودة سابقا، يتم تحديث السجلات الموجودة بقيم السجلات القادمة.
ولهذه الوسيلة نفس صيغ الوسيلة DataSet.Merge، مع اختلاف واحد، هو أن المعامل الأول في هذه الصيغ هو كائن جدول بيانات DataTable وليس DataSet. 

إنشاء قارئ بيانات CreateDataReader:
تعيد قارئ بيانات الجدول DataTableReader، الذي يمكنك من خلاله المرور عبر كل سجلات الجدول الحالي.. وسنتعرف على الفئة DataTableReader لاحقا في هذا الفصل. 

كتابة كود المخطط WriteXmlSchema:
تكتب كود XML الذي يعبر عن مخطط الجدول الحالي، في الملف المرسل كمعامل، سواء كان هذا المعامل في صورة نص يمثل اسم الملف، أو كائن يتعامل مع الملف من الأنواع Stream أو TextWriter أو XmlWriter.
وتوجد صيغة ثانية لهذه الوسيلة، تزيد عليها بمعامل منطقي، إذا جعلت قيمته true فسيتم حفظ مخطط الجداول الفرعية التابعة لهذا الجدول أيضا مع مخطط الجدول الحالي. 

كتابة الكود WriteXml:
تكتب كود XML الذي يمثل سجلات الجدول، في الملف المرسل كمعامل، سواء كان هذا المعامل في صورة نص يمثل اسم الملف، أو كائن يتعامل مع الملف من الأنواع Stream أو TextWriter أو XmlWriter.
ولبعض صيغ هذه الوسيلة معامل منطقي، إذا جعلت قيمته true فسيتم حفظ سجلات الجداول الفرعية التابعة لهذا الجدول أيضا.
ولبعض صيغ هذه الوسيلة معامل من نوع المرقم XmlWriteMode الذي تعرفنا عليه سابقا، لتستطيع من خلاله اختيار طريقة حفظ البيانات. 

قراءة كود المخطط ReadXmlSchema:
تقرأ مخطط جدول أو أكثر من الملف المرسل كمعامل، سواء كان هذا المعامل في صورة نص يمثل اسم الملف، أو كائن يتعامل مع الملف من الأنواع Stream أو TextWriter أو XmlWriter.. وتضيف هذه الوسيلة هذه المخططات إلى الجدول الحالي والجداول الفرعية التابعة له.  

قراءة الكود ReadXml:
تقرأ سجلات جدول أو أكثر، من الملف المرسل كمعامل، سواء كان هذا المعامل في صورة نص يمثل اسم الملف، أو كائن يتعامل مع الملف من الأنواع Stream أو TextWriter أو XmlWriter.. وتضيف هذه الوسيلة هذه السجلات إلى الجدول الحالي والجداول التابعة له. 

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

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

إرسال تعليق

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

صفحة الشاعر