用于SQL Server的Microsoft OLE DB提供程序错误“80040e14”语法错误'='

问题描述:

当我尝试使用以下代码段从数据库检索数据时出现此错误。用于SQL Server的Microsoft OLE DB提供程序错误“80040e14”语法错误'='

有人可以帮忙吗?

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

尝试调试并检查sql返回的变量。你需要做1)检查你的sql语句是怎么样的,并尝试在SQL环境中运行它。 2)我认为你的代码没有问题。您只需检查Request.Form(“CompanyId”)是否包含任何值或为空还是空。 – 2014-11-05 07:15:10

首先,这是不使用参数进行临时查询的不好的做法。 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