Coldfusion动态查询输出

jee*_*ers 3 coldfusion concatenation dynamic cfoutput

不确定这是否可行.我想要做的是通过查询构建输出字符串.我连接输出"名称"并将"值"附加到结尾.然后输出字符串.我不认为这是可能的.但我正在寻找任何替代方案.

所以这就是我所拥有的:

qry1是主要的查询.qry2获取要追加到字符串末尾的值.所以变量的值test看起来像这样:"variables.qry1.100"

这是有意义的,qry1因为这是查询对象的一部分.那么这个字符串将从数据库中返回一个正确的值,因为有一个名为100的子查询

<cfoutput>
<cfloop query="variables.qry2">
    <cfset test = variables.qry1. & variables.qry2.#valueID#>
<td>#test#</td> 
</cfloop>
</cfoutput>
Run Code Online (Sandbox Code Playgroud)

非常感谢.

JC

Ada*_*ron 14

所以基本上-鉴于你的例子-你有一栏qry1100(等等,也许还有200,300等),和值100,200,300等都是行值的valueIDqry2?并且qry1是单行查询?是对的吗?

如果您在动态字符串中具有该列的名称,则使用以下语法:

queryName[columnName][rowNumber]
Run Code Online (Sandbox Code Playgroud)

queryName作为查询的变量在哪里,columnName是包含列名的字符串,并且rowNumber是行号(实际数字或包含一个的变量).

因此,使用您的示例变量,您的代码将是:

<td>#variables.qry1[variables.qry2.valueID][1]#</td>
Run Code Online (Sandbox Code Playgroud)

没有必evaluate()要这样做,这不是一个好的解决方案.evaluate()从CF5时代开始,很少需要在CFML中使用.

我不知道你的数据结构是如何形成的背景,但如果你需要编写你建议你需要的那种代码...我会看起来很长很难你要做的事情.