Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为什么我不能删除表中的行_Sql_Vb.net_Sql Delete - Fatal编程技术网

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

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已用于其他语句,效果很好 textbox1是只读的,从填充了“驱动程序”列的值的列表框中获取输入 check()只是刷新包含值的列表框

        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注入攻击或事故的风险。哦,呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