queryオブジェクトを変換します。
<cffunction name="queryToCsvText" access="remote" returnType="string" output="false" hint="クエリ結果をCSV形式の文字列に変換し返却する。">
<cfargument name="query" type="query" required="true" />
<cfargument name="includeColHeader" type="boolean" default="true" />
<cfset var local = {} />
<cfset local.retStr = "" />
<cfset local.colList = arrayToList( arguments.query.getColumnNames() ) />
<cfif arguments.includeColHeader >
<cfset local.retStr &= local.colList & chr(13) & chr(10) />
</cfif>
<cfloop query="arguments.query">
<cfset local.tempLine = "" />
<cfloop list="#local.colList#" index="colName">
<cfset local.tempLine = listAppend( local.tempLine, evaluate( colName ) ) />
</cfloop>
<cfset local.retStr &= local.tempLine & chr(13) & chr(10) />
</cfloop>
<cfreturn local.retStr />
</cffunction>
<cffunction name="queryToArray" access="remote" returnType="array" output="false" hint="クエリ結果を配列に変換し返却する。">
<cfargument name="q" type="query" required="true" />
<cfargument name="includeColHeader" type="boolean" default="true" />
<cfset var local = {} />
<cfset local.aryRet = [] /> <!--- サイズ決めてからでもいいけど。 --->
<cfset local.aryTmp = [] />
<cfset local.colList = arrayToList( arguments.q.getColumnNames() ) />
<cfif arguments.includeColHeader >
<cfset arrayAppend( local.aryRet, listToArray( local.colList ) ) />
</cfif>
<cfloop query="arguments.q">
<cfloop list="#local.colList#" index="colName">
<cfset arrayAppend( local.aryTmp, arguments.q[ colName ] ) />
</cfloop>
<cfset arrayAppend( local.aryRet, local.aryTmp ) />
<cfset local.aryTmp = [] />
</cfloop>
<cfreturn local.aryRet />
</cffunction>