我在vb.net中使用查询时出错

时间:2017-05-18 08:46:30

标签: sql vb.net sql-like

当我在查询中使用时出现错误,仅当我使用引号(')时出现错误 这是我的代码

zz = "SELECT * from users where userid Like  N'%" & TextBox1.Text & "%'"
Dim cmdz As SqlCommand = New SqlCommand(zz, myConnection2)
zr = cmdz.ExecuteReader
DataGridView1.Rows.Clear()
If zr.HasRows Then
    While zr.Read
        Dim rowall As String() = New String() {zr("customer").ToString, zr("Management").ToString, zr("block").ToString, zr("Customerid").ToString}
        DataGridView1.Rows.Add(rowall)
    End While
    DataGridView1.Visible = True
End If

1 个答案:

答案 0 :(得分:1)

使用将您的输入转换为有效sql查询的参数(这样您就不必转义单引号)

zz = "SELECT * from users where userid Like  N'%' + @userId +'%'"
Dim cmdz As SqlCommand = New SqlCommand(zz, myConnection2)
cmdz.Parameters.Add("@userId", SqlDbType.VarChar).Value = TextBox1.Text