هذا المشروع بمجرد إختيار صف يقوم بحذف الصف من خلال الزر
وهنا ليس عندي مشكله
ما اريده هو :
اني اضفت تشك بوكس للحذف المتعدد بمعنى اعمل تشك لعدة حقول
ثم اضغط حذف يقوم بحذف المحدد .. وهذا ما اريده
وهل سيحدث تعارض حذف صف مه حذف متعددعبر تشكبوكس
ام ان كل حذف على حده
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Try
cmd = New OleDbCommand(String.Empty, conn)
conn.Open()
For i = 0 To dgv.Rows.Count - 1
If dgv.Item(2, i).Value = True Then
Dim id As Integer = dgv.Item(0, i).Value
cmd.CommandText = "Delete from tb2 where Id = " & id
cmd.ExecuteNonQuery()
End If
Next
conn.Close()
Form1_Load(Nothing, Nothing)
MsgBox("تمت عملية الحذف بنجاح", MsgBoxStyle.Exclamation, "تنبيه")
Catch ex As Exception
Exit Sub
End Try
End Sub
لا داعي لوضع عمود CheckBox في قاعدة البيانات لتحديد الحذف،
لأنه بامكانك بعد إضافة البيانات أن تضيف عمود CheckBox في الداتاجريدفيو بالكود لتحديد الحذف،
وهذه هي الطريقة
كود :
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim da As New OleDbDataAdapter("select * from tb2", conn)
Dim dt As New DataTable()
da.Fill(dt)
dgv.DataSource = dt
dgv.Columns.Add(New DataGridViewCheckBoxColumn With {.HeaderText = "حذف", .Name = "Delete"})
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Try
cmd = New OleDbCommand(String.Empty, conn)
conn.Open()
For i = 0 To dgv.Rows.Count - 1
' يمكن الإشارة باسم العمود بدلا من رقمه لمعرفة القيمة
If dgv.Item("Delete", i).Value = True Then
Dim id As Integer = dgv.Item(0, i).Value
cmd.CommandText = "Delete from tb2 where Id = " & id
cmd.ExecuteNonQuery()
End If
Next
conn.Close()
Form1_Load(Nothing, Nothing)
MsgBox("تمت عملية الحذف بنجاح", MsgBoxStyle.Exclamation, "تنبيه")
28-02-17, 09:56 PM (آخر تعديل لهذه المشاركة : 28-02-17, 10:13 PM {2} بواسطة abdulla2.)
أخي [مساعدة]
كل شئ على مايرام ..مشكوراً لك أخي ولكن هناك خطأ بسيط ..
أريدك ان تجربه عندك وهو ..
عندما أنشا تشكبوكس بالكود كما تفضلت .. واقوم بالحذف سواء بصف او صفوف متعدده ..
يتم الحذف بنجاح ولكن يظهر كولوم أىخر بجانب كولوم التشكبوكس فيكون عددهم 2 وأحيانا يصبح 3 كولوم تشكبوكس ..؟؟؟
---
حاولت اوقف اللود في الحذف ولا زالو يظهروا ؟؟
هناك مشكلة في الحذف في حالة انني أنشأت التشكبوكس بالكود ؟؟؟
01-03-17, 07:55 PM (آخر تعديل لهذه المشاركة : 01-03-17, 07:55 PM {2} بواسطة abdulla2.)
حينما طبقت الكود في مشروع صغير يعمل
وحينما انقله لمشروعي لا يعمل ممكن النظر فيه مرة أخرى أخي [ مساعدة ]
وهنا وضعت الفورم الذي به المشكله
وهاك البيانات http://up.top4top.net/downloadf-4251dndg1-rar.html
Private Sub Button1_Click_1(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Try
cmd = New OleDbCommand(String.Empty, conn)
conn.Open()
For i = 0 To DGVAlert.Rows.Count - 1
' يمكن الإشارة باسم العمود بدلا من رقمه لمعرفة القيمة
If DGVAlert.Item("X", i).Value = True Then
Dim ID_Format As String = DGVAlert.Item(0, i).Value
cmd.CommandText = "Delete from TB_Notices where ID_Format = '" & ID_Format & "' "
cmd.ExecuteNonQuery()
End If
Next
conn.Close()
FillDGVAlert()
MsgBox("تمت عملية الحذف بنجاح", MsgBoxStyle.Exclamation, "تنبيه")
Catch ex As Exception
Exit Sub
End Try
End Sub
أثناء كون البرنامج في مرحلة التطوير قم بتعطيل Try ليظهر أي خطأ محتمل في الكود.