مفردة ADO Recordset

مثال

getRows
هذا المثال يوضح كيفية استخدام طريقة GetRows.

مؤشر Recordset

يستخدم Object Recordset ADO لاستيعاب مجموعة السجلات القادمة من جدول قاعدة البيانات. يتكون Object Recordset من السجلات والعمود (المجالات).

في ADO، هذا العنصر هو الأكثر أهمية والأكثر استخدماً لتنفيذ العمليات على بيانات قاعدة البيانات.

ProgID

تعيين objRecordset = Server.CreateObject("ADODB.recordset")

عند فتح Recordset لأول مرة، سيكون مؤشر السجل الحالي يشير إلى السجل الأول، وسيكون خاصيتي BOF وEOF غير صحيحين. إذا لم يكن هناك أي سجلات، ستكون خاصيتي BOF وEOF صحيحين.

يستطيع Recordset أن يدعم نوعين من التحديثات:

  • تحديث فوري - يتم كتابة جميع التغييرات في قاعدة البيانات فور تنفيذ طريقة Update.
  • تحديث جماعي - يقوم المزود بحفظ العديد من التغييرات، ثم يرسل هذه التغييرات إلى قاعدة البيانات باستخدام طريقة UpdateBatch.

في ADO، تم تعريف 4 أنواع مختلفة من مؤشرات (مؤشرات) التجهيزات:

  • مؤشر ديناميكي - يسمح لك بعرض الإضافات والتحديثات والحذوفات التي قام بها مستخدمون آخرون
  • مؤشر مجموعة المفاتيح - يشبه مؤشر ديناميكي، ولكن لا يمكنك عرض الإضافات التي قام بها مستخدمون آخرون، ويمنعك من الوصول إلى السجلات التي تم حذفها من قبل مستخدمين آخرين. يمكن رؤية التغييرات في البيانات التي قام بها مستخدمون آخرون.
  • مؤشر ثابت - يقدم نسخة ثابتة من مجموعة البيانات، يمكن استخدامها للبحث عن البيانات أو إعداد التقارير. بالإضافة إلى ذلك، لا يمكن رؤية الإضافات، والتغييرات، والتعديلات التي يقوم بها المستخدمون الآخرون. عند فتح Recordset على الجهاز المت客户端، هذا هو النوع الوحيد المسموح به للمؤشر.
  • مؤشر للأمام فقط - يسمح بالتمرير عبر Recordset فقط للأسفل. بالإضافة إلى ذلك، لا يمكن رؤية الإضافات، والتغييرات، والتعديلات التي يقوم بها المستخدمون الآخرون.

يمكن ضبط نوع المؤشر من خلال خاصية CursorType أو من خلال متغير CursorType في طريقة Open.

التعليق:ليس كل مزود (providers) يدعم كل طرق Recordset وخصائص.

الصفات

الصفات وصف
AbsolutePage ضبط أو رجوع قيمة يمكن تحديد صفحة السجل في Recordset.
AbsolutePosition ضبط أو رجوع قيمة يمكن تحديد موقع السجل الحالي في Recordset (الموقع التسلسلي).
ActiveCommand رجوع الـ Command المترابط مع Recordset.
ActiveConnection إذا تم إغلاق الاتصال، يتم ضبط أو رجوع تعريف الاتصال، وإذا كان الاتصال مفتوحًا، يتم ضبط أو رجوع الـ Connection الحالي.
BOF إذا كانت موقع السجل الحالي قبل أول سجل، يتم رجوع true، وإلا يتم رجوع fasle.
Bookmark ضبط أو رجوع علامة الحكم التي تؤخر موقع السجل الحالي.
CacheSize ضبط أو رجوع عدد السجلات التي يمكن توفيرها.
CursorLocation ضبط أو رجوع موقع خدمة المؤشر.
CursorType ضبط أو رجوع نوع المؤشر للـ Recordset.
DataMember ضبط أو رجوع اسم العضو البياني الذي سيتم استخدامه من عنوانDataSource.
DataSource تحديد عنوان للاجتماع الذي يحتوي على البيانات التي سيتم تمثيلها كـ Recordset.
EditMode رجوع حالة التحرير الحالية للسجل الحالي.
EOF إذا كانت موقع السجل الحالي بعد آخر سجل، يتم رجوع true، وإلا يتم رجوع fasle.
Filter رجوع ملف تصفية يستهدف بيانات Recordset.
Index ضبط أو رجوع اسم المؤشر الحالي لـ Recordset.
LockType ضبط أو رجوع قيمة يمكن تحديد نوع الوجهة التي يمكن تعيينها عند تعديل سجل في Recordset.
MarshalOptions ضبط أو رجوع قيمة، تقوم بتحديد ما إذا كانت ستعود السجلات إلى الخادم.
السجلات القصوى تعيين أو استرداد عدد السجلات القصوى التي يمكن استردادها من Recordset.
عدد الصفحات استرداد عدد صفحات البيانات في Recordset.
حجم الصفحة تعيين أو استرداد عدد السجلات المسموح بها في صفحة واحدة من Recordset.
عدد السجلات استرداد عدد السجلات في Recordset.
الترتيب تعيين أو استرداد اسم الحقل الذي يعتمد عليه Recordset في الترتيب.
المصدر تعيين قيمة نصية أو مرجع إلى Command أو استرداد قيمة نصية توضح مصدر Recordset.
الحالة استرداد قيمة توضح ما إذا كان Recordset مفتوحًا أو مغلقًا أو متصلًا أو قيد التنفيذ أو قيد استرداد البيانات.
الحالة استرداد حالة السجل الحالي لتحديث الجلسة أو العمليات الكبيرة.
تبقى في التوافق تعيين أو استرداد ما إذا كان يجب تغيير مرجع السجلات الفرعية عند تغيير موقع السجل الأم.

