CFML - 查询行结构

Dan*_*iel 7 coldfusion cfloop

我想通过函数处理查询中的一行,我将该行作为结构传递.

理想情况下...

<cfloop query="myquery">
 #myfunction(#row#)#
</cfloop>
Run Code Online (Sandbox Code Playgroud)

我也可以像这样设置它......

<cfloop query="myquery">
 #myfunction(#col1#,#col2#,#col3#,#col4#)#
</cfloop>
Run Code Online (Sandbox Code Playgroud)

但我不想.我找不到一个简单的提取行的方法,但我想我会问.

Dan*_*iel 14

发现一个更优雅的解决方案,单排

<cfscript>
    function GetQueryRow(query, rowNumber) {
        var i = 0;
        var rowData = StructNew();
        var cols    = ListToArray(query.columnList);
        for (i = 1; i lte ArrayLen(cols); i = i + 1) {
            rowData[cols[i]] = query[cols[i]][rowNumber];
        }
        return rowData;
    }
</cfscript>
Run Code Online (Sandbox Code Playgroud)


Cod*_*ice 8

Adobe ColdFusion现在具有一个名为的函数QueryGetRow,该函数将查询中的行转换为结构。

附录

此功能在ColdFusion 9及更早版本上不可用。

  • 这应该是公认的回应。所有其他解决方案都更加冗长。 (2认同)