将Coldfusion查询结果写入文本文件不起作用

use*_*291 4 coldfusion

<cfquery name="writefile" datasource="#dsn#">
    SELECT abc,def,pqr,stu,zex
    FROM mytable
</cfquery>


<cfoutput>
    <table>
        <cfloop query="writefile">
            <tr>
                <cfloop list="#ArrayToList(writefile.getColumnNames())#" index="col">
                    <cffile action="write" file="d:\test.txt"      output="#writefile[col][currentrow]#"> 

                </cfloop>
            </tr>   
        </cfloop>
    </table>

</cfoutput>
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码使用cffile将文本文件写入一个位置.

但是文本文件不包含查询的所有结果.请指导我.

Pet*_*ton 10

使用cffile action ="write"将每次重置文件.

使用action ="append"可以在不先删除文件的情况下将内容添加到文件中.

您还应该考虑首先构建字符串,然后在单个操作中写入文件.

例如:

<cfset Content = "" />
<cfloop query="writefile">
    <cfloop array=#writefile.getColumnNames()# index="col">
        <cfset Content &= ' ' & writefile[col][currentrow] />
    </cfloop>
    <cfset Content &= chr(10) />
</cfloop>

<cffile action="write" file="d:\test.txt" output="#FileContent#" />
Run Code Online (Sandbox Code Playgroud)

(注意:字符串连接用于简单 - 如果性能很重要,请考虑使用StringBuilder和/或cfsavecontent.)