(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
أو برجاء وضح ما الذي فكر فيه أكثر , لأن الذي تريدة لم تصل فكرتة بعد
ماذا تعني بـ استدعي نفس الاجراء ولكن اقوم بتغيير اسم الجدول فقط
إشرح ما الذي يحدث داخل الإجراء لوصول الفكرة
الواضح أن الإجراء الذي تفكر فية يستقبل متغير وهو اسم الجدول
لكن ماذا نتوقع من هذا الإجراء الذي ستقوم به ؟