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

升级到ColdFusion 9时出现奇怪的cfif错误,coldfusion,coldfusion-9,Coldfusion,Coldfusion 9,我有几个地方有这样的代码: <cfinvoke component="#application.path#cfc/eval_faculty" method="getPresentations" returnvariable="presentations"> <cfinvokeargument name="id" value="#eval_id#"> <cfinvokeargument name="evalYear" value="#eval_seme

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

<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>
cfif语句中的这些值都不是复杂对象

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

错误发生在带有

有什么想法吗

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

   <cfif queryName.local ...>


如果我不能怎么办?Local是数据库表属性的名称:(此代码是否在cffunction中使用?您可以始终在查询中为列别名
选择Local AS LocalAlias
。然后改用别名。或者您可以尝试使用完全限定的名称:ie
。哦,是的。我今天太笨了。我忘了您可以作为xxx…但我不知道如何更改此名称,因为它在很多地方。现在我正在做query.local。我想当我在中指定查询时,它会将local识别为在所述查询范围内。是的,但范围名称将优先于查询列名。如果您有一个名为“session”的数据库列,则会得到相同的结果,例如。@Al-对,但完全限定名称ie
queryName.Local
应该避免这种情况。
<cfif local eq ""
  SELECT Local AS LocalAlias FROM Table
   <cfif queryName.local ...>