تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] ترقيم تسلسلي في بيئة تعدد المستخدمين
#8
(06-06-19, 03:30 PM)khairallah كتب :
(17-05-19, 02:28 AM)حريف برمجة كتب :
(16-05-19, 09:56 PM)ahmadpal كتب : اجعل خيار الترقيم التلقائي في زر الحفظ وقبل ان تتم عملية الحفظ يجب ان يحصل على max ثم حفظ وبهذه الطريقة يتم حل المشكلة بعون الله

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

الحل السليم حقل ترقيم تلقائي وعند حفظ السجل جلب رقم الترقيم التلقائي لنفس السجل المحفوظ واستخدامه في العمليات الأخرى .

مثال :

كود :
Dim ID As Integer

Using conn As New OleDbConnection(connect)
 Using cmd As New SqlCommand("insert Into Categories (CategoryName) Values (@CategoryName)", conn)
   cmd.Parameters.AddWithValue("@CategoryName", Category.Text)
   conn.Open()
   cmd.ExecuteNonquery()
   cmd.Commandtext="select @@Identity"
   ID = cmd.ExecuteScalar()
   conn.close()
 End Using
End Using

لاحظ cmd.Commandtext = "select @@Identity"
سيكون رقم السجل في المتغير (ID)
مشكور  Smile Smile

(06-06-19, 03:30 PM)khairallah كتب :
(17-05-19, 02:28 AM)حريف برمجة كتب :
(16-05-19, 09:56 PM)ahmadpal كتب : اجعل خيار الترقيم التلقائي في زر الحفظ وقبل ان تتم عملية الحفظ يجب ان يحصل على max ثم حفظ وبهذه الطريقة يتم حل المشكلة بعون الله

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

الحل السليم حقل ترقيم تلقائي وعند حفظ السجل جلب رقم الترقيم التلقائي لنفس السجل المحفوظ واستخدامه في العمليات الأخرى .

مثال :

كود :
Dim ID As Integer

Using conn As New OleDbConnection(connect)
 Using cmd As New SqlCommand("insert Into Categories (CategoryName) Values (@CategoryName)", conn)
   cmd.Parameters.AddWithValue("@CategoryName", Category.Text)
   conn.Open()
   cmd.ExecuteNonquery()
   cmd.Commandtext="select @@Identity"
   ID = cmd.ExecuteScalar()
   conn.close()
 End Using
End Using

لاحظ cmd.Commandtext = "select @@Identity"
سيكون رقم السجل في المتغير (ID)
مشكور  Smile Smile

هل من الممكن شرح الكود  تفصيلياً لتعم الفائدة ..

غالباً مسألة الترقيم التلقائي تفيدنا في موضوعين اثنين :
1- ترتيب السجل ابتداء من الرقم 1 مثلاً ثم 2 و 3 وهكذا .
2- أحيان نريد ادخال سجل في جدول ويلزمنا معرفة الترقيم التلقائي له لإستخدامه في جدول آخر .

الكود هذا يقوم بالمهمتين وهي :

يدخل سجل في جدول ويجلب رقم الآيدي تبعه في المتغير ID 
في حال اردنا استخدامه في جدول آخر اثناء عملية ادخال السجل وسبب ادراجي للكود هو في حال كان هناك اكثر من مستخدم يدخل البيانات .


مثال :

لنفرض عدد 3 مستخدمين يدخلون البيانات وكان البرنامج بعد ادخال السجل يعمل استعلام عن اكبر قيمة لرقم السجل ونريد ادخال تفاصيل السجل في جدول آخر بموجب آخر رقم ادخل للسجل .

لنفرض مستخدم رقم واحد ادخل سجل ثم مستخدم اثنين ادخل سجل المستخدم رقم واحد سوف يجلب آخر رقم آيدي ادخل وهو الخاص بالمستخدم رقم 2 هنا يحصل خطأ فادح سوف يسجل المستخدم رقم 1 تفاصيل السجل خطا برقم الآيدي تبعه .

اما الكود اللي وضعته انا سوف يجلب نفس رقم الآيدي لنفس السجل حتى ولو المستخدم رقم 2 ادخل سجل في نفس الوقت .
يا رحمن الدنيا والآخرة ورحيمهما
الرد }}}
تم الشكر بواسطة: سعود , elgokr , khairallah


الردود في هذا الموضوع
RE: ترقيم تسلسلي في بيئة تعدد المستخدمين - بواسطة حريف برمجة - 06-06-19, 04:48 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] ترقيم داتا كريت فيو EMADW 1 343 21-04-25, 11:52 PM
آخر رد: Taha Okla
  أريد تحديد صلاحيات المستخدمين عن طريق حقل في جدول قاعدة البيانات F.H.M 0 326 12-09-24, 06:29 PM
آخر رد: F.H.M
  كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة mram3242 15 6,966 02-06-24, 08:25 PM
آخر رد: atefkhalf2004
  ممكن كود ترقيم تلقائي في الداتا غريد فيو المبرمج البسيط 16 11,698 08-11-23, 01:44 AM
آخر رد: الحزين اليماني
  [VB.NET] كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل يوم Osama_NY 8 3,402 04-11-23, 01:42 PM
آخر رد: الحزين اليماني
  اريد ترقيم الداتا جريد فيو سمير جمال 10 5,800 29-04-23, 02:01 AM
آخر رد: lar
  كيف اقوم بقفل الملف الذي يستخدمه احد المستخدمين ابو محمد محمد محمد 8 1,160 21-04-23, 05:58 PM
آخر رد: ابو محمد محمد محمد
  ترقيم تلقائي في الداتا جريد فيو مرتبط بجدول في قاعدة البيانات yosif 1 951 17-04-23, 07:03 AM
آخر رد: Taha Okla
  سؤال بخصوص المستخدمين النشطاء الحاليين علي الشبكة عبدالكريم برشدان 1 612 27-03-23, 11:18 PM
آخر رد: sanyor77
  [VB.NET] طلب كود ترقيم معين AMAZ1972AMAZ 2 585 28-12-22, 01:08 AM
آخر رد: AMAZ1972AMAZ

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


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