يمكن إضافة عمود إلى الـ (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
هكذا تحل مشكلتك صديقي
فكرة جيدة وأنا شخصياً استخدمها
فكرة جيدة وأنا شخصياً استخدمها