ODBC: مكتبة مؤشرات ODBC

هذا الموضوع يصف مكتبة مؤشرات ODBC ويشرح كيفية استخدامها. لمزيد من المعلومات، راجع:

  • مكتبة المؤشرات وبرامج تشغيل ODBC المستوى 1

  • التحديثات الموضوعة و أعمدة Timestamp

  • استخدام مكتبة المؤشرات

مكتبة مؤشرات ODBC هي مكتبة ارتباط حيوي (DLL) موجودة بين برنامج التشغيل و إدارة برامج تشغيل ODBC. في مصطلحات ODBC ، يحتفظ برنامج التشغيل بمؤشر لمتابعة تعقب موضعه في مجموعة السجلات. يقوم المؤشر بوضع علامات الموضع في مجموعة السجلات التي يمكنك أن تكون بالفعل قمت بالتمرير إليها — السجل الحالي.

مكتبة المؤشرات وبرامج تشغيل ODBC المستوى 1

تعطي مكتبة مؤشرات ODBC برامج تشغيل المستوى 1 القدرات الجديدة التالية:

  • التمرير إلى الأمام وإلى الخلف. لا تحتاج برامج تشغيل المستوى 2 لمكتبة المؤشرات لأنها بالفعل قابلة للتمرير.

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

مكتبة المؤشرات تمنحك لقطات (مؤشرات ثابتة) حتى إذا لم يتم اعتمادها عادة بواسطة برنامج التشغيل. إذا كان برنامج التشغيل يدعم بالفعل مؤشرات ثابتة، لا تحتاج لتحميل مكتبة المؤشرات للحصول على دعم لقطة. إذا كنت تريد استخدام مكتبة المؤشرات ، يمكنك استخدام فقط اللقطات و مجموعات السجلات للإرسال فقط. إذا كان برنامج تشغيل يدعم المجموعات الحيوية (رؤوس مؤشرات KEYSET_DRIVEN) وكنت تريد استخدامها , يجب عدم استخدام مكتبة المؤشرات. إذا كنت تريد استخدام كل من اللقطات و المجموعات الحيوية, يجب أن تسندهما على كائني CDatabase مختلفين (اتصالين مختلفين) إلا إذا كان برنامج التشغيل الخاص بك يدعم كلاهما.

التحديثات الموضوعة و أعمدة Timestamp

ملاحظة

مصادر البيانات ODBC يتم الوصول إليها من خلال الفئات MFC ODBC كما هو موضح في هذا الموضوع أو عبر فئات "كائن MFC للوصول للبيانات" (DAO).

ملاحظة

إذا كان برنامج تشغيل ODBC يدعم SQLSetPos ، والذي يستخدمه MFC إذا كان متوفراً، لن يطبق هذا الموضوع لك.

معظم برامج تشغيل مستوي 1 لا تدعم التحديثات محددة الموضع. مثل برامج التشغيل تلك تعتمد على مكتبة المؤشر (cursor) لمضاهاة قدرات برامج تشغيل المستوى 2 . تقوم مكتبة المؤشرات بمحاكاة دعم وضع التحديث بإجراء تحديث البحث على حقول غير متغيرة.

في بعض الحالات ، قد تحتوي مجموعة سجلات على عمود timestamp كأحد تلك الحقول غير المتغيرة. تنشأ مسألتين في استخدام مجموعات سجلات MFC مع الجداول التي تحتوي على أعمدة timestamp.

المشكلة الأولى تتعلق باللقطات القابلة للتحديث على جداول بأعمدة timestamp. إذا كان الجدول الذي ترتبط اللقطة الخاص بك به يحتوي على عمود الطابع زمني ، يجب استدعاء Requery بعد استدعاء ر و ‎Update. إذا لم ، قد لا تتمكن من تحرير نفس السجل مرة أخرى. عند استدعاء ‎Edit ثم ‎Update ، يتم كتابة السجل إلى مصدر البيانات ويتم تحديث أعمدة timestamp. إذا لم تقم باستدعاء Requery ، قيمة timestamp للسجل في اللقطة الخاص بك لن تعود مطابقة للطابع الزمني المناسب على مصدر البيانات . عند محاولة تحديث السجل مرة أخرى ، مصدر البيانات قد لا يسمح بالتحديث نتيجة عدم التطابق.

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

استخدام مكتبة المؤشرات

عند الاتصال بمصدر بيانات — عن طريق استدعاء CDatabase::OpenEx أو CDatabase::Open — يمكنك تحديد ما إذا كان سيتم استخدام مكتبة المؤشرات لمصدر البيانات. إذا كنت ستقوم بإنشاء لقطات على مصدر البيانات ، حدد الخيار CDatabase::useCursorLib في المعلمة dwOptions لـ OpenEx أو حدد TRUE للمعلمة bUseCursorLib لـ Open‎ ( مة الافتراضية هي TRUE ). إذا كان برنامج تشغيل ODBC يدعم المجموعات الحيوية وكنت ترغب في فتح المجموعات الحيوية على مصدر البيانات ، لا تستخدم مكتبة المؤشرات (هى تقوم بوضع أقنعة علي بعض وظائف برنامج التشغيل المطلوبة للمجموعات الحيوية). في هذه الحالة، لا تقم بتحديد CDatabase::useCursorLib في OpenEx أو تحديد FALSE للمعلمة bUseCursorLib في Open‎.

راجع أيضًا:

المبادئ

أساسيات ODBC