الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعديل ترتيب السجلات إبتداءاً من الرقم 1

بدأه hamad123 في 14 يناير 2009 · 11 رد · 1,519 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الكرام ، السلام عليكم ورحمة ورحمة الله وبركاته

عندي كود يوجد به خطأ وهو تعديل ترتيب قيم حقل إبتداءاً من الرقم 1 إلى الأخير

الكود اللي عندي يرتب السجلات كلها برقم 1 فقط ولا يتم زيادتها تدريجياً

علماً ان الحقل من نوع نص وليس ترقيم تلقائي

Dim cmd As New OleDb.OleDbCommand("select * from tpl1", Conn)

Dim dr As OleDbDataReader = cmd.ExecuteReader

Dim i As Integer = 1

Do While dr.Read

Dim cmd2 As New OleDbCommand("update tpl1 set id = i ", Conn)

cmd2.Parameters.Add("@id", OleDbType.LongVarChar).Value = Val(i)

CMD2.ExecuteNonQuery()

i += 1

Loop

dr.NextResult()

dr.Close()

فأرجو التوضيح أين الخلل لكي نستفيد .. جزاكم الله خير

تم تعديل هذه المشاركة بواسطة hamad123 في 14 يناير 2009 في 18:41

#2

UP

جزاكم الله كل خير اللي يعرف لا يبخل علينا بالإجابة .. ؟

#3

السلام عليكــم ورحمـة الله وبركاتــه

SELECT * FROM tpl1 ORDER BY id

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

وياريت ترفق المثال وان شاء الله تكون النتيجه افضل من ما تتوقع

بالتوفيق

#4

أخي كيمو جزاك الله ألف خير انته ومن يساعد الناس

الكود المستخدم هو هذا بنفس الطريقة

كود الاتصال بالقاعدة

Dim Conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=; Data Source=" & Application.StartupPath & "\db1.mdb")

في الفورم لود

conn.open

في زر ترتيب التعديل

Dim cmd As New OleDb.OleDbCommand("select * from tpl1", Conn)

Dim dr As OleDbDataReader = cmd.ExecuteReader

Dim i As Integer = 0

Do While dr.Read

Dim cmd2 As New System.Data.OleDb.OleDbCommand("UPDATE Tpl1 SET id = '" & i & "'", Conn)

cmd2.ExecuteNonQuery()

Loop

dr.Close()

علماً أن قاعدة البيانات يوجد بها الجدول = tpl1

يوجد بها حقل = id

الحقل من نوع نص وليس ترقيم تلقائي

الكود المستخدم حالياً بعد التنفيذ يسجل صفر لجميع السجلات

والمطلوب :: إعادة الترقيم إبتداءاَ من 1

أرجو أن يكون واضح ولكم تحياتي مسبقاً

#5

المثال مرفق جزاكم الله خير

Test.rar

#6

السلام عليكــم ورحمـة الله وبركاتــه

لاسف المشروع مفتحش عند لاختلف الاصدارات بس انا عديلتلك فيه جرب وشوف

وعملتلك فورم اخري توضح لحضرتك فكره بسيطه جدا ارجوا ان تفيدك

بالتوفيق

Desktop.rar

#7

جزاك الله خير اخي كيمو

كم دعوتلك في ظهر الغيب يشهد الله

الحقيقة ما عرفت اوصلك المعلومة

المطلوب هو

عندي سجلات موجودة في الجدول أوكية

الحقل id اريد ترتيب أرقامة إبتداءاً من 1

مش إدخال جديد insert

العملية حتكون تعديل update

فقط .. تحياتي

والكود اللي من عندك ممتاز بارك الله فيك

#8

السلام عليكــم ورحمـة الله وبركاتــه

ده كود حضرتك لعمل التعديل

 Dim dr As OleDbDataReader = cmd.ExecuteReader
		Dim i As Integer = 0

		Do While dr.Read
			Dim cmd2 As New System.Data.OleDb.OleDbCommand("UPDATE Tpl1 SET id = '" & i & "'", Conn)
			cmd2.ExecuteNonQuery()
		Loop

		dr.Close()

هو بيحفظ كل مره بصفر لانى العدد لا يعمل

قيمه ال i كل مره بتساوي صفر لكى يزيد كل مره لابد من كتابه هذا السطر

i+=1

ليون كود حضرتك كده

Dim dr As OleDbDataReader = cmd.ExecuteReader
		Dim i As Integer = 0

		Do While dr.Read
			Dim cmd2 As New System.Data.OleDb.OleDbCommand("UPDATE Tpl1 SET id = '" & i & "'", Conn)
			'--------------
			i += 1
			'--------------
			cmd2.ExecuteNonQuery()
		Loop

		dr.Close()

واذا كان نوع الحقل رقمى يحب حذف السينجل كوتيشين

"UPDATE Tpl1 SET id = " & i & ""

عدل فى الكود وقولى على النتيجه

بالتوفيق :D

#9

عملتها بيعطيني رقم 6 لجميع السجلات

انا عندي في الجدول سبعة سجلات مدخلة

المفروض يكون السجل الأول 1

والثاني 2

وهكذا إلى السجل السابع رقم 7

بس هو بيعطيني رقم 6 لجميع السجلات

ارجو المساعدة وجزاكم الله خير

#10

مازال الموضوع قائم

جزاكم الله خير الجزاء..

لا إله إلا الله محمد رسول الله عليه أفضل الصلاة والسلام . عدد خلقة ، وزنة عرشة ، ورضاء نفسة ، ومداد كلماته

#11

السلام عليكــم ورحمـة الله وبركاتــه

اولا انا اسف على التأخير

ثانيأ

انا ما فكرت فى الكود الى حضرتك كتبه وهو جمله التحديث

لتذكره فقط جمله التحديث تعمل على كل السجلات التى يتحقق فيها الشرط

وبما انا هذه الجمله لا يوجد بها شرط اذا سيتم تحديث جميع الصفوف فى كل مره

بمعنى فى اول حلقه عندما كانت i بى صفر جميع الحقول فى هذه المره سوف تتغير الى صفر

وعندما تكون بواحد ستكون كل الحقول بواحد وهكذا لانى جمله التحديث تعدل كل الصفوف التى ينطبق عليها الشرط وان لم يوجد شرط سيتم التعديل على كل الصفوف

انا عملت لحضرتك كود تانى وشغال زي ما انت عايز هو كان ممكن ينجز بافضل من كده بس انا والله تعبان جدا ومش عارف افكر

وان شاء الله تكون مشكلتك اتعمله

بالتوفيق

SortDataReader.rar

#12

مشكور ياكيمو جزاك الله ألف خير على المساعدة

بس كنت أتمنى لو كان الحقل من نوع نص أو رقم .. على العموم مليون مليون شكر يابطل ..

مواضيع مشابهة