用于SQL Server的Microsoft OLE DB提供程序错误' 80040e14' ' ='附近的语法不正确

时间:2014-11-05 06:21:32

标签: sql-server syntax-error

当我尝试使用以下代码从数据库中检索数据时出现此错误。

有人可以帮忙吗?

set rs = Server.CreateObject("ADODB.recordset")
sql = " SELECT * from COMPANY WHERE COMPANY_ID = " & Request.Form("CompanyId")
rs.Open sql, cnn

1 个答案:

答案 0 :(得分:5)

首先,在不使用参数的情况下进行即席查询是不好的做法。 SQL注入攻击信息:http://en.wikipedia.org/wiki/SQL_injection

要回答这个问题,你需要在你正在搜索的varchar或char值周围加上单引号。

set rs = Server.CreateObject("ADODB.recordset")
sql = " SELECT * from COMPANY WHERE COMPANY_ID = '" & Request.Form("CompanyId") & "'"
rs.Open sql, cnn