这个SQL查询中缺少什么操作符?

时间:2014-02-25 12:44:43

标签: sql vb.net

这是来自VB.Net程序:

Dim cmd As String = "SELECT * FROM Employees WHERE Employee Name LIKE '%" & TextBox1.Text & "%';"

当它执行时,它表示查询表达式中存在语法错误(缺少运算符)'员工名称LIKE'%some text here%'

我在这里缺少什么?

1 个答案:

答案 0 :(得分:3)

如果Employee Name是您的列的名称,那么您必须在其周围放置方括号以避免混淆解析器。

Dim cmd As String = "SELECT * FROM Employees WHERE " & _ 
                    "[Employee Name] LIKE '%" & TextBox1.Text & "%';"

请记住,构建sql查询的字符串连接是a real danger 参数化查询始终是可行的方法。

假设您正在使用Sql Server

Dim cmd As String = "SELECT * FROM Employees WHERE " & _ 
                    "[Employee Name] LIKE @name"
Using con = new SqlConnection(.....)
Using cmd = new SqlCommand(cmd, con)
   con.Open()
   cmd.Parameters.AddWithValue("@name", "%" & TextBox1.Text & "%")
   Using reader = cmd.ExecuteReader()
        .....
   End Using
End Using
End Using