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