منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف يمكن تعديل update أو حذف delete صف معين من جدول بدلالة رقم الصف ROW_NUMBER
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم و رحمة الله و بركاته

أرجو أن يكون الجميع بخير

عندى سؤال فى sql  وهو:

هل يمكن تعديل update أو حذف delete صف معين من جدول بدلالة رقم الصف ROW_NUMBER ؟
(05-02-23, 10:31 AM)mmaalmesry كتب : [ -> ]السلام عليكم و رحمة الله و بركاته

أرجو أن يكون الجميع بخير

عندى سؤال فى sql  وهو:

هل يمكن تعديل update أو حذف delete صف معين من جدول بدلالة رقم الصف ROW_NUMBER ؟

من الخطا الاعتماد على ROW_NUMBER لانه غير مضمون انك ستعدل او تحذف الذي تقصده
فهو معرض للتغير بسبب الفرز بORDER BY او التعامل مع قاعدة البيانات من مستخدمين على الشبكة

فهناك خطا في انشاء الجدول ستطبق عليه التعديل والحذف بدون ان يحتوي على عمود مفهرس غير قابل للتكرار

ستواجه مشاكل في البيانات الكثيرة بعد فترة من استخدام البرنامج

اذا كنت تعلم عند انشاءك للجدول انه سيتم استعلام اوتعديل او حذف بيانات محددة فلابد من وجود عمود مفتاحي ID.

هل تريد ان تكمل هذا العمل رغم خطورته على البيانات مستقبلا؟

انتظر جوابا
طبيعة البرنامج عندى تدعو إلى استخدام هذه الطريقة و يمكن أن ننشء ترقيم تلقائي فيوجد ضرورة لذلك
في حال ضمان عدم تكرر البيانات بشكل كامل، فيك تختار الطريقة الأنسب للتعديل : وهي

لو كانت البيانات لديك معروضة ضمن (DataGridView) :
لما تحدد سطر ما من (DataGridView) تضغط على زر تعديل 
فيقوم بتحرير البيانات في عدة أدوات مثلاً في مربعات نصوص وقوائم .. إلخ
عليك أن تجعل في نهاية الكود سطر لتجميد الـ (DataGridView)  >>>  (Enable = False)
بالتالي ستقوم بالتعديل بناءاً على السطر الحالي في الـ (DataGridView)  والذي لن يستطيع تغييره أي شيء  ما دامك أخترت تعديل
فإذا تمت عملية التعديل أو قمت بإالغاء التعديل تعطي خاصية فك التجميد عن الـ  (DataGridView)  >>  (Enable = True)

فعند التعديل تطلب التعديل بشرط تساوي بيانات السطر الحالي من الـ  (DataGridView) مع سجل ما في الجدول في قاعدة البيانات.
وتختار الحقول التي تكون شرط التساوي، حقول لا يمكن أن تتكرر جميعها معاً -- أو حقل ما تكون متأكد أنه لن يتكرر ..
جزاك الله خيرا أخى الكريم