تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
لا يتم التحديث بيانات الداتا جريد إالا بعد مناداه الدالة مرتان و 3 مرات
#1
السلام عليم

أواجة مشكلة غريبة بعد العودة للعمل في قواعد access
عندما اقوم بمناداة دالة جلب البيانات من قاعدة البيانات عند الاضافة او الحذف لتحديث البيانات
الدالة تعمل بشكل جيد عند تشغيل الفورم لكن عند مناداتها خلال التشغيل من خلال button لا يتم التحديث إالا بعد مناداه الدالة مرتان و 3 مرات

لا اعلم السبب لحدوث هذا 

هذا الكود لو تكرمتم :


الملفات المرفقة
.rar   test.rar (الحجم : 84.68 ك ب / التحميلات : 14)
الرد
تم الشكر بواسطة: سعود
#2
وعليكم السلام ورحمة الله وبركاته
يبدو ان المشكلة لديك فى هذا الجزء من جود الحذف
SelectedRows[0]
لماذا تحدد السطر 0 (الاول) دائماً وانت من الممكن ان تكون محدد السطر اخر عند الحذف
الرد
#3
(04-11-20, 06:10 AM)kiki كتب : وعليكم السلام ورحمة الله وبركاته
يبدو ان المشكلة لديك فى هذا الجزء من جود الحذف
SelectedRows[0]
لماذا تحدد السطر 0 (الاول) دائماً وانت من الممكن ان تكون محدد السطر اخر عند الحذف

مرحبا صديقي، مشكلتي ليست بالحذف، الاكواد جميعها تعمل جيدا لكن دالة تحديث البيانات فب الجريد فيو لا تعمل إلا عند مناداتها عدة مرات، هذه هي مشكلتي.

بالنسبة لـ SelectedRows[0]  تعني السطر المحدد من قبل المستخدم لا تعني السطر الاول. فهي ترجع قيمة الخليه 0 في السطر المحدد حتى لو كان السطر رقم 100
الرد
تم الشكر بواسطة: سعود
#4
بعد تجربة كبيرة من الامس في البداية شككت في الداتا جريد فيو

ولكن بالنهاية اكتشفت انها بريئة وان السبب في قاعدة البيانات ، لسبب ما لا اعلمه يتم تنفيذ الامر ببطء شديد جدا

لذلك عند اضافة عنصر جديد مثلا ، نحن نتوقع ان العنصر تم اضافته فعلا لقاعدة البيانات ، ثم نقوم بطلب الجدول كاملا ولكن التغيرات لا تكون قد حدثت فعلا فيعود بالجدول في الحالة القديمة

لا علاقة لعدد المرات في الموضوع ، لو وضعت زرا يقوم بتحديث الجريد فيو ستكتشف انه يجب الانتظار لبعض الوقت قبل ان تكون التغيرات فعالة

هذه ان صحت طبعا احد كوارث الاكسس
الرد
تم الشكر بواسطة: Rabeea Qbaha , سعود
#5
(04-11-20, 03:45 PM)Anas Mahmoud كتب : بعد تجربة كبيرة من الامس في البداية شككت في الداتا جريد فيو

ولكن بالنهاية اكتشفت انها بريئة وان السبب في قاعدة البيانات ، لسبب ما لا اعلمه يتم تنفيذ الامر ببطء شديد جدا

لذلك عند اضافة عنصر جديد مثلا ، نحن نتوقع ان العنصر تم اضافته فعلا لقاعدة البيانات ، ثم نقوم بطلب الجدول كاملا ولكن التغيرات لا تكون قد حدثت فعلا فيعود بالجدول في الحالة القديمة

لا علاقة لعدد المرات في الموضوع ، لو وضعت زرا يقوم بتحديث الجريد فيو ستكتشف انه يجب الانتظار لبعض الوقت قبل ان تكون التغيرات فعالة

هذه ان صحت طبعا احد كوارث الاكسس

شكرا لك صديقي انس، لقد اصابني الجنون من الموضوع و لم اترك طريقه لحل الموضوع، لكن لم اتوقع ان تكون الاعاقة من قاعدة البيانات.
سوف اقوم بتجربة اصدار اقدم او قواعد بيانات اخرى.
شكرا لك
الرد
تم الشكر بواسطة: Anas Mahmoud , سعود
#6
اخي الكريم اتضح انني تسرعت بعض الشيء في الحكم على الامور ، الخطأ فعلا في بطأ الاستجابة للتغيرات ولكن ليست هذه غلطة قاعدة البيانات

