cfset问题与添加到现有变量

时间:2011-03-01 17:43:15

标签: coldfusion redefine

我正在把头发拉出来处理看起来容易出问题的问题。但作为一名ColdFusion新秀,我只是花了很多时间搞清楚。

<cfoutput query="getSeasonAndRate">
    <cfset adultRate = groupRate>
</cfoutput>

所以... adultRate = 89

<cfset adultRate = 88>

那么为什么adultRate STILL等于89?

谢谢! :d

2 个答案:

答案 0 :(得分:4)

这可能是一个范围问题,试试这个:

<cfset variables.adultRate= 0>
<cfoutput query="getSeasonAndRate">
    <cfset variables.adultRate = getSeasonAndRate.groupRate>
</cfoutput>
<cfdump var="#variables.adultRate#">

也可能是查询返回了多个结果,尝试转出该查询中的内容,如下所示:

<cfdump var="#getSeasonAndRate#">

答案 1 :(得分:1)

如果您的查询包含名为“adultRate”的列,那么您的CFSET语句正在更新查询对象,而不是变量范围。

This page(披露:在我自己的博客上)讨论了在没有明确指定范围的情况下读取和编写变量时的范围优先级。

要解决您的问题,请更改:

<cfset adultRate = groupRate>

为:

<cfset variables.adultRate = getSeasonAndRate.groupRate>

(假设您想要获取值的groupRate值是查询的一部分)