عملية (ODBC)

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

العملية هى طريقة لتجميع أو عمل دفعة من سلسلة من التحديثات لمصدر بيانات بحيث يتم تنفيذ الجميع مرة واحدة أو لا تنفيذ أيهم إذا قمت باستعادة المعاملة. إذا لم تكن تريد استخدام عملية , يتم تنفيذ تغيرات تلقائياً على مصدر البيانات بدلاً من أن يتم تنفيذها عند الطلب.

ملاحظة

ليست كافة برامج تشغيل قاعدة بيانات ODBC تدعم العمليات. استدع دالة العضو CanTransact لـ CDatabase الخاصة بك أو كائن CRecordset لتحديد ما إذا كان برنامج التشغيل الخاص بك يدعم المعاملات لقاعدة بيانات محددة. لاحظ أن CanTransact لا يخبرك ما إذا كان مصدر البيانات يوفر الدعم الكامل للعملية. يجب أيضاً استدعاء CDatabase::GetCursorCommitBehavior و CDatabase::GetCursorRollbackBehavior بعد CommitTrans و Rollback لتتحقق من تأثير العملية على فتح كائن CRecordset .

الاستدعاءات لـدالات العضو AddNew و Edit للكائن CRecordset تؤثر على مصدر البيانات مباشرةً عند استدعاء Update. استدعاءات Delete أيضاً نافذة المفعول في الحال. وبالعكس، يمكنك استخدام معاملات تتألف من عدة استدعاءات لـ AddNew ، Edit و Update و Delete ، يتم تنفيذها ولكن ليس قبل استدعاء CommitTrans بشكل صريح. بتأسيس عملية ، يمكنك تنفيذ سلسلة من مثل هذه الاستدعاءات مع الاحتفاظ بالقدرة على العودة إليها. إذا كان مورد ضروري غير متوفر أو منعت بعض الشروط الأخرى للعملية بأكملها من الاكتمال , يمكنك استعادة المعاملة بدلاً من تنفيذها. في هذه الحالة،لا تؤثر أي من التغييرات التي تنتمي إلى العملية على مصدر البيانات.

ملاحظة

حالياً، الفئة CRecordset لا تدعم التحديثات لمصدر البيانات إذا طبقت جلب صفوف كبيرة الحجم. هذا يعني أنه لا يمكن إجراء استدعاءات لـ AddNew ، Edit أو Delete Update. ومع ذلك، يمكنك كتابة الدالات الخاصة بك لتنفيذ عمليات تحديث ثم استدعاء هذه الدالات خلال عملية ما. لمزيد من المعلومات حول إحضار صفوف كبيرة الحجم راجع مجموعة السجلات: ‎جلب سجلات في تجمع (ODBC)

ملاحظة

بالإضافة إلى التأثير على مجموعة السجلات الخاصة بك ، تؤثر العمليات على عبارات SQL التي تقوم بتنفيذها مباشرة طالما تستخدم في ODBC HDBC مع الكائن CDatabase الخاص بك أو ODBC HSTMT مستندة إلى ذلك الـ HDBC .

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

في فئات قاعدة البيانات , تنفذ العمليات خلال كائنات CDatabase . كائن CDatabase يمثل الاتصال بمصدر بيانات، و واحدة أو أكثر من مجموعات السجلات المقترنة بهذا الكائن CDatabase تعمل على جداول قاعدة البيانات من خلال دالات عضو مجموعة السجلات.

ملاحظة

يتم دعم مستوى واحد فقط من العمليات. يتعذر تنفيذ تداخل بين المعاملات , ولا أن تشمل معاملة كائنات قاعدة بيانات متعددة.

توفر المواضيع التالية المزيد من المعلومات حول كيفية تنفيذ العمليات:

راجع أيضًا:

المبادئ

اتصالات قاعدة الببيانات المفتوحة (ODBC)