![]() |
|
لماذا يتم انشاء العديد من كائنات الاتصال - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : لماذا يتم انشاء العديد من كائنات الاتصال (/showthread.php?tid=45927) الصفحات:
1
2
|
RE: لماذا يتم انشاء العديد من كائنات الاتصال - عبدالله الدوسري - 22-04-23 (21-04-23, 08:02 PM)foo كتب : استاذ عبدالله الدوسري هل لـ SAVE TRANSACTION مفيدة في حالة اتصالين منفصلين؟ دعنا نشبه الـ Transaction بـ أنبوب كبير ، أي إتصال لم يدخل ضمن الـ Transaction ، ببساطة ليس له علاقة في أي عملية تحدث داخل الـ Transaction الـ Save Transaction : لن تفيد أي إتصال خارج الـ Transaction وظيفتها فقط حفظ نقطة عودة ( داخل الـ Transaction ) الـ Transaction : ( سيدخل فيه عدة عمليات مثلاً ، عملية 1، عملية 2، عملية 3، عملية 4، عملية 5، عملية 6، عملية 7، إلخ..... ) بدأت العمليات كلهم في نفس الـ Transaction العمليات كالتالي : --------------------------------------------- بداء الدخول في الـ Transaction --------------------------------------------- بدأت عملية 1 إنتهت بنجاح --------------------------------------------- بدأت عملية 2 إنتهت بنجاح --------------------------------------------- ( Save Transaction ) حفظ نقطة عودة إلى هذا المكان في حال فشلت العمليات التالية بعد هذة النقطة نقطة العودة تم تسميتها : ( Save_Point_1 ) --------------------------------------------- بدأت عملية 3 إنتهت بنجاح --------------------------------------------- بدأت عملية 4 فشلت --------------------------------------------- ROLLBACK TRANSACTION Save_Point_1 العودة إلى نقطة الحفظ المسماه ( Save_Point_1 ) وكأن العمليات رقم 3 ورقم 4 لم تحدث إطلاقاً نستطيع تغيير مسار العمليات في هذة الحالة --------------------------------------------- بدأت عملية 6 إنتهت بنجاح --------------------------------------------- بدأت عملية 7 إنتهت بنجاح --------------------------------------------- COMMIT TRANSACTION الخروج من الـ Transaction بنجاح في السيناريو السابق العمليات رقم 3 ورقم 4 لم تحدث (22-04-23, 08:22 AM)سعود كتب : ما رايكم بالطريقة التالية هل ستسبب مشكلة؟ ممتاز جداً إستخدامك للـ Using في مثل هذة الحالات التي لا نحتاج فيها بقاء الكائنات بعد إنتهاء العملية. لا يوجد مشكلة في الكود، بما أنك أنت من يتحقق من القيمة التي ستعود من هذة الـ Function وبناءً عليها تقوم باللازم ملاحظة : ( في هذة الحالة : لا تحتاج أبداً أن تسأل عن حالت الإتصال إذا كان مفتوح أو مغلق، لأنه وبكل تأكيد مغلق ، لأنك للتو أنشائت هذا الكائن وبكل تأكيد حالت الإتصال مغلق ) هذة نسخة أفضل : [attachment=28906] RE: لماذا يتم انشاء العديد من كائنات الاتصال - سعود - 26-04-23 لتوي جربت توحيد كائن اتصال وواجهت مشكلة متكررة وهي مسالة الاتصال مغلق :: اجراء حالي يتصل بقاعدة البيانات عبر con مثلا وهو واحد و بنفس الوقت ينفذ استعلام عبر function وهنا تظهر المشكلة ..... لا افضل من تكرر كائنات الاتصال مادام هذا متاح RE: لماذا يتم انشاء العديد من كائنات الاتصال - ابو محمد محمد محمد - 27-04-23 (21-04-23, 08:02 PM)foo كتب : استاذ عبدالله الدوسري هل لـ SAVE TRANSACTION مفيدة في حالة اتصالين منفصلين؟ (26-04-23, 06:17 PM)سعود كتب : لتوي جربت توحيد كائن اتصال وواجهت مشكلة متكررة وهي مسالة الاتصال مغلق :: اجراء حالي يتصل بقاعدة البيانات عبر con مثلا وهو واحد و بنفس الوقت ينفذ استعلام عبر function وهنا تظهر المشكلة ..... مشكلة الاتصال مغلق يبدو لانك تستخدم كائن الاتصال في بعض الجهات وتقوم بغلقه لن يتم غلقه طالما لم تغلقه انت وهذا من واقع تجربة في مشروع عندي كامل استخدم كائن واحد وافتحه مرة واحدة ويبقى مفتوحا حتى يتم غلق المشروع |