6

有没有更好的方法来编写以下内容?

<cfloop list="#qry.Columnlist#" index="FieldName">
   <cfset "form.#FieldName#" = Evaluate("qry.#FieldName#")>
</cfloop>

此循环将查询中的每个字段分配给相应的表单字段。我知道评估功能被回避。

4

3 回答 3

11
<cfloop list="#qry.Columnlist#" index="FieldName">
    <cfset form[FieldName] = qry[FieldName][1]>
</cfloop>

?

于 2010-01-06T19:35:26.243 回答
4

假设您要返回单个记录集,则以下内容将起作用。

<cfloop list="#qry.Columnlist#" index="FieldName">
<cfset "form.#FieldName#" = qry[FieldName][1]>
</cfloop>
于 2010-01-06T19:25:42.450 回答
1

切线,但是如果您要遍历查询的多行,则可以使用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>
于 2010-01-14T14:52:29.833 回答