如何在Cfscript中循环Coldfusion cfquery?

时间:2012-10-06 12:28:34

标签: loops coldfusion

我正在尝试在cfscript中循环查询。我想我已经拥有它了,但是查询循环到无穷大。

有人可以告诉我以下内容有什么问题:

<cfscript>
    // loop single msg
    variables.allRows = current_message.recordcount;
    for ( variables.intRow = 1 ; variables.allRows LTE variables.intRow ; variables.intRow = variables.intRow + 1 ){
        variables.msg_id_viewed = current_message[ "com_msg_id" ][ variables.intRow ];
        variables.msg_app_alias = current_message[ "com_app_alias" ][variables.intRow];
        variables.msg_img_ext = current_message[ "com_img" ][ variables.intRow ];
        }
</cfscript>

查询current_message返回单个记录,因此这应该仅循环一次。

感谢您的帮助!

1 个答案:

答案 0 :(得分:9)

你的病情是错误的。

应该是:

variables.intRow LTE variables.allRows 

我怀疑current_message实际上有多行。您是否实际检查,或者您是否只是假设这是您所期望的?因为我认为variables.allRows LTE variables.intRow正在评估false,这表明variables.allRows在您第一次开始时大于1。

关于这一点:

  

查询current_message返回单个记录,因此应该循环   只有一次。

如果只有一行 - 并且知道就是这种情况 - 为什么要循环?

那就是说,你在使用什么版本的ColdFusion?在CF10中,可以使用for / in构造循环记录集,因此:

for (row in recordset){
    // row is a struct keyed on each column name, the values being the value for that column/row
}