الجدول 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
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.