تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
جزئية بسيطة في الداتاسيت اريد ان اعرف كيف تتعاملون معها
#1
السلام عليكم وتقبل الله صيامكم وقبامكم

لفت انتباهي جزئية حيرتني في التعامل معها
عندما يقوم المستخدم بالتغيير في البيانات بالوضع المنفصل تتغير ولكن لا يتم حفظها حتى ينقر زر حفظ
اليكم الصورة
المستخدم يتصفح بيانات السجلات للموظفين تم ينقر زر تعديل فتفتح نافذة للتعديل
قام بتغيير بعض البيانات ولكن لم يحفظها لسبب تراجعه مثلا
الان اقفل نموذج التعديل والبيانات متغيرة
اذا دخل على تعديل بيانات سجل اخر وقام بالحفظ  سيتم حفظ حتى البيانات السابقة التي لا يريد تغييرها
هل يجب عمل
RejectChange
كلما خرج من النموذج حتى ولو قام بالنقر على زر الحفظ احتياطيا ام هناك طريقة افضل
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام...
-حسب فهمي أعتقد أنك تريد تغير البيانات لكل سجل مستقل كمثلا هيتم تعديل ولم يتم الضغط علي "تعديل" فالبيانات لمم تتغير, أما لو "عدلت" علي سجل أخر بيعدل السجل دا والسابق.

الحل: أن تضع عمود"id" من نوع ترقيم تلقائي وتعدل كل سجل حسب رقمه.
المبرمج لا يفكر في المشكلة بل في الحل!!
الرد }}}
#3
(16-05-20, 01:06 AM)ابو محمد محمد محمد كتب : هل يجب عمل
RejectChange
كلما خرج من النموذج حتى ولو قام بالنقر على زر الحفظ احتياطيا ام هناك طريقة افضل

نعم ربما من الأفضل تجديد الداتاست او الداتا تيبل

أو كما ذكر أخي أسامة -- قم بحفظ التعديل على صف معين وليس كل الصفوف

الرد }}}
#4
أخي العزيز تفضل هذا المثال به عمليه (الحفظ, التعديل, الحذف, البحث).
لو في أي غموض أو لبس راسلني علي الرسائل.
أو واتس: +201115740074 وانا بالأمر لأي توضيح.

تفضل:


الملفات المرفقة
.rar   المستوصف.rar (الحجم : 813.88 ك ب / التحميلات : 18)
المبرمج لا يفكر في المشكلة بل في الحل!!
الرد }}}
#5
من الواضح أنك تتعامل مع النسخة الأصل للـ DataSet
وإذا أردت أن تعدل على سجل فإنك تتعامل مع نفس الـ DataSet

إذا قمت بعمل DataSet.RejectChanges فهذا يعني إلغاء كل التغييرات على كامل الـ DataSet حتى السجلات السابقة سيتم إلغاء التغييرات التي تمت عليها. وليس هذا الجدول فقط , بل سيتم إغاء كل التغييرات على جميع الجداول الموجودة في هذة الـ DataSet
حتى لو قمت بإستخدام DataTable.RejectChanges على الجدول سيتم إغاء كل التغييرات على جميع السجلات الموجودة في هذة الجدول.
أنت تحتاج إلى DataRow.RejectChanges هذا الآخير سيقوم بإلغاء التغييرات فقط على مستوى السجل فقط.


الأفضل أنه عند فتح نافذة التعديل تأخذ نسخة من السجل والأفضل من ذلك جلبة مرة أخرى من قاعدة البيانات في ( جدول جديد أو في داتا ست جديدة ) فقط مخصوص لهذا السجل 
إذا تم التعديل وتم الحفظ بنجاح تقوم بإعادة جلب السجل للنافذة الأم التي كانت تعرض السجل سابقاً لتحديث بياناته ( أو مباشرتاً من نافذة التعديل قم بإرجاع السجل للنافذة الأم لتحديث بياناتة على الشاشة ) ولا تنسى عمل ( DataRow.AcceptChanges ) فقط للسجل الأصل في النافذة الأم أو الداتا ست الأصل
وإذا لم يتم التعديل لأي سبب كان ( بكل بساطة أغلق النافذة ) لأن التعديلات تمت على سجل منسوخ من الأصل أو تم جلبة من قاعدة البيانات وليس السجل الموجود في النافذة الأم أو الداتاست الأصل التي تعمل عليها )
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] اريد طباعة تقرير ريبورت فيو مباشرة فور عرض التقرير mh66 1 557 22-03-25, 09:59 AM
آخر رد: mh66
  اريد كود لو سمحتم خالد كامل1 10 1,198 15-02-25, 02:15 PM
آخر رد: خالد كامل1
  اريد كود معين اثابكم الله خالد كامل1 1 456 04-02-25, 09:28 PM
آخر رد: aliday03
  ممكن اعرف معنى مفهومي HLD ,LLD bassant 0 314 30-01-25, 02:07 PM
آخر رد: bassant
  اريد كود يحذف جميع سجلات جدول بقاعدة بيانات اكسس دفعه واحده khalidalwdi 2 633 18-11-24, 01:02 AM
آخر رد: rdxdz
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 665 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  [نقاش] اريد مسااعدة انا مبتدئة ف بحر غارق?? ..N 1 342 29-09-24, 11:16 PM
آخر رد: justforit
Exclamation [VB.NET] اريد كود لتصدير البيانات من DataGridView الى ملف Excel zazasami 1 494 04-08-24, 09:15 PM
آخر رد: mrfenix93
  اريد إحصاء مجموع التأخير والغياب للموظف أبووسم 2 441 31-07-24, 02:16 PM
آخر رد: أبووسم
  اريد طباعة الباركود من غير ظهور نافذة المعاينة new_programer 1 529 23-05-24, 03:55 AM
آخر رد: new_programer

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


يقوم بقرائة الموضوع: