在我看到使用cfqueryparam的所有优点后,我正在更新查询以使用cfqueryparam。但是,我现在遇到了一个错误,我之前没有碰过,也不确定如何排除故障或在哪里查找问题。我猜这是一个语法问题。 这是错误 -
执行数据库查询时出错。[Macromedia] [SQLServer JDBC驱动程序] [SQLServer]'@ P1'附近的语法不正确。包含或处理的特定文件序列为:C:\ inetpub \ wwwroot \ cfleadsource \ admin \ MultipleAccountReassign_new.cfm,line:170
这是我的查询。如您所见,旧查询已注释掉,并已替换为新查询。应该注意的是,旧查询没有问题,这是页面上第一个被更改的查询。对于我的生活,我无法确定什么是不正确的。谢谢你的帮助。
<cfquery name="GetAccounts" datasource="#dbConn#">
<!--- select top #callNum# * from contact where mar in (select mar from marselect where userid = #oUID# and mar not like '%branch%') order by newid() --->
select top <cfqueryparam value= "#callNum#" CFSQLType="CF_SQL_INTEGER"> * from contact where
mar in (select mar from marselect where userid = <cfqueryparam value= "#oUID#" CFSQLType="CF_SQL_INTEGER"> and mar not like '%branch%') order by newid()
</cfquery>
答案 0 :(得分:1)
select top
无法将<cfqueryparam>
用于没有括号的热门行。
您可以尝试添加括号,看看它是否有效:MS SQL Exception: Incorrect syntax near '@P0'