Sql 为什么我不能删除表中的行
我不能删除表中的行 它不会出现任何错误消息 con已用于其他语句,效果很好 textbox1是只读的,从填充了“驱动程序”列的值的列表框中获取输入 check()只是刷新包含值的列表框Sql 为什么我不能删除表中的行,sql,vb.net,sql-delete,Sql,Vb.net,Sql Delete,我不能删除表中的行 它不会出现任何错误消息 con已用于其他语句,效果很好 textbox1是只读的,从填充了“驱动程序”列的值的列表框中获取输入 check()只是刷新包含值的列表框 con.Open() Try success = True Dim cmd As New SqlCommand("DELETE FROM Driver WHERE Driver='" & TextBox1.Text & "';", con)
con.Open()
Try
success = True
Dim cmd As New SqlCommand("DELETE FROM Driver WHERE Driver='" & TextBox1.Text & "';", con)
Catch ex As Exception
MsgBox(ex.Message)
success = False
End Try
If success Then
MsgBox("Success")
End If
con.Close()
check()
您从未执行过该命令。添加对
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语句,其基本形式是从[TABLE]中删除[code>,其中[condition on one或Multi columns]
您从不执行该命令。添加对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],其中[condition on one or more columns]
请使用查询参数而不是字符串串联,否则您将面临SQL注入攻击或事故的风险。请使用查询参数而不是字符串连接,否则您将面临SQL注入攻击或事故的风险。哦,呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