• 0
عيسى المحمدي

كيفية عمل transaction لأكثر من تعليمة مختلفة في فيجوال بيسك دوت نت

سؤال

انا عندي مشروع بالفيجوال بيسك على قاعدة بيانات اوراكل 10g استخدمت الكائن oledb للاتصال بقاعدة البيانات واستخدمت كمان الكائن transaction، ولكن عند ادخال البيانات، اريد ان افحص اذا كانت البيانات موجودة او لا فاذا كانت موجودة قم بتحديث هذه البيانات واذا لم تكن موجودة قم بادخال البيانات، وعند حصول اي خطأ بالادخال (بسبب اختلاف بالبيانات مثلا او حجم البيانات اكبر من حجم الحقل ) يجب عمل RollBack لكل البيانات المدخلة في هذه الجلسة.

ولكن  وعند التنفيذ يظهر لي هذا الخطأ ولم اعرف السبب؟

 

(يتطلب ExecuteReader أن يكون للأمر معاملة عندما يكون الاتصال المعيّن إلى الأمر في معاملة محلية معلقة.  لم تتم تهيئة الخاصية Transaction الخاصة بالأمر.)

 

هل لأن العمليات مختلفة حيث ان الاوى ادخال بيانات والثانية قراءة بيانات والثالثة تحديث بيانات
 

كيف يمكن عمل هذا؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

3 إجابة على هذا السؤال .

  • 0

من العبقري اللي بيجاوب على هذا السؤال ؟!


وانا بدعيله بكل شيء يتمناه!


 


 


 


................


0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يا جماعة فين الاجابة


0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

ممكن انت تستخدم الدالة BeginTransaction من كائن الاتصال الخاص بأوراكل oracleconnection كالاتي 

'نعرف متغير من اوراكل ترانس اكشنdim trans as new oracletransaction'وبعد فتح الاتصال تكتب الجملة الاتيه لبدء عملية التعامل مع حركات متعددة داخل قاعدة البياناتtrans = connString.BeginTransaction()' بعد ذلك تضيف متغير الحركات الذي عرفناه الي الاوراكل كوماند كالاتي cmd.transaction=trans' بعد ذلك تتعامل بطريقة طبيعية مع الكود من اضافة حذف او كما تريد وعند الانتهاء تكتب الجملة الاتيهcmd.transaction.commit

ملحوظة :

trans = oracletransaction object

connString= oraclconnection object

cmd = oracleCommand object

تم تعديل بواسطه hisham saad
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .