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

Why Cant i delete rows in a table

我无法删除 table 中的行 它没有提出任何错误信息 con 已用于其他语句并且工作正常 textbox1 是只读的,并从填充了 "Driver" 列值的列表框中获取输入 而 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 是 table 中同名的列 Driver。如果不是这种情况,那么您不理解 table 和列或基本形式为 DELETE FROM [TABLE] WHERE [condition on one or more columns]

的 DELETE 语句