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

时间:2015-08-05 15:36:18

标签: csv vbscript qtp

我正在使用此vbs代码从DataBase获取查询结果:

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

现在我想将此结果导出到txt文件。

如何使用qtp实现这一目标?

2 个答案:

答案 0 :(得分:1)

使用.GetString(),有点像:

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

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

更新评论:

Sample code

答案 1 :(得分:1)

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 Loop,如上面的代码所示。

(使用vbscript读取/写入txt文件的简单示例:https://stackoverflow.com/a/2198973/4654008