我正在尝试将ColdFusion查询列转换为列表,这样做的最佳方式是什么?
我认为有一个内置函数允许人们轻松地将查询列转换为列表,如果有的话?
答案 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) />