VB .NET SQL删除错误'''附近的语法不正确

use*_*540 1 sql vb.net vb.net-2010 sql-server-2012 visual-studio-2012

我有问题试图从我的VS 2012删除记录,我正在使用sql server 2012,这是我的讲师的任务,我无法解决它

现在这就是我的意思

Private Sub bt_hapus_Click(sender As Object, e As EventArgs) Handles bt_hapus.Click
    Try
        Dim sqlda As New SqlClient.SqlDataAdapter("Delete from tabelpasien where No_Rkm_Mds=" & Me.txt_rkm_mds.Text, Me.SqlConnection1)
        sqlda.Fill(dspasien, "tabelpasien")
        MsgBox("Data telah berhasil dihapus")
        bersih()
        pasif()
        normal()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub
Run Code Online (Sandbox Code Playgroud)

任何帮助都会大大贬低......

Ste*_*eve 6

使用SqlCommand和ExecuteNonQuery方法执行delete命令.

你的代码应该是

Try
    Dim cmd = New SqlClient.SqlCommand("Delete from tabelpasien where No_Rkm_Mds=@rkm", Me.SqlConnection1)
    cmd.Parameters.AddWithValue("@rkm", Me.txt_rkm_mds.Text)
    cmd.ExecuteNonQuery()
    ....
Run Code Online (Sandbox Code Playgroud)

使用参数化查询,您不必在where值附近放置引号(如果底层字段是任何类型的char/varchar/nvarchar类型),但参数化查询的最重要的好处是消除了可能的Sql注入攻击