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

Jer*_*lle 6 sql-server syntax-error

当我尝试使用以下代码从数据库中检索数据时,我收到此错误.

有人可以帮忙吗?

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

ps2*_*oat 6

首先,在不使用参数的情况下进行即席查询是一种不好的做法。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
Run Code Online (Sandbox Code Playgroud)