منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : حفظ بيانات في جدولين في sql
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته ...
ارجو التكرم والمساعدة بكيفية حفظ قيم في جدولين ( جدول اساسي وآخر تفصيلي) وذلك معا اي ان فشل في احدهما لا يقوم بحفظ الآخر ...
مثال ذلك لدي فاتورة وجدولين ، الاول master والثاي details - حيث يقوم بتخزين البيانات في master  اولا وبعد ذلك بتخزين بيانات الفاتورة بجدول details ... والمشكلة هنا انه اذا حدث خلل في تخزين details (المرحلة الثانية) تكون العملية قد تم نصفها وهذا خلل ...
ولكم جزيل الشكر ...
السلام عليكم ورحمة الله وبركاته
اخي الكريم عملية الحفظ تتم حكما بالتسلسل
 ولكن الفكرة لحل مشكلة عدم حفظ القسم الثاني تكون في خال الفشل نقوم بحذف ماتم تخزينه (القسم الاول)
انا لم اجرب ذلك ولكن كفكرة يمكن تنفيذها
نضع الكود في جملة try catch ونعمل exeption   له بحيث تظهر رسالة الخطأ ومن خلالها نضغط على البوتون يقوم بمهمة حذف القسم الاول
ارجون تكون الفكرة واضحة 
السلام عليكم ورحمة الله وبركاته
أشكر لكم مروركم...
ما تكرمتم به ممكن ان كان الحفظ جملة واحدة وقبل تنفيذ   Cmd.ExecuteNonQuery ...وذلك ممكن اذا تم تكوين عبارتي ادخال :
.CommandText = "insert into InvMaster
.CommandText &= "insert into InvDetails
وهي الطريقة التي لجأت اليها ..
ولكن هناك ايضا شي جديد وجته يتعلق بالوامر :
Commit and Rollback
وانا ابحث لمعرفة التفاصيل بها ...
وبارك الله بكم
اذا تم معرفة رقم الاي دي للصف الرئيسي فمن السهل حذف ذلك الصف عند  الرغبة بالتراجع عن تفاصيل معينة.
وهذا يكون بتخزين قيمة تاتي من كود select@@identity  او select scope_identity()
السلام عليكم ورحمة الله وبركاته
اخي الكريم العمليات التي ذكرتها (BeginTransaction, Commiy,RollBack,SavePoint) 
هي عمليات اشبه بالترتجع عن عمليات الكتابة الثلاثة في قاعدة البيانات بحيث انك تحدد سلفا امكانية الرجوع عن العملية
اليك هذا الرابظ 3 فيديوهات شرح لما تريد
https://www.youtube.com/watch?v=-KbbPH3Y...chnologies