51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师论坛测试积点免费获取渠道攻略【长期招募】博为峰网校招聘兼职讲师!横扫BAT,Python全栈测试开发技能大全
【110期】:备战求职招聘,一起聊聊面试那些事儿!2020不玩虚的,先来一波技术PK! 【征稿】疫情当下手头紧?这波投稿补贴很及时! 自学软件测试那点事
查看: 2596|回复: 7

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

[复制链接]
  • TA的每日心情
    难过
    2015-9-21 13:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    发表于 2009-5-31 19:31:23 | 显示全部楼层 |阅读模式
    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"
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-11-23 09:27
  • 签到天数: 55 天

    连续签到: 1 天

    [LV.5]测试团长

    发表于 2009-6-1 11:57:16 | 显示全部楼层
    呵呵,很好的文章,做成视频就更好了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-6-1 13:27:54 | 显示全部楼层
    那个啥.....怎么看着这么眼熟呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2009-6-5 14:52:13 | 显示全部楼层
    学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-8-10 12:04:16 | 显示全部楼层
    通过学习这个帖子,数据库连接成功了,继续尝试把查询的数据存到datatable里。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    发表于 2012-8-10 16:29:10 | 显示全部楼层
    本帖最后由 黑羽祭 于 2012-8-10 16:30 编辑

    再出一些Oracle和MySQL的吧~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-8-13 08:51:47 | 显示全部楼层
    看看..............
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2012-8-13 11:02:41 | 显示全部楼层
    "If Rst.EOF and Rst.BOF Then  'Rst.EOF和Rst.BOF指:"

    貌似这句话没有表达完
    很奇怪,为什么执行脚本查询不到数据呢?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2020-2-25 20:37 , Processed in 0.075751 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2020 Comsenz Inc.

    快速回复 返回顶部 返回列表