23-01-18, 02:02 PM
(23-01-18, 01:33 PM)محمود صالح كتب : بعد اذن صاحب الموضوع
اخي عبدالله الدوسري
طريقتك انا استخدمتها قبل كده حلت 90% من الموضوع ولكن مع التجربة اكتشفت مشكلة وهي التعديل بالحذف وليس التعديل في القيم مع وجود الصف
مثلا كما قلت سابقا فاتورة 5 صفوف او اصناف اراد ان يحذف صف او صنف فاصبحت الدتا جريد فيو 4 بدل 5 ويريد التعديل
ما الحل بنفس جملة updata
لم اجد الى الطريقة الحذف والاضافة مرة اخرى ولو عنك حل
تبقى مشكور جدا
ممكن تذكر لي طريقتك في حذف السجل
المفروض تتعامل مع Datarow
وليس مع الــ Datagridview
ببساطة الجدول يحتوي على صفوف Rows
كل Row له خاصية إسمها RowState تدل على حالة السجل إذا كان محذوف أو جديد أو لم يتم التعديل علية أو غير مرتبط بأي جدول أو تم التعديل علية
PHP كود :
Added
The row has been added to a DataRowCollection, and AcceptChanges has not been called.
Deleted
The row was deleted using the Delete method of the DataRow.
Detached
The row has been created but is not part of any DataRowCollection. A DataRow is in this state immediately after it has been created and before it is added to a collection, or if it has been removed from a collection.
Modified
The row has been modified and AcceptChanges has not been called.
Unchanged
The row has not changed since AcceptChanges was last called.
يأتي الآن دور الـTableadapter
يقوم الـTableadapter عند تنفيذ أمر Update بالإلتفاف على جميل السجلات في الجدول (على سبيل المثال : Update لجدول معين )
ويقوم الـTableadapter بسؤال كل سجل عن حالتة
إذا
Added
يقوم الـTableadapter بتنفيذ أمر INSER ضد هذا السجل
إذا
Deleted
يقوم الـTableadapter بتنفيذ أمر DELETE ضد هذا السجل
إذا
Detached
لا يقوم الـTableadapter بتنفيذ أي شيء ضد هذا السجل
Detached تعني ان هذا السجل تم إنشائة ولكن لا يرتبط بأي جدول
ممكن أنت جلبتة من قاعدة البيانات لكنك نفذة أمر remove علية لإخراجة من الجدول ,, لاحض هذا لا يعني الحذف بل فقط إخراج من المجموعة
أو ممكن أنت أنشائت سجل جديد ولكنك لم تقم بإضافتة في أي جدول
إذا
Modified
يقوم الـTableadapter بتنفيذ أمر Update ضد هذا السجل
يعني سيقوم بالتعديل علية حسب البيانات الجديدة
إذا
Unchanged
لا يقوم الـTableadapter بتنفيذ أي شيء ضد هذا السجل
لأنة وبكل بساطة لا يوجد أي تغيير على هذا السجل
وهكذا دواليك مع جميع الصفوف الموجودة بالجدول حتى ينتهي الـTableadapter
كلها تحت أمر واحد وهو Update
