منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : أحتاج كود اعادة ترقيم حقل المسلسل بعد حذف صف ما في الجدول
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
يمكن إضافة عمود إلى الـ (Data Grid View) ثم ترقيم هذا العمود تلقائي دون الاتصال بقاعدة البيانات ثم كتابة الكود التالي
For i As Integer = 0 To DataGridView1.Rows.Count - 1
Dim q As Integer = i + 1
DataGridView1(1, i).Value = (i + 1).ToString
Next
بس شباب اذا تم تغيير autonumber الى number اثناء الاضافة لنقل لزبون جديد يحدث خطأ بأن الترقيم ليس AutoNumber فما الحل ؟؟

مثال :

لدي في القاعدة
1-عباس
2- علي
3-محمد
5-عيسى

اذا اريد اضافة شخص جديد يحدث خطأ في CUSTID
بسبب انه number وليس AutoNumber

افضل كود بسيط يقوم بحذف CustID ويزرعها من جديد مع اعادة الترقيم وبدون مايحدث خطأ في الاضافة لموظف جديد او زبون جديد
هل يمكنكم المساعدة ؟؟
إقتباس :يحدث خطأ بأن الترقيم ليس AutoNumber فما الحل ؟؟
لم الحظ هذا اخي!
اهم شي مفتاح اساسي .
لا أعلم لماذا الناس مهووسين بإعادة الترتيب؟؟؟ ما المشكلة في تركها كما هي؟؟؟ أليست السجلات في جدول ما مرتبطة بسجلات أخرى في جداول أخرى لنفس رقم الـID؟
نعم حقل المفتاح غير مخصص للترتيب التسلسلي
ولكن دائمًا نحتاج الترتيب التسلسلي لذلك أفضل إضافة عمود آخر غير مفتاح الجدول يكون خاص بالترتيب وحتى لا يسبب هذا العمود حمل على قاعدة البيانات فالأفضل أن يكون من DataGrid والله أعلم
(08-09-17, 11:56 PM)Rabeea Qbaha كتب : [ -> ]ابسط طريقة بحسب ما ارى ان تقم بعمل عمود الرقم (id) غير تلقائي 
بعد ذالك في الكود البرمجي عند كل اضافه معلوماتجديده للجدول تقوم بقرائه اخر رقم (id) من الجدول و تضيف اليه 1

وهذه هي الطريقه :

فنكشن لقرائه اخر رقم من الجدول :

 
كود :
Private Function GetRowsCount() As Integer
        Dim da As New SqlDataAdapter("select * from table", SQL.conn)
        Dim ds As New DataSet
        da.Fill(ds)
        Return ds.Tables(0).Rows.Count
    End Function

بعد ذلك عند الاضافه تقوم بوضع هذا الكود ليضاف لل id :
GetRowsCount() + 1
هكذا تحل مشكلتك صديقي
فكرة جيدة وأنا شخصياً استخدمها

فكرة جيدة وأنا شخصياً استخدمها
الصفحات : 1 2