ColdFusion服务器从CF9升级到CF21后查询的ColdFusionQuery问题



我想不通。我公司最近将我们的ColdFusion服务器从CF9升级到CF2021。我的一个页面使用查询的查询来运行。升级之前,页面运行良好。但是,在升级后,查询where语句的查询不会返回任何结果。即使原始查询具有数据。数据来自DB2数据源,以防在新版本中发生更改。

<cfquery name         = "query_data_sample"  dbtype="query">
SELECT
SAMPLE_DATE
,    SAMPLE_NBR
,    SAMPLE_MISC_NBR
,  SUM (RECD_QTY)      AS   TTL_RECD_QTY
,  SUM (MISC_QTY_1)    AS   TTL_MISC_QTY_1
,  SUM ( 1 )           AS   TTL_COUNT
FROM    original_query_result
WHERE    1=1
AND SAMPLE_DATE = <cfqueryparam value = "#original_query_result.SAMPLE_DATE#" cfsqltype = "CF_SQL_DATE">
AND SAMPLE_NBR  = <cfqueryparam value = "#trim(original_query_result.SAMPLE_NBR)#"  cfsqltype = "CF_SQL_CHAR">
AND SAMPLE_MISC_NBR = <cfqueryparam value = "#trim(original_query_result.SAMPLE_MISC_NBR)#"   cfsqltype = "CF_SQL_CHAR">

GROUP BY
SAMPLE_DATE
,    SAMPLE_NBR 
,    SAMPLE_MISC_NBR 

</cfquery>

当我注释掉AND语句并转储上面的查询时,我可以看到original_query_result的输出以及所有TTL值和Sample行。但是,如果我只想用AND语句获取一行,那么查询返回为未找到该行。我正在执行一个cfoutput query=original_query_result,并试图获得要显示在输出网格表中每行上的总量。

如有任何帮助,我们将不胜感激。我已经想了一个多星期了。

我不久前看到了类似的东西,并发现了这篇文章:

https://web.archive.org/web/20180210052449/http://blog.dkferguson.com/index.cfm/2010/2/17/Using-CFDirectory 查询

基本上,我必须计算日期并使用cfqueryparam(就像你一样(:

SAMPLE_DATE = CAST(<cfqueryparam value="#original_query_result.SAMPLE_DATE#" cfsqltype="CF_SQL_DATE"> AS date)

帖子说他们必须两面都投,但我没有发现。

最新更新