تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة ال ID في عدم تخزين وترتيب البيانات بشكل منتظم
#1
Heart 
كود :
Try
   Dim sql As String = " DELETE FROM [table1] WHERE [id]=" & Int(Me.DataGridView1.CurrentRow.Cells(0).Value)
   '                                                                                         ^^^^^^^^^^^^^^
   '                                                                                            ID رقم
   Dim comm As New OleDb.OleDbCommand(sql, conn)

   conn.Open()
   Dim result As Integer = comm.ExecuteNonQuery
   conn.Close()

   If result > 0 Then
       Me.DataGridView1.Rows.Remove(Me.DataGridView1.CurrentRow)
       MsgBox("لقد تم حذف السجل بنجاح")
   Else
       MsgBox("لم أجد السجل المراد حذفه")
   End If

Catch ex As Exception
   MsgBox("فشلت عملية الحذف")
End Try
السلام عليكم أخواني الكرام أنا استخدم الكود اعلاه لحذف البيانات 
حين أقوم باعادة حفظ بيانات أخرى أجد أن رقم المعرف id  في الداتا جريد يبدأ من الرقم الاخير الذي حذف 

اي أن رقم id للسطر كان 1 و 2 و 3 , فقمت بحذف جميع الأسطر أجد بعد حفظ بيانات جديدة أنها لم تبدأ الحفظ من السطر 1 بل بدأت من السطر 4 .
كما أنني تفحصت القاعدة في access ووجدت أنها فارغة
الرد
تم الشكر بواسطة:
#2
في اجراء اصلاح ملف القاعدة بنفس الاكسس او اصلح الملف بكود بسيط
الرد
تم الشكر بواسطة: حريف برمجة , حريف برمجة , الرائد
#3
السلام عليكم اخي رائد
انت تستحدم حقل الـ ID ترقيم تلقائي AutoNumber
وهذه الخاصية تقوم باعطاء كل سجل رقم فريد لايتكرر
وعندما يستخدم رقم في الترقيم لايعاد استعماله من قبل قاعدة البيانات حتى ولو قمت بحذف كل السجلات
وعن اضافة سجل جديد سيقوم الترقيم التلقائي باضافة رقم يلي اخر رقم استخدم
بمعنى عود ثقاب اذا اشعلته مرة لايمكنك اشعاله مرة ثانية لانه استهلك
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
الرد
تم الشكر بواسطة: الرائد
#4
تستطيع حذف العمود وإعادة إضافته مرة أخرى فيبدأ الترقيم من جديد .

نقطة هامة تستطيع عمل هذا فقط مع الجداول الغير مرتبطة .
الرد
تم الشكر بواسطة: ابراهيم ايبو , الرائد
#5
نعم صحيح كما قال اخي عاصم مشكورا يمكنك حذف عمود الترقيم التلقائي والحفظ
ثم انشاء حقل ترقيم جديد ولكن شرط ان لايكون primary key
عندها سيبدأ الترقيم من جديد
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
الرد
تم الشكر بواسطة: asemshahen5 , الرائد , الرائد
#6
(15-07-19, 12:17 AM)ابراهيم ايبو كتب :
نعم صحيح كما قال اخي عاصم مشكورا يمكنك حذف عمود الترقيم التلقائي والحفظ
ثم انشاء حقل ترقيم جديد ولكن شرط ان لايكون primary key
عندها سيبدأ الترقيم من جديد
شكرا لكم لقد جعلت فئة id (random)
لاستخراج رقم غير مكرر حيث يمكنني ان استعمله في البرنامج كرمز تسجيل
شكرااا لكم  Blush
الرد
تم الشكر بواسطة: asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اريد فكرة الطرح والجمع من داخل قاعدة البيانات مراد بورجي 2 489 28-12-19, 07:41 PM
آخر رد: مراد بورجي
  كيف الغاء التكرار في البيانات بسام محمدغانم 0 166 27-12-19, 11:06 PM
آخر رد: بسام محمدغانم
  [VB.NET] حفظ البيانات دفعة واحدة الداتا جريد فيو mahmoud.3com 2 791 19-12-19, 11:23 PM
آخر رد: بسام محمدغانم
  [VB.NET] حفظ مسار الصور في قاعدة البيانات sql Hassan.syria 3 369 25-11-19, 01:25 PM
آخر رد: kiki
  [سؤال] فك كلمة مرور معقدة على قاعدة البيانات اكسس ahmed saba 8 10,163 27-10-19, 05:37 PM
آخر رد: Musayahya2015
  اظهار قيمة الـــ DateTimePicker عند استدعائها من قاعدة البيانات mr_hso 4 472 04-09-19, 12:33 PM
آخر رد: mr_hso
  [سؤال] مشكلة بـ كود جمع حقل الاجمالي norman 0 302 06-07-19, 02:47 AM
آخر رد: norman
  قاعدة البيانات بتقفل كل شوية احمد خطاب 5 596 11-05-19, 04:24 AM
آخر رد: احمد خطاب
  سؤال عن قواعد البيانات في فيجوال بيسك2015 Emam emam 6 602 11-05-19, 04:02 AM
آخر رد: Emam emam
  [VB.NET] مشغل قواعد البيانات sql , mysql محمد اسماعيل 2 423 20-04-19, 12:32 PM
آخر رد: محمد اسماعيل

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


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