تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] ترقيم تسلسلي في بيئة تعدد المستخدمين
#1
 ارجو من اخواتي الكرام مساعدتي في كتابة كود ترقيم تسلسلي بزيادة واحد كل مرة عند فتح النموذج مع العلم ان عدد المستخدمين اكثر من 100 مستخدم دالة MAX غير مجدية في حال كان اكثر من مستخدم يتشاركون البيانات هل هناك طريقة احترافية مجربة تفي بالغرض؟ ولكم جزيل الشكر
الرد
تم الشكر بواسطة:
#2
السلام عليكم...
في نفس جدول المستخدمين انشئ حقل باسم (مرات_الدخول) واجعل عند كتابة اسم المستخدم في نص الدخول يظهر عدد مرات الدخول والزيادة عليها (1)كل مرة الم تصلك راسلني لارسل لك مثال.
 الذي يدعي ان لغته هي افضل لغة برمجة، فاعلم انه مستخدم وليس مبرمج.
الرد
تم الشكر بواسطة: ahmadpal
#3
استخدم ترقيم تلقائي من خصائص حقل الجدول
يا رحمن الدنيا والآخرة ورحيمهما
الرد
#4
اجعل خيار الترقيم التلقائي في زر الحفظ وقبل ان تتم عملية الحفظ يجب ان يحصل على max ثم حفظ وبهذه الطريقة يتم حل المشكلة بعون الله
الرد
#5
(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)
يا رحمن الدنيا والآخرة ورحيمهما
الرد
#6
بدلاً لكثرة الاكواد والمتاهة يفضل استخدام الترقيم التلقائي
ولمن يقول اريد استخدام الترقيم اليدوي
حتى اذا تم عمل حذف يتم اعادة ترقيمة عن الاضافة

فسؤالى لك
ماذا بعد اضافة 100 قيم تم حذف احدهم وليكن رقم 66
فهل عند اضافة 101 سيتم ترقيمة 101 ام انه 66 ؟؟؟

لان بطبيعي سيكون 101 لكونك تقوم بجلب اخر رقم مضاف
واذا تم جلب بالعدد فهنا سيكون 100 مكرر مرتين

تحياتى لكم جميعاً
وتمنياتى لكم التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
#7
(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

هل من الممكن شرح الكود  تفصيلياً لتعم الفائدة ..
الرد
تم الشكر بواسطة:
#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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  صلحيات المستخدمين علي المفاتيح محمدالزند 2 236 17-11-19, 02:26 AM
آخر رد: محمدالزند
  [VB.NET] تحديث مشروع فيجوال بيسيك بعد توزيعه على المستخدمين عبر الانترنت khairallah 1 404 01-10-19, 11:30 PM
آخر رد: asemshahen5
  [VB.NET] عند تشغيل اداة print form على حاسوب المستخدمين يعطي رسالة خطا khairallah 3 367 16-09-19, 08:45 PM
آخر رد: khairallah
  ممكن كود اضافة ترقيم تلقائي +السنة الحالية ابو رضوان 2 503 01-09-19, 04:28 PM
آخر رد: ابو رضوان
  أحتاج كود اعادة ترقيم حقل المسلسل بعد حذف صف ما في الجدول Abdelazez.Ahmad 15 3,752 20-08-19, 02:00 AM
آخر رد: أبوسعود
  مبتدىء فى بيئة الدوت نت - مشكلة فى كود الحفظ المبرمج العتيق 10 635 15-08-19, 12:34 AM
آخر رد: المبرمج العتيق
  مساعده في كود متابعة المستخدمين Emam emam 4 489 31-07-19, 07:33 PM
آخر رد: Emam emam
  [VB.NET] مشكلة في تنسيق التاريخ عند توزيع البرنامج على المستخدمين khairallah 2 486 26-07-19, 11:55 PM
آخر رد: khairallah
  [VB.NET] ترقيم تسلسلي في بيئة تعدد المستخدمين khairallah 2 377 22-07-19, 09:41 PM
آخر رد: khairallah
Rainbow [سؤال] كود لحساب عدد المستخدمين للبرنامج محمد مسافر 5 716 07-03-19, 11:37 AM
آخر رد: محمد مسافر

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


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