gpt4 book ai didi

coldfusion - 升级到 ColdFusion 9 出现奇怪的 cfif 错误

转载 作者:行者123 更新时间:2023-12-02 07:43:01 24 4
gpt4 key购买 nike

我有几个地方有这样的代码:

<cfinvoke component="#application.path#cfc/eval_faculty" method="getPresentations" returnvariable="presentations">
<cfinvokeargument name="id" value="#eval_id#">
<cfinvokeargument name="evalYear" value="#eval_semester#">
<cfinvokeargument name="department" value="#general.dept#">
</cfinvoke>

<cfset prescheck = 0>
<cfloop query="presentations">
<cfif local eq "" and regional eq "" and national eq "" and international eq "">
<cfset prescheck = prescheck+1>
</cfif>
</cfloop>

我收到这个错误:

Complex object types cannot be converted to simple values.

cfif 语句中的这些值都不是复杂对象。

这在 ColdFusion 8 中运行良好。我们刚刚升级到 ColdFusion 9...

错误发生在 <cfif local eq "" ... >

有什么想法吗?

最佳答案

<cfif local eq ""

LOCAL 现在可能是 CF9 中的系统作用域,如 FORMURL 等等。因此,当您尝试对其执行字符串比较时,CF 会报错,因为它是一个结构。如果 LOCAL 在您的旧代码中表示一个简单变量,请尝试使用不同的变量名称。

更新:根据评论,如果 LOCAL 是查询中列的名称,您可以使用 sql 别名为其指定另一个名称:

  SELECT Local AS LocalAlias FROM Table

...或使用完全限定的变量名:

   <cfif queryName.local ...>

关于coldfusion - 升级到 ColdFusion 9 出现奇怪的 cfif 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com