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

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

DataRow Class Properties

خصائص فئة صف البيانات DataRow Class:
 
الجدول Table:
تعيد كائن الجدول DataTable الذي يحتوي على السجلّ الحالي.. تذكر أنك لا تستطيع إنشاء سجل جديد بدون استخدام الوسيلة NewRow من أحد الجداول، لهذا حتى لو لم يكن السجل مضافا إلى مجموعة صفوف الجدول Rows، فإن هذه الخاصية ستظل تشير دائما إلى الجدول الذي تم إنشاء السجل الحالي منه.
 
المفهرس Indexer:
يقرأ أو يغير القيمة المحفوظة في إحدى خانات السجل الحالي.. والقيمة العائدة من النوع Object، ليمكنك التعامل مع مختلف أنواع الأعمدة.. وللمفهرس الصيغ التالية:
1- بعض الصيغ لها معامل واحد، يستقبل اسم العمود أو رقمه، أو كائن العمود DataColumn الذي يمثله.. والمثال التالي يقرأ اسم المؤلف الموجود في الصفّ الثالث في جدول المؤلفين (الصفّ الأوّل هو الصف رقم صفر):
var R = Ds.Tables["Authors"].Rows[2];
var X = R["Author"];
وهو ما يمكنك فعله في سطر واحد كالتالي:
var X = Ds.Tables["Authors"].Rows[2]["Author"];
حيث يبدو أننا نتعامل مع مجموعة الصفوف Rows كأنها مصفوفة مصفوفات.
أما لو كنت تتعامل مع مجموعة بيانات محددة النوع، فسيختصر الكود السابق إلى:
var X = Ds.Authors[2]["Author"];
أو بصورة أفضل:
var X = Ds.Authors[2].Author;
2- بعض الصيغ تزيد بمعامل ثان من نوع المرقم DataRowVersion، لتحدد من خلاله نسخة السجل التي تريد التعامل معها.. لكن هذه الصيغ للقراءة فقط، ولا يمكن استخدامها لتغيير قيم السجل.. ويمتلك المرقم DataRowVersion القيم التالية:
 
Original
التعامل مع نسخة السجل الأصلية Original Version.
Current
التعامل مع النسخة الحالية للسجل Current Version.
Proposed
التعامل مع القيمة المقترحة للسجل.. هذا مفيد إذا كان السجل قيد التحرير ولم يتم إنهاء عملية التحرير بعد، وتريد قراءة القيمة الجديدة قبل قبولها ووضعها في النسخة الحالية Current Version.
Default
التعامل مع النسخة الافتراضية للصف، وهي كالتالي:
- النسخة الافتراضية للصفوف غير المعدلة هي النسخة الأصلية Original Version.
- النسخة الافتراضية للصفوف المعدلة والمضافة والمحذوفة هي النسخة الحالية Current Version.
- النسخة الافتراضية للصفوف غير المتصلة بأي جدول Detached، هي النسخة المقترحة Proposed.
 
والقيمة المستخدمة مع الصيغ التي لا تمتلك المعامل الثاني هي Default.
انظر المثال التالي:
// عرض النسخة الأصلية
Consol.WriteLine(Row[0, DataRowVersion.Original]);
// عرض النسخة الحالية
Consol.WriteLine(Row["Book", DataRowVersion.Current]);
// عرض النسخة الافتراضية
Consol.WriteLine(Row["Book"]);
 
مصفوفة العنصر ItemArray:
تعيد مصفوفة كائنات Object Array تحتوي على قيم كلّ خانات السجلّ الحالي بنفس ترتيب الأعمدة.. ويمكنك أن ترسل إليها مصفوفة بها القيم التي تريد وضعها في خانات السجل.. مثال:
var TblAuthors = Ds.Tables["Authors"];
var R = TblAuthors.NewRow( );
R.ItemArray = new object [] {null, "عنترة بن شداد", 5, "",
            "شاعر جاهلي", null};
TblAuthors.Rows.Add(R);
 
به أخطاء HasErrors:
تعيد true إذا كانت هناك أخطاء متعلقة بالسجل الحالي.. ويمكنك معرفة سبب الخطأ باستخدام الخاصية RowError أو الوسيلة GetColumnsInError، مع ملاحظة أن عليك فحص كلتيهما، لأنهما لا تحتويان على نفس البيانات!
 
خطأ الصف RowError:
تقرأ أو تغيّر النصّ الذي يصف الخطأ الذي حدث في هذا الصفّ.. لاحظ أن وضع أي نص في هذه الخاصية يغير قيمة الخاصية HasErrors إلى true، ويجعل جدول العرض يضع أيقونة الخطأ بجوار هذا الصف.
 
حالة الصف RowState:
تعيد إحدى قيم المرقم DataRowState التي توضح حالة السجلّ من حيث كونه مضافا أو محذوفا أو معدّلا.. وقد تعرفنا على قيم هذا المرقم سابقا.
من كتاب من الصفر إلى الاحتراف: برمجة قواعد البيانات بتقنية ADO.NET
 


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

إرسال تعليق

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

صفحة الشاعر