تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] ظهور رسالة خطأ فى كود إعادة الترقيم التلقائى
#1
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته 
عندى مشكلة فى كود الترقيم التلقائى 
حيث إنى عندما اقوم باستعادة الترقيم التلقائى لحقل ID يظهر الخطأ فى الصورة 


وهذا هو الكود المستحدم فى عمل استعادة الترقيم 


كود :
If SQLBindingSource1.Count = 0 Then Beep() : Exit Sub


       
       Application.DoEvents()

       Dim cmd As New SqlCommand("", con)

       con.Open()

       'ID كود حذف المفتاح من حقل الترقيم التلقائي الي اسمه  

       cmd.CommandText = "ALTER TABLE Tab1 DROP CONSTRAINT PrimaryKey"
       cmd.ExecuteNonQuery()

       ' ID كود حذف حقل الترقيم التلقائي الي اسمه  

       cmd.CommandText = "ALTER TABLE Tab1 DROP COLUMN ID "
       cmd.ExecuteNonQuery()

       'مع وضع مفتاح له ID كود انشاء حقل الترقيم التلقائي الي اسمه  

       cmd.CommandText = "ALTER TABLE Tab1 ADD COLUMN ID COUNTER CONSTRAINT [PrimaryKey] Primary key "
       cmd.ExecuteNonQuery()

       'تغيير نوعية الحقل من ترقيم تلقائي الى رقم
       cmd.CommandText = "ALTER TABLE Tab1 ALTER COLUMN ID Long"

       cmd.ExecuteNonQuery()

       con.Close()

       'تحديث قاعدة البيانات
       SQLDataSet1.Clear()
       SQLDataAdapter1.Fill(SQLDataSet1, "Tab1")

       DataGridView1.AllowUserToAddRows = False

       MsgBox("تم بنجاح استعادة تسلسل السجلات", "نجاح")

ولكم جزيل الشكر مقدماً
الرد
تم الشكر بواسطة: ابو ليلى
#2
السلام عليكم ورحمة الله وبركاته
ليس لي تجربة سابقة مع اعادة الترقيم التلقائي وحذف المفتاح
ولكن اعتقد والله اعلم ومن بعده انت اخي الكريم
ان كان المفتاح مرتبظ بمفتاح فرعي لجدول أخر فيفترض اولا ازالة العلاقة وفكها بين الجدولين ثم عمل حذف المفتاح و اعادة الترقيم
لان اعادة الترقيم من شأنه افساد السجلات من الجدول المرتبظ بالجدول المراد اعادة الترقيم له وهذه العملية ممنوعة ان لم نزيل العلاقة

