首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >升级到ColdFusion 9时出现奇怪的cfif错误

升级到ColdFusion 9时出现奇怪的cfif错误
EN

Stack Overflow用户
提问于 2012-02-08 03:21:39
回答 1查看 354关注 0票数 2

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

代码语言:javascript
复制
<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>

我得到了这个错误:

代码语言:javascript
复制
Complex object types cannot be converted to simple values.

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

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

错误发生在包含<cfif local eq "" ... >的行上

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-08 03:25:45

本地eq "“

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

SQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdateSQLUpdate:在注释中,如果LOCAL是查询中列的名称,则可以使用别名为它指定另一个名称:

代码语言:javascript
复制
  SELECT Local AS LocalAlias FROM Table

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

代码语言:javascript
复制
   <cfif queryName.local ...>
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9182464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档