تقييم الموضوع :
  • 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 ك ب / التحميلات : 9)
 الذي يدعي ان لغته هي افضل لغة برمجة، فاعلم انه مستخدم وليس مبرمج.
الرد
#5
من الواضح أنك تتعامل مع النسخة الأصل للـ DataSet
وإذا أردت أن تعدل على سجل فإنك تتعامل مع نفس الـ DataSet

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


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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة اريد لها حل ومساعدة العطر الرايق 2 74 04-07-20, 12:48 AM
آخر رد: العطر الرايق
  اريد نقل التركيز على السجل فى الداتا جريد new_programer 1 59 02-07-20, 12:24 PM
آخر رد: معاند الحظ
  [سؤال] اريد كود بحث كومبوبكس وتظهر النتيجة على الشيك بوكس يعني صح او خطا essawq 15 559 23-06-20, 10:05 PM
آخر رد: essawq
  [كود] اريد كود شرط جمله if سعيد احمد 3 167 20-06-20, 12:27 AM
آخر رد: سامي محمد
  اريد مساعدة في مثال جلب وتخزين صورة موضف ahmedbezia 1 232 15-06-20, 09:08 PM
آخر رد: rochdi191
  اريد تحميل فيجوال بيسك 2017 اللورد محمود 4 186 14-06-20, 10:15 PM
آخر رد: kiki
  مطلوب مساعدة بسيطة في حل اشكالية العطر الرايق 0 134 07-06-20, 05:24 PM
آخر رد: العطر الرايق
  اريد كود لمسح النص من textbox بمجرد الضغط على ال textebox للكتابة رهف العريفي 19 4,445 06-06-20, 07:32 PM
آخر رد: Omar ahmed
  [سؤال] اريد شرح طريقة السداد عن طريق دفعات عاصم النجار 2 172 03-06-20, 06:50 PM
آخر رد: عاصم النجار
  اريد عمل ريستارت للراوتر بالفيجوال لتغير اي بي الراوتر وفتح صفحة نت بعد الريستارت ahmedhhh2 0 90 03-06-20, 11:20 AM
آخر رد: ahmedhhh2

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


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