如何将查询结果导出到 txt 文件

How to export a query result to a txt-file

我正在使用此 vbs 代码从数据库中获取查询结果:

strSQL = "select * from EMP"
Set rsDB = objDBConn.Execute(strSQL)

现在我想将这个结果导出到一个 txt 文件中。

如何使用 qtp 实现此目的?

使用.GetString(),有点像:

Set rsDB = objDBConn.Execute(strSQL)
tsOut.Write rsDB.GetString(adClipString, , ",", vbCrLf, "Null")

(显然你需要一个开放的 Textstream 和 adClipString 的 Const 定义)

更新评论:

Sample code

set database = createobject ("ADODB.connection")
connectionString = "Driver={SQL Server};Server=" + sql_server + ";Uid=" + sql_user + ";Pwd=" + sql_password + ";" 
database.ConnectionString = connectionString
database.Open

sql = "select * from [testdb].[dbo].[table1]"
set resultset = database.Execute(sql)

Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="c:\output.txt"
Set objFile = objFSO.CreateTextFile(outFile,True)

Dim row, first_field
while not resultset.EOF

    row = ""
    first_field = true

    For Each field In resultset.Fields
        if (first_field = true) then
            row = field
            first_field = false
        else
            row = row & ";" & field
        end if
    Next ' field

    objFile.Write row & vbCrLf

    resultset.MoveNext
wend

objFile.Close

如果您有固定数量的列:
使用 CStr(resultset(0)) 从结果集中获取单独的列。数字是列的编号,从零开始。
如果你不知道有多少列使用 For Each 循环,如上面的代码所示。

(使用 vbscript 的 read/write txt 文件的简单示例:)