如何将Query列转换为ColdFusion中的列表

时间:2011-03-30 17:18:35

标签: coldfusion cfquery

我正在尝试将ColdFusion查询列转换为列表,这样做的最佳方式是什么?

我认为有一个内置函数允许人们轻松地将查询列转换为列表,如果有的话?

3 个答案:

答案 0 :(得分:46)

有一个内置函数可以做到这一点:ValueList

<cfset myList = ValueList(query.columnname)>

与所有列表函数一样,还有一个可选的分隔符属性。

<cfset myList = ValueList(query.columnname,"|")>

如果您需要列表中的值使用双引号,请使用QuotedValueList。

<cfset myList = QuotedValueList(query.columnname)>

答案 1 :(得分:3)

您也可以直接访问查询的列作为数组而不进行任何转换,如果它适用于您要执行的操作:

qry.col[1] // col field of first record
qry.col[2] // col field of second record
...

qry["col"][1] // col field of first record
qry["col"][2] // col field of second record

CF查询对象实际上是列的关联数组......很奇怪但偶尔会有用。

答案 2 :(得分:0)

在这样的情况下怎么样:

<cfset SummaryQuery = Evaluate('getReportData' & summaryName & 'Summary') />
<cfset TypeList = ArrayToList(SummaryQuery[subsectionName & 'Type']) />

VS

<cfset QueryColumn = SummaryQuery[subsectionName & 'Type'] />
<cfset TypeList = ValueList(QueryColumn) />