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

سؤال حول منع التكرار

بدأه shosho842000 في 25 أكتوبر 2009 · 3 رد · 521 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اريد كود لمنع تكرار رقم البطاقة ولكن من خلال datagrid كيف امنع تكرار الرقم

واظهر رساله للمستخدم ان هذا الرقم مسجل من قبل

#2

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

تقوم باستعراض جميع اسطر الداتاجريدفيو و تقوم بمقارنة المعلومة بمحتوى الخلية عند الرقم المحدد للمعلومة على الداتاجريد.

تحياتي...

#3

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

معلش ممكن بالكود لانى عملت الكود التالى

	Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
		Try
			If cn.State = ConnectionState.Open Then cn.Close()
			cn.Open()
			cmd.Parameters.Clear()
			cmd.CommandType = CommandType.Text
			cmd.CommandText = "select id from dept where id=@id"
			cmd.Parameters.Add("@id", SqlDbType.Int).Value = DataGridView1.CurrentRow.Cells(0).Value
			dr = cmd.ExecuteScalar
			If dr.Read Then
				MessageBox.Show("هذا الرقم مكرر")
			Else
				Exit Sub
			End If

		Catch ex As Exception
			MessageBox.Show(ex.Message)
		End Try

الكود شغال بس بيشتغل فى حالة الحفظ والتعديل هو المفروض يرفض التعديل فعلا لو الرقم مكرر بس انا ممكن معدلش الرقم وادخله زى ما هو ولا هو فى فكرة تانية فى التعديل ؟؟؟؟؟؟؟؟

#4

السلام عليكم يا أخى

إنت ممكن تكتب كود فى حدث بداية التحرير

begineEdit

وتحط قيمة الخلية فى متغير

وده طبعا هيكون قبل ما قيمة الخلية تتغير

أول حاجة حد متغير عام للفورم

Public Class Form1
Dim txt As String

وبعدين هيكود ده الكود اللى هتاخد بيه قيمة الخلية قبل التعديل وتحطها فى المتغير اللى عملناه

 Private Sub DataGridView1_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit

TXT = DataGridView1.CurrentCell.Value

End Sub

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

ويكون كودك بالطريقة ديه

 Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit

Try

If cn.State = ConnectionState.Open Then cn.Close()

cn.Open()
cmd.Parameters.Clear()
cmd.CommandType = CommandType.Text
cmd.CommandText = "select id from dept where id=@id"

cmd.Parameters.Add("@id", SqlDbType.Int).Value = DataGridView1.CurrentRow.Cells(0).Value
dr = cmd.ExecuteScalar
If dr.Read Then
MessageBox.Show("هذا الرقم مكرر")
DataGridView1.CurrentCell.Value = TXT

Else
Exit Sub

End If

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

وإن شاء الله كده هيشتغل زى ما فى دماغك

عندما تضيق بك الدنيا فلا تقل يارب عندى هم كبير ولكن قل يا هم عندى رب كبيييير

اللهم إنى أتيت بابك مستغفراً فإن غفرت لى وأدخلتنى فأنت أهلٌ لذلك

وإن لم تغفر لى وطردتنى فأنا أهلٌ لذلك

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