fei.ge 发表于 2009-5-31 19:31:23

QTP--链接SQL2000并把数据导入EXCEL(实战)

1、前提:创建好数据源
2、获取链接字符串的方法:
      新建.txt文件-->修改文件后缀为xx.udl-->双击打开XX.udl文件-->在"Provider"选项中选择"Microsoft OLE DB Provider for SQL Server",在"Connection"中,选择相应的server name和database,有用户名和密码的输入用户名和密码,点击右下方的"Test Connection"验证数据库是否连通.点击"OK".把XX.udl文件用记事本方式打开,以"Provider"开始的部分就是你的数据库连接字符串.
注:当然你需要在字符串里再加上Password = xxxx;

简单的代码如下:
===================代码=======================
Dim Cnn
Dim Rst
Dim strCnn
Set Cnn=CreateObject("ADODB.Connection")
    strCnn="Provider=MSDASQL.1;Persist Security Info=True;User ID=sa;Password=XXXX;Data Source=qtpODBC"
    Cnn.Open strCnn
    Set Rst = CreateObject("ADODB.Recordset")
    Rst.Open "select TS_Name,DS_Description,DS_Expected from td.TEST,td.Dessteps Where td.Test.Ts_test_id = td.Dessteps.Ds_Test_ID",Cnn

'结果集指向第一行
Rst.MoveFirst

If Rst.EOF and Rst.BOF Then'Rst.EOF和Rst.BOF指:
    Rst.Close
    reporter.ReportEvent micFail,"test","查询失败"
else
   Rst_row_count = Rst.RecordCount '返回行数
   'Rst.fields.count   返回列数
   For i = 0 to Rst_row_count-1
      str_title = Rst(0)                '赋值第一列数据
      str_content = Rst(1)
       datatable.Value ("Tc_name","Action1") = str_title
      datatable.Value ("Tc_content","Action1") = str_content
      '结果集指向下一行
      Rst.MoveNext
   Next
End If

'导出为excel表
datatable.ExportSheet "G:\1.xls","Action1"

博一笑 发表于 2009-6-1 11:57:16

呵呵,很好的文章,做成视频就更好了

blizzardlyk 发表于 2009-6-1 13:27:54

那个啥.....怎么看着这么眼熟呢:lol

ladyjanice 发表于 2009-6-5 14:52:13

学习了

betty7zhang 发表于 2012-8-10 12:04:16

通过学习这个帖子,数据库连接成功了,继续尝试把查询的数据存到datatable里。

黑羽祭 发表于 2012-8-10 16:29:10

本帖最后由 黑羽祭 于 2012-8-10 16:30 编辑

再出一些Oracle和MySQL的吧~

louqqson008 发表于 2012-8-13 08:51:47

看看..............

betty7zhang 发表于 2012-8-13 11:02:41

"If Rst.EOF and Rst.BOF Then'Rst.EOF和Rst.BOF指:"

貌似这句话没有表达完
很奇怪,为什么执行脚本查询不到数据呢?
页: [1]
查看完整版本: QTP--链接SQL2000并把数据导入EXCEL(实战)