为什么我不能删除表中的行

时间:2017-07-03 15:51:31

标签: sql vb.net sql-delete

我无法删除表格中的行 它没有提出任何错误消息 con已被用于其他声明并且工作得很好 textbox1是只读的,并从填充了“Driver”列值的列表框中获取输入 而check()只是刷新包含值

的列表框
ComboBox

1 个答案:

答案 0 :(得分:2)

您永远不会执行该命令。添加对SqlCommand::ExecuteNonQuery

的调用
Dim cmd As New SqlCommand("DELETE FROM Driver WHERE Driver='" & TextBox1.Text & "';", con)
cmd.ExecuteNonQuery() ' added

这就是说在向sql语句添加值时,会使用字符串连接。而是使用防止sql注入攻击的参数。

Dim cmd As New SqlCommand("DELETE FROM Driver WHERE Driver= @driver", con)
cmd.Parameters.Add("@driver", SqlDbType.VarChar).Value = TextBox1.Text ' add parameter
cmd.ExecuteNonQuery() ' added

假设

Driver是表中具有相同名称Driver的列。如果不是这种情况,那么您不理解表和列或DELETE语句,其基本形式为DELETE FROM [TABLE] WHERE [condition on one or more columns]