2

我正在努力解决看似简单的问题。但作为一个 ColdFusion 新秀,我只是费了好大劲才弄明白。

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

所以...成人率 = 89

<cfset adultRate = 88>

那么为什么adultRate 仍然等于89?

谢谢!:D

4

2 回答 2

4

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

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

也可能是查询返回了多个结果,尝试像这样转储查询中的内容:

<cfdump var="#getSeasonAndRate#">
于 2011-03-01T17:55:03.793 回答
1

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

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

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

<cfset adultRate = groupRate>

至:

<cfset variables.adultRate = getSeasonAndRate.groupRate>

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

于 2011-03-01T18:16:01.553 回答