السلام عليكم
بعد إستخدامي لكود الأخ الجوكر الذي منحه لي جزاه الله كل خير
ضهر لي خطأ في الكود عندما يعمل إثنين في الشبكة في نفس الوقت (قاعدة أكسس)
هل هناك أي حل إخواني
وعليكم السلام ورحمة الله وبركاته
لو تترجم رسالة الخطأ ...بارك الله فيك.
وجدت هده الصور في google أضن أنها نفس الرسالة
لا يمكن فتح قاعدة البيانات قد لا تكون قاعدة بيانات يتعرف عليها التطبيق الخاص بك أو الملف تالف. "
تم وضع قاعدة البيانات بواسطة المستخدم << Admin >> on << اسم الجهاز >> في حالة تمنعه من الفتح أو الإغلاق
جرب أن تخرج الاتصال Cn.Open واغلاقالاتصال Cn.Close خارج حلقة فور .... لأنة من غير المنطق ان يتم فتح الاتصال واغلاقة في كل لفة لحلقة فور ، ولو كان هناك 1000 سجل في قاعدة البيانات معناه سيتم فتح وغلق الاتصال 1000 مرة لذلك يقع الخطأ مع المستخدم الآخر
والله أعلم
معك حق أخي سامي
لطالما تسائلت هل غلق القاعدة و إعادة فتحها عدة مرات هل يسبب مشاكل
____________________________________________________________________________
قمت بإخراج الغلق و الفتح خارج حلقة الفور
و قمت بتجربت الكود 5 مرات و الحمد لله إختفى الخطأ الأول
هل بإخراجي لكود الغلق و الفتح خارج الفور سأحصل على نفس النتائج أخي , لا يوجد فرق ؟
____________________________________________________________________________
عند تجاوز مكان الخطأ القديم
يضهر لي الخطأ التاني هنا عند جميع المستخدمين
هل هذا بسبب إستخدامي للإتصال الغير المباشر ؟؟
هل يجب التخلي عن DataTable
شكرا كثيرا أخي سامي
(04-08-19, 03:49 AM)sniperjawadino كتب : [ -> ]هل بإخراجي لكود الغلق و الفتح خارج الفور سأحصل على نفس النتائج أخي , لا يوجد فرق ؟
لا يوجد فرق بالمرة
------
تخيل أن عندك كرتون ماء فيه 40 علبة وتريد ان تضع هذه العلب داخل ثلاجة ... فهل ستفتح الثلاجة وتضع علبة واحد ثم تغلق الثلاجة ثم تفتحها من جديد وتضع العلبة الثانية .... وهكذا حتى تنهي الاربعين علبة .... أو يكفي ان تفتح الثلاجة وتضع الاربعين علبة واحدة تلو الأخرى حتى تنتهي وبعدها تغلق الثلاجة
هذا المثال مثلة تماما
اما بالنسبة للخطأ الثاني فانصحك ان تستخدم الوضع المتصل OleDbCommand للتحديث والاضافة وكذلك الحذف
شكرا لك أخي سامي على المثال البسيط
سأتبع نصيحتك و سأستخدم الوضع المتصل OleDbCommand لعلي أجده أسرع و بدون مشاكل تضارب الباينات في الشبكة
شكرا شكرا شكرا
شكرا لك أخي Beginer
أعتذر منك لتعبك في إعادة كتابة الكود
جزاك الله على وقتك
سأستخدم الوضع المتصل لعله يكون أسرع و أفضل بدون أخطاء
شكرا كثييرا
فقط هذا الخطأ لا يزال يضهر عند دخول أكثر من مستخدم
تم وضع قاعدة البيانات بواسطة المستخدم << Admin >> on << اسم الجهاز >> في حالة تمنعه من الفتح أو الإغلاق
حتى بعد إتباعي لشرح الأخ الجوكر
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية