我想通过函数处理查询中的一行,我将该行作为结构传递.
理想情况下...
<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)
Adobe ColdFusion现在具有一个名为的函数QueryGetRow,该函数将查询中的行转换为结构。
附录
此功能在ColdFusion 9及更早版本上不可用。