是否可以在ColdFusion中生成动态生成的查询名称?

Joh*_*ohn 2 coldfusion cfquery coldfusion-9

我想做的是

<cfloop array="#LOCAL.someArray" index="LOCAL.aString">

    <cfset LOCAL.queryName = "uniqueQueryName_" & LOCAL.aString />

    <cfquery name="#LOCAL.queryName#" datasource="db" cachedwithin="#CreateTimeSpan(1,0,0,0)#">
        SELECT count(*) AS c FROM someTable
    </cfquery>

    <cfdump var="#LOCAL.queryName#" />
</cfloop>
Run Code Online (Sandbox Code Playgroud)

这是可能的,还是有更好的方法呢?

编辑

这适用<cfloop query="LOCAL.queryName">但不是我尝试的时候<cfset ArrayAppend(LOCAL.returnArray, LOCAL.queryName.c) />

Ada*_*ron 10

没有必要使用evaluate()这样做,而且不应该这样做(所以我已经低估了答案,对不起).

您需要做的就是使用关联数组表示法:

<cfdump var="#local[qname]#">
Run Code Online (Sandbox Code Playgroud)

如果想要访问该查询的列,则为:

#local[qname][columnName]#
Run Code Online (Sandbox Code Playgroud)

对于特定的细胞:

#local[qname][columnName][rowNumber]#
Run Code Online (Sandbox Code Playgroud)

在极少数情况下,evaluate()任何事情都是正确的答案.人们不能依赖Adobe文档,因为 - 不幸的是 - 其中很多都不是由非常有经验的ColdFusion开发人员编写的.