الطريقة

الطريقة وصف
إضافة جديد إنشاء سجل جديد.
إلغاء إلغاء تنفيذ.
إلغاء الجلسة إلغاء تحديث جماعي.
إلغاء تحديث إلغاء تعديل سجل في Recordset.
نسخ إنشاء نسخة من Recordset موجود.
إغلاق إغلاق Recordset.
مقارنة علامات الكتابة مقارنة علامات الكتابة.
حذف حذف سجل أو مجموعة من السجلات.
البحث البحث عن سجل في Recordset يلبي شرطًا معينًا.
getRows نسخ سجلات متعددة من Recordset إلى مصفوفة ثنائية.
getString استرداد Recordset كنص.
تحريك تحريك مؤشر السجل في Recordset.
تحريك الأول تحريك مؤشر السجل إلى السجل الأول.
تحريك الأخير تحريك مؤشر السجل إلى السجل الأخير.
تحريك التالي تحريك مؤشر السجل إلى السجل التالي.
تحريك سابق تحريك مؤشر السجل إلى السجل السابق.
التاليRecordset بالتنفيذ سلسلة من الأوامر لتحديد Recordset الحالي وتقديم Recordset التالي.
فتح فتح عنصر قاعدة البيانات، والذي يمكنه تقديم الوصول إلى سجلات الجدول، أو نتائج الاستعلام أو Recordset المحفوظ.
Requery تحديث بيانات Recordset عن طريق إعادة تنفيذ الاستعلام الذي يعتمد عليه العضو.
Resync أعد تحديث البيانات الحالية في Recordset من قاعدة البيانات الأصلية.
Save احفظ Recordset في ملف أو عضو Stream.
Seek ابحث في مؤشر Recordset لتحديد السجل الذي يتطابق مع القيمة المحددة بسرعة وجعله السجل الحالي.
Supports يعود قيمة بولية يمكن استخدامها لتحديد ما إذا كان Recordset يدعم نوع معين من الوظائف.
Update احفظ جميع التغييرات التي تم إدخالها في سجل واحد من Recordset.
UpdateBatch احفظ جميع التغييرات في قاعدة البيانات التي تم إدخالها في Recordset. استخدم في نمط التحديث الجماعي.

أحداث

ملاحظة: لا يمكنك التعامل مع الأحداث باستخدام VBScript أو JScript (يمكن التعامل مع الأحداث فقط بلغات Visual Basic، Visual C++، و Visual J++).

أحداث وصف
EndOfRecordset يُشغل عند محاولة الانتقال إلى السجل الذي يلي نهاية Recordset.
FetchComplete يُشغل عند قراءة جميع السجلات في العملية غير السلسة.
FetchProgress يُشغل بانتظام خلال عملية غير سلسة، ويُخبر عن عدد السجلات التي تم قراءتها.
FieldChangeComplete يُشغل بعد تغيير قيمة عضو Field.
MoveComplete يُشغل بعد تغيير الموقع الحالي في Recordset.
RecordChangeComplete يُشغل بعد تغيير سجل.
RecordsetChangeComplete يُشغل بعد تغيير Recordset.
WillChangeField يُشغل قبل تغيير قيمة عضو Field.
WillChangeRecord يُشغل قبل تغيير سجل.
WillChangeRecordset يُشغل قبل تغيير Recordset.
WillMove يُشغل قبل تغيير الموقع الحالي في Recordset.

مجموعة

مجموعة وصف
Fields يُشير إلى عدد أعضاء Field في هذا Recordset.
Properties يحتوي على جميع أعضاء Property في كل Recordset.

صفات مجموعتة الحقول

الصفات وصف
عدد

إرجاع عدد المشاريع في مجموعتة الحقول. تبدأ من 0.

مثال:

	countfields = rs.Fields.Count
	
Item(named_item/number)

إرجاع المشروع المحدد في مجموعتة الحقول.

مثال:

	itemfields = rs.Fields.Item(1)
	أو	
	itemfields = rs.Fields.Item("Name")
	

صفات مجموعتة الممتلكات

الصفات وصف
عدد

إرجاع عدد المشاريع في مجموعتة الممتلكات. تبدأ من 0.

مثال:

	countprop = rs.Properties.Count
	
Item(named_item/number)

إرجاع مشروع الممتلكات المحدد.

مثال:

	itemprop = rs.Properties.Item(1)
	أو
	itemprop = rs.Properties.Item("Name")