次のように書く良い方法はありますか?
<cfloop list="#qry.Columnlist#" index="FieldName">
<cfset "form.#FieldName#" = Evaluate("qry.#FieldName#")>
</cfloop>
このループは、クエリ内のすべてのフィールドを対応するフォーム フィールドに割り当てています。評価関数が敬遠されていることを理解しています。
次のように書く良い方法はありますか?
<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>