فئة قارئ
جدول البيانات DataTableReader Class
هذه
الفئة ترث فئة قارئ البيانات الأم DbDataReader
Class، وهي تشبه قارئ
البيانات العادي في طريقة عملها، لكنها لا تستخدم كائن أمر للحصول على السجلات من
قاعدة البيانات، فهي تقرأ السجلات من جداول مجموعة البيانات مباشرة.
ولإنشاء
قارئ بيانات يقرأ سجلات أحد الجداول، عليك باستخدام الوسيلة CreateDataReader الخاصة بهذا الجدول كالتالي:
var Tr =
Ds.Tables["Authors"].CreateDataReader( );
while (Tr.Read( )) {
MessageBox.Show(Tr["ID"].ToString(
));
MessageBox.Show(Tr["Author"].ToString(
));
}
ولإنشاء
قارئ بيانات يقرأ سجلات كل الجداول، عليك باستخدام الوسيلة CreateDataReader الخاصة بمجموعة البيانات DataSet كالتالي:
DataTableReader Tr = Ds.CreateDataReader(
);
do {
while (Tr.Read( )) {
string RowTxt = "";
for (var I = 0; I < Tr.FieldCount; I++)
RowTxt
+= Tr.GetName(I) + " = "
+ Tr[I].ToString( ) +
"\r\n";
MessageBox.Show(RowTxt);
}
} while (Tr.NextResult( ));
لاحظ
أننا لم نستخدم أسماء الأعمدة عند قراءة خانات كل سجل، وذلك لأن السجلات ستختلف من
جدول إلى آخر في عدد الأعمدة وأسمائها.. وبدلا من هذا استخدمنا الخاصية FieldCount لإنشاء حلقة تكرار تمر عبر كل الأعمدة، لقراءة كل خانة باستخدام
رقم العمود بدلا من اسمه.
ويمكنك
تجربة هذا الكود في المشروع DataTableReaderSample.
ولحدث
إنشاء الفئة DataTableReader الصيغتان التاليتين:
الأولى تستقبل
كائن الجدول DataTable
الذي ستقرأ سجلاته.
والثانية تستقبل
مصفوفة جداول DataTable Array لتقرأ سجلاتها.
ولا
تمتلك هذه الفئة أية خصائص أو وسائل جديدة غير ما ترثه من الفئة الأم.
من كتاب من الصفر إلى الاحتراف: برمجة قواعد البيانات بتقنية ADO.NET
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.