الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه عيسى المحمدي في 8 سبتمبر 2014 · 3 رد · 988 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

 

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

 

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

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

#2

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


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


 


 


 


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


#3

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


#4

السلام عليكم

ممكن انت تستخدم الدالة 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 في 10 سبتمبر 2014 في 13:33

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…