شيئ اخر استبدل كلمة PrimaryKey باسم الحقل الذي هو يحمل المفتاح الرئيسي
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: asemshahen5 , ابو ليلى , عبدالله الدوسري
#3
(17-04-20, 07:06 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
ليس لي تجربة سابقة مع اعادة الترقيم التلقائي وحذف المفتاح
ولكن اعتقد والله اعلم ومن بعده انت اخي الكريم
ان كان المفتاح مرتبظ بمفتاح فرعي لجدول أخر فيفترض اولا ازالة العلاقة وفكها بين الجدولين ثم عمل حذف المفتاح و اعادة الترقيم
لان اعادة الترقيم من شأنه افساد السجلات من الجدول المرتبظ بالجدول المراد اعادة الترقيم له وهذه العملية ممنوعة ان لم نزيل العلاقة

شيئ اخر استبدل كلمة PrimaryKey باسم الحقل الذي هو يحمل المفتاح الرئيسي

شكرا لك أخى إبراهيم على تفاعلك معى ومحاولة مساعدتى 
بالنسبة للمفتاح فهو غير مرتبط بمفتاح فرعى لجدول آخر 
بالنسبة لاستبدال كلمة PrimaryKey باسم الحقل الذى يحمل المفتاح الرئيسى 
فقد ظهرت نفس سالة الخطأ 
الرد
تم الشكر بواسطة: ابراهيم ايبو , ابو ليلى
#4
شخصيا" لا افضل حذف اي مفتاح اساسي من جدول او اعادة ترقيمه
اذا ما هو الهدف من المفتاح الاساسي للجدول اذا كنت ساقوم بالتغيير عليه
الرد
#5
(17-04-20, 09:56 PM)aljzazy كتب : شخصيا" لا افضل حذف اي مفتاح اساسي من جدول او اعادة ترقيمه
اذا ما هو الهدف من المفتاح الاساسي للجدول اذا كنت ساقوم بالتغيير عليه

الهدف هو إعادة تسلسل الأرقام للبيانات عند ظهورها فى dataGridview بعد حذف أحد السجلات
إلى جانب محاولة فهم سبب ظهور الرسالة وحل المشكلة
الرد
تم الشكر بواسطة: ابراهيم ايبو , ابو ليلى
#6
السلام عليكم ورحمة الله وبركاته
لدي اقتراح
اذهب الى الـ SQLServer وقم بحذف المفتاح بنفسك وارجع الى كودك مع الغاء حذف المفتاح ونفذ ماتبقى من الكود
حتى تفهم اين المشكلة
اعمل الخير واجرك لاتنتظره فالله خير من اليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد
تم الشكر بواسطة: ابو ليلى
#7
(17-04-20, 10:59 PM)ابراهيم ايبو كتب : السلام عليكم ورحمة الله وبركاته
لدي اقتراح
اذهب الى الـ SQLServer وقم بحذف المفتاح بنفسك وارجع الى كودك مع الغاء حذف المفتاح ونفذ ماتبقى من الكود
حتى تفهم اين المشكلة

قمت بتنفيذ اقتراحك حيث يتم بالفعل حذف حقل الـ ID
ولكن الكود لا يستطيع انشاء حقل ID مرة أخرى وتظهر الرسالة ولم افهم ما السبب 

الرد
تم الشكر بواسطة: ابو ليلى
#8
اخي الفاضل :
وجود كلمة COLUMN في جملة اضافة الحقل يعتبر خطأ .... ولا تنسى توصيف نوع الحقل المراد اضافته
الرد
تم الشكر بواسطة: ابراهيم ايبو , asemshahen5 , ابو ليلى
#9
شرح عمل مايكرو او مفتاح يقوم بتصحيح المسلسل فى حقل الترقيم التلقائى بدون اكواد
الرد
تم الشكر بواسطة: ابو ليلى
#10
(19-04-20, 01:37 AM)boudyonline كتب : اخي الفاضل :
وجود كلمة COLUMN في جملة اضافة الحقل يعتبر خطأ .... ولا تنسى توصيف نوع الحقل المراد اضافته

اخى الفاضل الكود يعمل بشكل صحيح فى حالة كانت قاعدة البيانات أكسس
ولكن عندما تكون قاعدة البيانات SQL يظهر الخطأ الظاهر فى الصورة

(19-04-20, 02:20 AM)asemshahen5 كتب : شرح عمل مايكرو او مفتاح يقوم بتصحيح المسلسل فى حقل الترقيم التلقائى بدون اكواد

أخى الفاضل قاعدة البيانات التى اعمل عليها الآن SQL مرتبطة بمشروع على VB.net
الكود السابق عند تحويله للعمل على قاعدة بيانات Access يعمل بكفاءة وعند تحويله للعمل على قاعدة البيانات الـ SQL يظهر الخطأ الظاهر فى الصورة
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في الترقيم التلقائي في قاعدة بيانات سيكوال سيرفر momani33 3 76 27-05-20, 11:49 PM
آخر رد: momani33
  [كود] اريد كود رسالة تنبيه datagridview فارغة sidi bibi 3 86 26-05-20, 05:45 AM
آخر رد: sidi bibi
  مشكلة رسالة overflow لمابعمل حفظ mazentq 3 68 24-05-20, 08:46 AM
آخر رد: mazentq
  خطأ عند إعادة تسمية العمود في قاعدة بيانات أكسس Hazem1 1 73 14-05-20, 03:56 AM
آخر رد: ابراهيم ايبو
  ظهور رسالة خطأ عند إجراء النسخ الاحتياطي لقاعدة البيانات momiana1 0 65 11-05-20, 04:14 AM
آخر رد: momiana1
  مشكلة ظهور رسالة وميض Microsoft .Net Framework Hazem1 0 66 07-05-20, 07:08 PM
آخر رد: Hazem1
  حل مشكله ظهور رموز غريبه اليوم السابع 2 121 05-05-20, 09:38 PM
آخر رد: اليوم السابع
  ظهور قفل للفورمات alshandodi 5 144 05-05-20, 01:42 AM
آخر رد: عبدالله الدوسري
  رسالة خطأ تظهر عن الاتصال بقاعدة بيانات اكسس abdalla89 1 77 29-04-20, 07:36 PM
آخر رد: ابراهيم ايبو
  [VB.NET] ظهور خطا بالاتصال بقاعدة البيانات Mohammed Nafa 0 88 31-03-20, 04:41 PM
آخر رد: Mohammed Nafa

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


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