الخطأ في الاسلوب نفسه المعتمد على ابقاء الاتصال مفتوحا طوال الوقت ، ما يحدث هو انه كان ينتظر اول Time Out لكي يغلق الاتصال تلقائيا ومن ثم نحصل على البيانات المحدثة
الاسلوب الذي احبه هو اسلوب Using داخل Using بهذا الشكل نضمن ان الاتصال لن يدوم بعد اجراء العملية المطلوبة وتحل المشكلة

كود :
           using (OleDbConnection connection = new OleDbConnection(ConnectionString))
           using (OleDbCommand command = new OleDbCommand("Insert into Customers (category,cname, cphone1,cphone2,cemail, caddress, cnote) VALUES (@category,@cname, @cphone1,@cphone2,@cemail, @caddress, @cnote)", connection))
           {

               command.Parameters.AddWithValue("@category", category_txt.Text.Trim());
               command.Parameters.AddWithValue("@cname", txt_name.Text.Trim());
               command.Parameters.AddWithValue("@cphone1", txt_phone.Text.Trim());
               command.Parameters.AddWithValue("@cphone2", txt_phone2.Text.Trim());
               command.Parameters.AddWithValue("@cemail", txt_email.Text.Trim());
               command.Parameters.AddWithValue("@caddress", Location_txt.Text.Trim());
               command.Parameters.AddWithValue("@cnote", Note_txt.Text.Trim());
               connection.Open();
                               command.ExecuteNonQuery();
               connection.Close();
           }

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

عدلت مثالك ليعمل كما المطلوب ، عدلت في ملف DB_connection.cs الاسلوب ليعتمد على الاتصالت المفتوحة لحظيا فقط وحذفت الاتصال العام وكذلك عدلت باقى الملفات على السريع لتماشي هذا الاسلوب ومشت الامور كما ينبغي ، اعتقد انك ستقوم بتغير الاسلوب المتبع باذن الله
تحياتي


الملفات المرفقة
.zip   test.zip (الحجم : 95.41 ك ب / التحميلات : 5)
الرد
تم الشكر بواسطة: سعود , Rabeea Qbaha
#7
انا اعمل بهذه الطريقة من فتره لكن مع قواعد بيانات sql server ولا اواجة مشاكل بتاتا، مع العلم اني متعمد جعل الاتصال مفتوحا لتسريع العمل و اختصار الجمل الشرطيه لتفقد الاتصال و فتحه واغلاقة. و اقوم باغلاق الاتصال عند الخروج من البرنامج.

شكرا لك صديقي انس ساتفقد طريقتك و اقوم بتطوير طريقتي.
الرد
تم الشكر بواسطة: سعود , Anas Mahmoud


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعده فى تشغيل قاعده بيانات SQL Server على سيرفر VPS maxruined 8 621 23-11-20, 05:32 PM
آخر رد: صفاء صفاء صفاء
  تشغيل progress bar مع تحميل الداتا Abou Eman 17 2,802 18-08-20, 09:17 PM
آخر رد: ربيع الهمداني
  استفسار بخصوص جلب بيانات موجودة في شيت اكسل وعرضة في اليوزر فورم khaldoun.alkurtina 0 341 30-05-20, 04:29 AM
آخر رد: khaldoun.alkurtina
  [سؤال] تشفير ملف قاعدة بيانات اكسس ! منه 2 451 16-05-20, 09:56 PM
آخر رد: khodor1985
  [سؤال] طريقة برمجة زرار اخذ نسخة احتياطية من قاعدة بيانات sql بلغة فيجول ahmeddor 3 584 28-03-20, 05:16 PM
آخر رد: asemshahen5
  شرح الاتصال باى ماكينه حضور وانصراف بقاعده بيانات سيكول alhlwany 5 4,774 11-02-20, 03:41 PM
آخر رد: alhlwany
  [C#.NET] كيف عمل قاعدة بيانات mysql ورفعها ع سيرفر وربط البرنامج بلسيرفر GeRoO 0 582 18-01-20, 05:38 PM
آخر رد: GeRoO
  حفظ صورة في قاعدة بيانات عبدالكريم رشدان 0 445 17-01-20, 01:14 PM
آخر رد: عبدالكريم رشدان
  استشارة بشراء استضافة لرفع قاعدة بيانات sql server Rabeea Qbaha 0 467 21-12-19, 05:09 AM
آخر رد: Rabeea Qbaha
  جلب بيانات من برنامج exe منفصل إلى نافذة مشروعك tfarejdz 3 952 28-11-19, 07:55 PM
آخر رد: ali.alfoly

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


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