这是来自VB.Net程序:
Dim cmd As String = "SELECT * FROM Employees WHERE Employee Name LIKE '%" & TextBox1.Text & "%';"
当它执行时,它表示查询表达式中存在语法错误(缺少运算符)'员工名称LIKE'%some text here%'
我在这里缺少什么?
答案 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