문제

다음을 작성하는 더 좋은 방법이 있습니까?

<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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top