我有一個Datagridview,我想刪除我的MySQL數據庫中的一行。DataGridview和MySQL使用複選框刪除行
我有一些代碼,但我得到一個錯誤,它說ID爲空。我的ID是一個字符串,它是檢查列的ID的值。我的第一列「列0」是一個複選框列
下面是代碼:
隨意問的具體問題,如果你不明白我在問。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim RowsToDelete As New List(Of DataGridViewRow)
Try
For Each row As DataGridViewRow In DataGridView1.Rows
If row.Cells(0).Value = True Then
DeleteRow(row.Cells(1).Value)
RowsToDelete.Add(row)
End If
Next
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
For Each rowtodelete In RowsToDelete
DataGridView1.Rows.Remove(rowtodelete)
next
End Sub
Private Sub DeleteRow(ByVal ID As Integer)
Dim MySQLCon As New MySqlConnection
Dim ConnectionString As String = "server=localhost;user id=root;password=;database=business elements"
MySQLCon.ConnectionString = ConnectionString
Dim CMD As MySqlCommand
MySQLCon.Open()
Try
CMD.Connection = MySQLCon
CMD.CommandText = "DELETE FROM `users` WHERE `ID` = " & ID
Catch ex As Exception
End Try
MySQLCon.Close()
MySQLCon.Dispose()
End Sub
你可以發佈你的確切代碼?在上面的代碼中,您在設置您的ID之前設置了您的CommandText。另外,這很容易受到SQL注入的影響 - 使用參數化查詢。 – sgeddes 2013-02-11 23:30:16
是的,我有它後,它仍然說同樣的事情..我不明白你在說什麼,你能解釋.. – Kraxed 2013-02-11 23:44:09
看到我的答案,看看是否沒有幫助。不使用參數化查詢,但會比運行多個刪除更有效。 – sgeddes 2013-02-11 23:45:56