查询奇怪类型转换的ColdFusion查询

时间:2012-06-25 15:42:57

标签: coldfusion qoq

<cfquery dbtype="query" name="LOCAL.modello">
SELECT 
    * 
FROM 
    modelliDelMarchio 
WHERE 
    marchioid = #ARGUMENTS.marchioid#  
    AND tipologia = #ARGUMENTS.tipo# 
    AND nome = '#ARGUMENTS.nome#'
</cfquery>

我在最后一个查询行上有错误。

这是:

  

查询查询运行时错误。执行时比较异常   =。不支持的类型比较异常:=运算符不支持以下类型之间的比较:左侧   表达式=“STRING”。右侧表达式=“LONG”。

我发誓:

  • ARGUMENTS.nome是一个字符串(我也试过javacast!)
  • modelliDelMarchio是一个有效的数据库查询,包含实际数据。 “nome”是一个varchar。

我的版本是9.0.1。

1 个答案:

答案 0 :(得分:1)

您需要cfqueryparam所有值。如果你不能(或不想),那么你需要像这样编写你的表达式:

marchioid = '#Arguments.marlchioid#'

如果您保留引号并且不使用cfqueryparam,则SQL引擎会将这些值视为数值或布尔值。字符串必须在引号中,或cfqueryparam s才能被视为字符串。