cfqueryparam问题

时间:2015-02-17 20:54:30

标签: sql sql-server coldfusion

在我看到使用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>

1 个答案:

答案 0 :(得分:1)

select top无法将<cfqueryparam>用于没有括号的热门行。

您可以尝试添加括号,看看它是否有效:MS SQL Exception: Incorrect syntax near '@P0'