28-02-17, 08:26 PM
السلام عليكم
تفضل التعديل
لا داعي لوضع عمود CheckBox في قاعدة البيانات لتحديد الحذف،
لأنه بامكانك بعد إضافة البيانات أن تضيف عمود CheckBox في الداتاجريدفيو بالكود لتحديد الحذف،
وهذه هي الطريقة
تفضل التعديل
كود :
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, "تنبيه")
Catch ex As Exception
Exit Sub
End Try
End Sub

