تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] طريقة مختلفةلحفظ بيانات Datagridview
#12
السلام عليكم و رحمة الله و بركاته
الاخ  karimx   , شكراً لمداخلتك اخي الكريم
اذا كانت غاياتك تجريبة فقط لمعاينة حالات الصفوف فلا بأس بذلك من باب معاينة ما يحصل.
اما اذا كنت تريد الاعتماد على هذه الطريقة التي شرحتها في مداخلتك فلا انصح بذلك لان اسماء الحالات مخزنة مسبقاً مع كل سطر
ففي الاحوال الطبيعية و بعد تعبئة الجدول بالبيانات تاخذ كل الصفوف الحالة UnChanched
و بعد القيام بالعمليات على السجلات انت اما 3 حالات متعارف عليها تستطيع الوصول اليها عبر الخاصية DataRowState
-  DataRowState.Added
-  DataRowState.Modified
-  DataRowState.Deleted

كل السجلات السابقة يتم العمل عليها و اعطاء الامر المناسب لكل حالة 
فمع الصفوف المضافة نحن بحاجة امر ادخال , مع المعدلة امر تعديل , مع المحذوفة امر حذف
هذا كل ما في الامر

بالنسبة لعملية فصل كل عملية في Thread مستقل 
لا ارى داعي لذلك , لانك داخل حلقة تكرارية و كل Thread ستاخذ عمل لسجل واحد فقط و هذا انهاك لموارد الجهاز .
فاذا كان لدينا 100 سجل تحتاج لمعالجة سيكون لدي 100 Thread (دمار للبرنامج).
و اذا كنت تفكر في عمل Thread واحد لكل نوع من العمليات فالعملية مضنية جداً و ستدخل في عمليات دمج متوالية لا تدري ما نهايتها.
بينما الحل بسيط جداً وهو الاكثر وثوقية و امناً , ان ندع الامور تسير بشكلها الطبيعي تبدأ عملية بعد انتهاء الاخرى 
و السرعة ممتازة جدأ لا تاخذ الا بضع ثواني 3-4 ثواني مع كم كبير  من السجلات .

بالنسبة لاطلاق عملية و فق مجموعة شروط لا يوجد مثل هذا الكلام , الصف ياخذ حالة واحدة فقط و هي اخر حالة جرت عليه
الــ Thread لا ترفع مستوى اداء العمليات , على العكس هي تبطأ من اداء البرنامج لانها عمليات متزامنة و كثرة استخدامها قد توقعنا في مشاكل نحن بالغنى عنها.

بالنسبة للــ TransAction انا تحدثت عنها في معرض بيانات مترابطة بين اكثر من جدول (و هو الاستخدام الاشيع لها)
بمعنى لو اردنا تنفيذ عملية على مجموعة سجلات مرتبطة بعميل واحد فالاولى ان تتم التعديلات على كل السجلات التابعة للعميل او لا يتم التعديل على اي سجل في حال حدوث خطأ في سير عملية التحديث (في حال كانت البيانات حساسة فقط).

بالنسبة للاخطاء الخارجية (الكهرباء او اخطاء في نظام الوندوز) فنحن في و رطة كبيرة لا يمكن السيطرة عليها قد يتعدى حرصنا على سلامة سجل او سجلين الى تلف كامل في القاعدة , اعاذنا الله منها.
اما ما قصدناه بالمشاكل اثناء سير العمليات الخاصة بنا هو وجدود خطأ ما في اكوادنا لم نحسب حسابه و غالباً هي اخطاء ادخال من مسؤولية المستخدم .
لم نتوقع ان يقوم المستخدم بهذه الحركة و بالتالي حدث خطأ غير محسوب حسابه ادى الى تقويض العملية , لهذا ترى ان الكود يزداد تحسناً مع كثرة زلات المستخدم و في هذا الباب ياتي دور Tester و ما ادراك ما الــ Tester
انت بتتعب و بتبرمج ايام طويلة و تعود للتصحصح و التنقيح مراراً و تكراراً و الاخ Tester  ما عليه غير يدور كيف بدو يجلطك و على فكرة راتبه كمان كبير كثير و ليس بالضرورة يكون يفهم بالبرمجة يمكن يكون صاحب بسطة او سائق تك تك  Shy بس عنده هواية التنكيد ؟؟

تحياتي لك و لكل الاخوة.
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة: karimx , karimx , مصمم هاوي , مصمم هاوي , مصمم هاوي


الردود في هذا الموضوع
RE: طريقة مختلفةلحفظ بيانات Datagridview - بواسطة ابو ليلى - 16-08-17, 12:39 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] طريقة تفعيل الشاشة الصغيرة في جهاز الكاشير MOHAMMED ALZWI 0 256 25-09-25, 02:17 PM
آخر رد: MOHAMMED ALZWI
  [سؤال] طريقة توسيط النص داخل اداة comboBox سمير1404 7 3,859 24-08-25, 01:01 PM
آخر رد: أبو خالد الشكري
  [Acces2007] مشكلة ملف قاعدة بيانات access للقراءة فقط mmaalmesry 11 1,470 29-04-25, 08:55 PM
آخر رد: mmaalmesry
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 662 24-04-25, 12:58 PM
آخر رد: foad8920
  مشكلة عدم قراءة قاعدة بيانات MS access 0 423 29-03-25, 01:58 PM
آخر رد: ibraa939
  مشكلة عدم قراءة قاعدة بيانات MS access 0 353 29-03-25, 01:57 PM
آخر رد: ibraa939
  مشكلة عدم قراءة قاعدة بيانات MS access 0 289 29-03-25, 01:57 PM
آخر رد: ibraa939
  [VB.NET] محتاج اربط DataGridView بزر بحث bakrycold 1 552 28-02-25, 12:11 AM
آخر رد: bakrycold
  طريقة طباعة ملف pdf بقاعدة بيانات sql heem1986 0 520 25-02-25, 09:31 AM
آخر رد: heem1986
  ادخال درجات الطلاب لقاعدة بيانات اكسس .. مساعدة Tajaldeen 9 2,750 07-02-25, 07:59 PM
آخر رد: الورد2

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


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