题
有没有更好的方式来写下面?
<cfloop list="#qry.Columnlist#" index="FieldName">
<cfset "form.#FieldName#" = Evaluate("qry.#FieldName#")>
</cfloop>
此循环查询中的每个字段分配给一个对应的表单字段。 据我所知,评估函数被回避。
解决方案
<cfloop list="#qry.Columnlist#" index="FieldName">
<cfset form[FieldName] = qry[FieldName][1]>
</cfloop>
其他提示
假设你返回单个记录下面的工作。
<cfloop list="#qry.Columnlist#" index="FieldName">
<cfset "form.#FieldName#" = qry[FieldName][1]>
</cfloop>
切,但如果你是一个查询的多行循环结束后,你可以使用currentRow
变量在查询对象做同样的事情,接受的答案。
<cfset var someStruct = {} />
<cfset var colummnList = queryObj.columnList />
<cfloop query="queryObj">
<cfset someStruct[currentRow] = {} />
<cfloop list="#columnList#" index="fieldName">
<cfset someStruct[currentRow][fieldName] = queryObj[fieldName][currentRow] />
</cfloop>
</cfloop>
不隶属于 StackOverflow