تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] سؤال بخصوص oop
#5
(30-09-18, 02:38 PM)ay.alhaj كتب : جزاك الله كل خير لكن انا اريد الكود في وضع discdisconnecting mode 

اي باستخدام dataset


كل جدول له TableAdapter خاص به
ولا يمكن لهذا الـ TableAdapter تحديث بيانات جدول آخر
لماذا ؟ 
1 - لأنه يحتوي على جمل الإستعلام الخاصة بهذا الجدول 
2 - لأن هذا الـ TableAdapter يتحسس حالت السجلات في الجدول ( عند تنفيذ إجراء - الـ Update ) 
     بمعنى : إذا كان الجدول يحتوي على 50 سجل ,
                 10 سجلات محذوفين , 3 سجلات مضافين جدد , 7 سجلات تم تغيير بياناتهم , الباقي لم يتم المساس بهم.
                 ماذا يفعل  الـ TableAdapter الآن :
                                                   سيقوم بالتحقق من جميع السجلات قبل أي إجراء يتخذ ضد هذة السجلات
                                                   وسيسأل عن حالة السجل :
                                                                             1 - إذا كانت حالت السجل في الجدول المطلوب تحديثة = محذوف ( سينفذ جملة SQL الخاصة بالحذف ضد هذا السجل فقط )
                                                                                                                                                                                   DELETE FROM Table1 WHER ID = 1

                                                                             2 - إذا كانت حالت السجل في الجدول المطلوب تحديثة = جديد ( سينفذ جملة SQL الخاصة بالإدراج ضد هذا السجل فقط )
                                                                                         INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...)   0


                                                                             3 - إذا كانت حالت السجل في الجدول المطلوب تحديثة = معدل ( سينفذ جملة SQL الخاصة بالتحديث ضد هذا السجل فقط )
                                                                                                          UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;   0

                                                                             4 - إذا كانت حالت السجل في الجدول المطلوب تحديثة = لم يتغير ( لن يكون ضمن السجلات التي سيتم علية إجراء )


تذكر أن الـ tableadapter  سينشئ جميع الـ parameters لأغراض تفنيذ الإجراء , مما يعني أنه يجب أن يتعامل مع جدول محدد , 


كل هذا يتم عند إستدعاء الأمر Update
tableadapter.update(DataTable)    0
أو
tableadapter.update(DataSet)    0



لذلك من الظروري أن يكون لكل جدول tableadapter خاص به


إذا كنت تفكر في إستعمال شيئ يقلل عليك كتابة الكود 

أي tableadapter لديك موجود في الـ Dataset إنشئ Module أو Class ثم قم بعمل متغر لكل tableadapter لديك فيه
عندها يمكنك إستخدامها في أكثر من مكان .
MyClass.tableadapter1.update(Datatable1)    0

MyClass.tableadapter2.update(Datatable2)    0
MyClass.tableadapter3.update(Datatable3)    0


أو برجاء وضح ما الذي فكر فيه أكثر , لأن الذي تريدة لم تصل فكرتة بعد
ماذا تعني بـ  استدعي نفس الاجراء ولكن اقوم بتغيير اسم الجدول فقط
إشرح ما الذي يحدث داخل الإجراء لوصول الفكرة 
الواضح أن الإجراء الذي تفكر فية يستقبل متغير وهو اسم الجدول
لكن ماذا نتوقع من هذا الإجراء الذي ستقوم به ؟
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
سؤال بخصوص oop - بواسطة ay.alhaj - 30-09-18, 07:40 AM
RE: سؤال بخصوص oop - بواسطة mmali127 - 30-09-18, 09:30 AM
RE: سؤال بخصوص oop - بواسطة ay.alhaj - 30-09-18, 02:38 PM
RE: سؤال بخصوص oop - بواسطة عبدالله الدوسري - 30-09-18, 05:05 PM
RE: سؤال بخصوص oop - بواسطة ay.alhaj - 30-09-18, 05:04 PM
RE: سؤال بخصوص oop - بواسطة mmali127 - 30-09-18, 05:24 PM
RE: سؤال بخصوص oop - بواسطة ay.alhaj - 30-09-18, 08:39 PM
RE: سؤال بخصوص oop - بواسطة ay.alhaj - 30-09-18, 09:53 PM
RE: سؤال بخصوص oop - بواسطة ay.alhaj - 30-09-18, 09:59 PM
RE: سؤال بخصوص oop - بواسطة ay.alhaj - 30-09-18, 11:08 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم