تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] خطأ في الكود عندما يعمل إثنين في الشبكة
#1
Exclamation 
السلام عليكم

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



الرد }}}
#2
وعليكم السلام ورحمة الله وبركاته
لو تترجم رسالة الخطأ ...بارك الله فيك.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
#3
وجدت هده الصور في google  أضن أنها نفس الرسالة



لا يمكن فتح قاعدة البيانات قد لا تكون قاعدة بيانات يتعرف عليها التطبيق الخاص بك أو الملف تالف. "



تم وضع قاعدة البيانات بواسطة المستخدم << Admin >> on << اسم الجهاز >> في حالة تمنعه من الفتح أو الإغلاق
الرد }}}
تم الشكر بواسطة: حريف برمجة , ابراهيم ايبو
#4
ممكن رابط الشرح التالي من ميكروسوفت يساعدك
https://support.office.com/en-us/article...da245a0446
الرد }}}
#5
جرب أن تخرج الاتصال Cn.Open واغلاقالاتصال Cn.Close خارج حلقة فور .... لأنة من غير المنطق ان يتم فتح الاتصال واغلاقة في كل لفة لحلقة فور ، ولو كان هناك 1000 سجل في قاعدة البيانات معناه سيتم فتح وغلق الاتصال 1000 مرة لذلك يقع الخطأ مع المستخدم الآخر
والله أعلم
الرد }}}
#6
معك حق أخي سامي
لطالما تسائلت هل غلق القاعدة و إعادة فتحها عدة مرات هل يسبب مشاكل
____________________________________________________________________________
قمت بإخراج الغلق و الفتح خارج حلقة الفور
و قمت بتجربت الكود 5 مرات و الحمد لله إختفى الخطأ الأول

هل بإخراجي لكود الغلق و الفتح خارج الفور   سأحصل على نفس النتائج أخي , لا يوجد فرق ؟
____________________________________________________________________________

عند تجاوز مكان الخطأ القديم 
يضهر لي الخطأ التاني هنا   عند جميع المستخدمين
هل هذا بسبب إستخدامي للإتصال الغير المباشر ؟؟
هل يجب التخلي عن DataTable



شكرا كثيرا أخي سامي
الرد }}}
تم الشكر بواسطة: حريف برمجة , ابراهيم ايبو
#7
(04-08-19, 03:49 AM)sniperjawadino كتب : هل بإخراجي لكود الغلق و الفتح خارج الفور   سأحصل على نفس النتائج أخي , لا يوجد فرق ؟

لا يوجد فرق بالمرة 
------
تخيل أن عندك كرتون ماء فيه 40 علبة وتريد ان تضع هذه العلب داخل ثلاجة ... فهل ستفتح الثلاجة وتضع علبة واحد ثم تغلق الثلاجة ثم تفتحها من جديد وتضع العلبة الثانية .... وهكذا حتى تنهي الاربعين علبة .... أو يكفي ان تفتح الثلاجة وتضع الاربعين علبة واحدة تلو الأخرى حتى تنتهي وبعدها تغلق الثلاجة 
هذا المثال مثلة تماما
اما بالنسبة للخطأ الثاني فانصحك ان تستخدم الوضع المتصل OleDbCommand للتحديث والاضافة وكذلك الحذف
الرد }}}
#8
شكرا لك أخي سامي على المثال البسيط

سأتبع نصيحتك و سأستخدم الوضع المتصل OleDbCommand لعلي أجده أسرع و بدون مشاكل تضارب الباينات في الشبكة
شكرا شكرا شكرا
الرد }}}
تم الشكر بواسطة: ابراهيم ايبو , حريف برمجة
#9
ممكن هكذا بالوضع المنفصل
PHP كود :
Dim dt_Ticket As New DataTableLabel_N_CAISSE.Text= (-Val(TextBox4.Text))
Using da_Ticket As New OleDbDataAdapter("UPDATE [TABLE_" "] SET [Dates]=@dates,[Heure]=@heure"cn)
 
   da_Ticket.SelectCommand.Parameters.AddWithValue("@dates"Now.AddHours(m).ToString("dd/MM/yyyy"))
 
   da_Ticket.SelectCommand.Parameters.AddWithValue("@heure"Now.AddHours(m).ToString("HH:mm:ss"))
 
   da_Ticket.Fill(dt_Ticket)
 
   Dim savedt_Ticket As New OleDbCommandBuilder(da_Ticket)
 
   da_Ticket.Update(dt_Ticket)
End Using 

ممكن هكذا بالوضع المتصل
PHP كود :
Dim n Label_N_CAISSE.Text= (-Val(TextBox4.Text))
If 
cn.State <> ConnectionState.Open Then cn.Open()
Using cmd_Ticket As New OleDbCommand("UPDATE [TABLE_" "] SET [Dates]=@dates,[Heure]=@heure"cn)
 
   cmd_Ticket.Parameters.AddWithValue("@dates"Now.AddHours(m).ToString("dd/MM/yyyy"))
 
   cmd_Ticket.Parameters.AddWithValue("@heure"Now.AddHours(m).ToString("HH:mm:ss"))
 
   cmd_Ticket.ExecuteNonQuery()
End Using
cn
.Close() 
الرد }}}
#10
شكرا لك أخي Beginer
أعتذر منك لتعبك في إعادة كتابة الكود
جزاك الله على وقتك

سأستخدم الوضع المتصل لعله يكون أسرع و أفضل بدون أخطاء
شكرا كثييرا

فقط هذا الخطأ لا يزال يضهر عند دخول أكثر من مستخدم

 
 
تم وضع قاعدة البيانات بواسطة المستخدم << Admin >> on << اسم الجهاز >> في حالة تمنعه من الفتح أو الإغلاق



حتى بعد إتباعي لشرح الأخ الجوكر
 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: حريف برمجة , ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information ما هو الخطاء في الكود ProgressBar1 Mostafa201255411 1 188 26-11-25, 08:19 PM
آخر رد: asmarsou
  [VB.NET] مساعدة تعديل على الكود ZEEN4ZEEN 2 208 08-10-25, 02:20 PM
آخر رد: salamandal
Rainbow [كود] تصحيح الخطاء في الكود محمد مسافر 2 1,050 28-08-25, 09:13 AM
آخر رد: محمد مسافر
Rainbow [كود] تصحيح الخطاء في الكود محمد مسافر 0 840 27-08-25, 04:05 PM
آخر رد: محمد مسافر
  ما هو الخطأ فى هذا الكود خالد كامل1 10 1,135 28-05-25, 09:16 PM
آخر رد: خالد كامل1
  ارجو تعديل الكود بواستطة الاجراء المخزن new_programer 3 673 03-04-25, 02:44 PM
آخر رد: princelovelorn
  مساعدة في تحويل الكود من فيجوال بسيك 6 الى فيجوال دوت نت سيد أحمد 5 814 23-03-25, 10:54 PM
آخر رد: سيد أحمد
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 619 05-02-25, 01:51 AM
آخر رد: new_programer
  ارجو تقيم الكود المرفق - جلب اعلي رقم لتسلسل نصي للباركود new_programer 4 598 30-01-25, 08:26 AM
آخر رد: new_programer
  هذا الكود لا يعمل بشكل صحيح لماذا ؟ PeterGhattas082460 3 442 21-12-24, 02:55 PM
آخر رد: aljzazy

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


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