مجموعة السجلات إنشاء ثم إغلاق مجموعات السجلات (ODBC)

هذا الموضوع يُطبق على فئات MFC ODBC.

لاستخدام مجموعة سجلات قم بإنشاء كائن مجموعة سجلات ثم قم باستدعاء دالة العضو Open الخاصة بها لتشغيل الاستعلام لمجموعة السجلات و تحديد السجلات. عندما تنتهي من مجموعة السجلات ، أغلق ثم أتلف الكائن.

هذا الموضوع يوضح :

  • متى وكيف تنشيء كائن مجموعة سجلات.

  • متى وكيف يمكن اختيار سلوك مجموعة السجلات بواسطة جعلها ذات معلمات أو تصفيتها أو فرزها، أو تأمينها.

  • متى وكيف يغلق كائن مجموعة سجلات.

إنشاء مجموعات السجلات في وقت التشغيل

قبل أن تتمكن من إنشاء كائنات مجموعة السجلات في البرنامج ، تقوم عادةً بكتابة فئات مجموعة السجلات الخاصة بالتطبيق. لمزيد من المعلومات حول هذه الخطوة الأولية راجع إضافة عملاء ODBC MFC.

افتح كائن أو لقطة عندما تحتاج لتحديد سجلات من مصدر البيانات. يعتمد نوع الكائن الذى تريد إنشاءه على ما تحتاج إلى القيام به بالبيانات في التطبيق الخاص بك وعلى ما يعتمد عليه برنامج تشغيل ODBC. لمزيد من المعلومات، راجع Dynaset و Snapshot.

لفتح مجموعة سجلات

  1. قم بإنشاء كائن من فئة CRecordset المشتقة الخاصة بك.

    يمكنك إنشاء الكائن على كومة الذاكرة المؤقتة أو في إطار المكدس لدالة.

  2. بشكل اختياري، قم بتعديل سلوك مجموعة السجلات. للحصول على الخيارات المتوفرة راجع إعداد خيارات مجموعة السجلات.

  3. قم باستدعاء دالة العضو Open‎ الخاصة بـالكائن.

في المنشئ ،قم بتمرير مؤشر إلى كائن CDatabase أو مرر NULL لاستخدام كائن قاعدة بيانات مؤقت الذى يقوم إطار العمل بإنشاءئه و فتحه استناداً إلى سلسلة الاتصال التي يتم إرجاعها من قبل دالة العضو GetDefaultConnect. الكائن CDatabase قد يكون متصلاً بالفعل بمصدر البيانات.

استدعاء Open يستخدم SQL لتحديد السجلات من مصدر البيانات. السجل الأول المحدد (إن وجد) هو السجل الحالي. يتم تخزين قيم حقول هذا السجل في أعضاء بيانات حقل كائن مجموعة السجلات. إذا تم تحديد أية سجلات، فإن كلاً من دالات عضو IsBOF و IsEOF تقوم بإرجاع 0.

في استدعاء Open ، يمكنك:

  • تحديد ما إذا كانت مجموعة السجلات مجموعة حيوية أو لقطات. مجموعات السجلات يتم فتحها كلقطات بشكل افتراضي. أو يمكنك تحديد مجموعة سجلات للإرسال فقط, مما يسمح بالتمرير إلى الأمام فقط، سجلاً واحداً في كل مرة .

    بشكل افتراضي مجموعة السجلات تستخدم النوع الافتراضي المخزن في عضو بيانات CRecordsetـm_nDefaultType . المعالجات تقوم بكتابة التعليمات البرمجية لتهيئة m_nDefaultType إلى نوع مجموعة السجلات الذي تختاره في المعالج. بدلاً من قبول هذا الافتراضي "، يمكنك استبدال نوع مجموعة سجلات آخر.

  • حدد سلسلة لاستبدال عبارة SQL الافتراضية SELECT التي تقوم بإنشائها مجموعة السجلات.

  • حدد ما إذا كانت مجموعة السجلات للقراءة فقط أو للإلحاق فقط. تسمح مجموعات السجلات بالتحديث الكامل افتراضياً، و لكن يمكنك قصر ذلك على إضافة سجلات جديدة فقط أو يمكنك عدم السماح بكافة التحديثات.

المثال التالي يوضح كيفية فتح كائن لقطة للقراءة فقط من الفئة CStudentSet ، فئة الخاصة بالتطبيق:

// Construct the snapshot object
CStudentSet rsStudent( NULL );
// Set options if desired, then open the recordset
if(!rsStudent.Open(CRecordset::snapshot, NULL, CRecordset::readOnly))
    return FALSE;
// Use the snapshot to operate on its records...

بعد استدعاء Open، استخدم دالات العضو و بيانات العضو للكائن للعمل مع السجلات. في بعض الحالات، قد تحتاج لإعادة استعلام أو تحديث السجلات لتضمين التغييرات التي حدثت على مصدر البيانات. للحصول على مزيد من المعلومات، راجع مجموعة السجلات. إعادة استعلام مجموعة سجلات (ODBC).

تلميحتلميح

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

تعيين خيارات مجموعة السجلات

بعد إنشاء كائن مجموعة السجلات ولكن قبل استدعاء Open لتحديد سجلات, قد تحتاج لتعيين بعض الخيارات للتحكم في سلوك مجموعة السجلات. لكافة مجموعات السجلات ، يمكنك القيام بما يلي:

  • تحديد عامل تصفية لوضع قيود على تحديد السجلات.

  • تحديد ترتيب فرز السجلات.

  • تحديد المعلمات بحيث يمكنك تحديد السجلات باستخدام المعلومات التى تم الحصول عليها أو حسابها في وقت التشغيل.

يمكنك أيضاً تعيين الخيار التالي إذا تحققت الشروط:

  • إذا كانت مجموعة السجلات غير قابلة للتحديث و تدعم خيارات التأمين، حدد أسلوب locking‎(تأمين) المستخدم للتحديثات.

ملاحظة

للتأثير على تحديد السجل ، يجب عليك تعيين هذه الخيارات قبل استدعاء دالة العضو Open .

إغلاق مجموعة السجلات

عندما تنتهي من مجموعة السجلات الخاصة بك يجب التخلص منها ثم إلغاء تخصيص الذاكرة الخاصة به.

لإغلاق مجموعة سجلات

  1. استدع دالة العضو Close‎ الخاصة بها.

  2. قم بتدمير(إتلاف) كائن مجموعة السجلات.

    في حالة التصريح بإطار المكدس للدالة ، إتلاف الكائن يتم تلقائياً عندما ينتقل الكائن خارج النطاق. وإلا، فاستخدم العامل delete‎ (حذف).

إغلاق يحرر المؤشر HSTMT لمجموعة السجلات . و لا يتلف كائن C++‎.

راجع أيضًا:

المبادئ

مجموعة السجلات (ODBC)

مجموعة السجلات التمرير (ODBC)

مجموعة السجلات إضافة و تحديث و حذف السجلات (ODBC)