我的代码在ColdFusion 9上运行得很好,但是一旦我们对ColdFusion 2016进行了更新,代码就会变得很有效。以下是代码示例:
<cfset rec = structKeyExists(URL, "recType") ? recType : "">
<cfinvoke component="#application.pathIDEA#.APPS.components.getRecs" method="evalSelect" returnvariable="getEvalData">
<cfinvokeargument name="whKey" value="#key#"/>
<cfinvokeargument name="whType" value="#rec#"/>
</cfinvoke>
<cfdump var="#getEvalData.recordcount#">
<cfquery name="evalData" dbtype="query">
SELECT *
FROM getEvalData
<cfif len(rec) AND rec NEQ 9>
WHERE ea_type = '#rec#'
</cfif>
</cfquery>
<cfdump var="#evalData.recordcount#">
如上所示,我cfinvoke
调用.cfc
中的函数。如果我转储我的返回变量,则会有包含20条记录的数据。在我使用query of queries
为ea_type
字段添加过滤器后,查询将返回0条记录。我很困惑为什么会因为该类型的数据而返回0。 ColdFusion 2016中有什么东西可以使用不同,或者我的代码因其他原因而破坏。这在ColdFusion 9和ColdFusion 10中有效,但在2016年的ColdFusion中无效。如果有人知道如何解决这个问题,请告诉我。