51Testing软件测试论坛

标题: QTP中连接MySQL的方法(数据库验证点和ADO连接) [打印本页]

作者: songfun    时间: 2008-6-29 18:28
标题: QTP中连接MySQL的方法(数据库验证点和ADO连接)
很多朋友对于QTP中连接MYSQL束手无策,其实根本原因是默认的我们的操作系统中ODBC驱动里默认不支持开源的MySQL驱动。
要解决这个问题的方法非常简单,安装一个相关的驱动就能解决问题了。
这里给出这个驱动程序的下载地址: MyODBC-3.51.11-2-win.exe
安装完毕后,到“控制面板--管理工具--数据源ODBC--系统DSN”把它添加进来,步骤见下面截图qtpmysqsl1.JPG到qtpmysqsl5.JPG(我在本机上安装了一个Discuz论坛)。
添加完毕后,就可以开始使用了。
以下给出具体的实现过程
(一)数据库验证点:
见下面截图 qtpmysqsl6.JPG 到 qtpmysqsl9.JPG
(二)ADO连接MySQL数据库的代码:
例子(获取论坛中的帖子主题和内容):
  1. Dim Cnn, Rst, strCnn

  2. strCnn = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=discuz;USER=root;Option=3"
  3. Set Cnn = CreateObject("ADODB.connection")
  4. Cnn.Open strCnn
  5. Set Rst = CreateObject("ADODB.Recordset")
  6. Rst.Open "select * from cdb_posts", Cnn
  7. Rst.MoveFirst
  8. While Rst.EOF <> True
  9.     MsgBox Rst.Fields("subject") & Chr(13) & Chr(10) & Rst.Fields("message") & Chr(13) & Chr(10)
  10.     Rst.MoveNext
  11. Wend
  12. Rst.Close
  13. Cnn.Close

  14. Set Rst = Nothing
  15. Set Cnn = Nothing
复制代码

作者: songfun    时间: 2008-6-29 18:30
这里再补充两个网友的ADO代码,供大家参考:
  1. Set Conn = CreateObject("ADODB.Connection" )
  2. str="DRIVER={MySQL ODBC 3.51 Driver};SERVER=192.168.1.107;DATABASE=wp_core;user id=root; password=45retret4"
  3. Conn.open str
  4. Set Rs = CreateObject ("ADODB.Recordset" )

  5. select_role_id="select * from `wp_core`.`wp_role` limit 0, 5000"

  6. rs.open select_role_id,conn,1,3

  7. if (not Rs.eof) then
  8. role_id=rs(0)
  9. msgbox(role_id)
  10. rs.fields("id")=8888
  11. rs.update
  12. end if

  13. rs.addnew
  14. rs.fields("id")="8888"
  15. rs.fields("name")="zhouruijun"
  16. msgbox(rs(0))
  17. msgbox(rs(1))

  18. rs.update()


  19. Rs.close
  20. Set Rs = Nothing
  21. Conn.close
  22. Set Conn = Nothing
复制代码
  1. Set Conn = CreateObject("ADODB.Connection" )
  2. str="DRIVER={MySQL ODBC 3.51 Driver};SERVER=192.168.1.100;DATABASE=wp_blog;user id=zzz ; password=123456"
  3. Conn.open str
  4. Set Rs = CreateObject ("ADODB.Recordset" )
  5. sql = "select * from `wp_blog`.`blg_webcategory` limit 0, 5000;"
  6. Rs.open sql,conn,1,3
  7. If (not Rs.eof) then
  8. Rs.MoveFirst
  9. MsgBox Rs(0)
  10. MsgBox Rs(1)
  11. MsgBox Rs(2)
  12. MsgBox Rs(3)
  13. end if

  14. Rs.close
  15. Set Rs = Nothing
  16. Conn.close
  17. Set Conn = Nothing
复制代码

作者: 小孩    时间: 2008-6-29 21:15
  师傅
作者: flashdna    时间: 2008-6-30 10:57
标题: very good!
太及时了,非常感谢!
作者: heqingbluesky    时间: 2008-6-30 14:57
Collect it.Thanks
作者: lanshier    时间: 2008-8-19 12:51
谢谢老师~~~~~
作者: rovegirl    时间: 2008-9-25 14:02
谢谢!老师真好!
作者: pudding_xw    时间: 2008-10-24 15:23
非常感谢!!!
作者: redstar    时间: 2008-10-28 15:20
--谢谢LZ,修改下连接SYBASE数据库
Dim Cnn, Rst, strCnn

strCnn = "DRIVER={Sybase ASE ODBC Driver};UID=sa;DB=databasename;NA=database_server_ip;FILEDSN=数据源WD="
Set Cnn = CreateObject("ADODB.connection")
Cnn.Open strCnn
Set Rst = CreateObject("ADODB.Recordset")
Rst.Open "select * from user_inf", Cnn
Rst.MoveFirst

While Rst.EOF <> True
   msgbox Rst.Fields("user_id") & Chr(13) & Chr(10) & Rst.Fields("user_name") & Chr(13) & Chr(10)
    Rst.MoveNext
Wend

Rst.Close
Cnn.Close

Set Rst = Nothing
Set Cnn = Nothing
作者: htlwx1982    时间: 2008-11-10 15:41
太感谢了,都不知道怎么说好了,谢谢!
作者: chenyunjun169    时间: 2008-11-13 21:03
非常感谢!学习!!
作者: lilysun0411    时间: 2009-1-12 11:13
学习中!收藏了
作者: natasha01216    时间: 2009-4-1 16:06
先做个记号,实验回来再说

完全可以。在配置数据源的时候,端口号忘了写,因为图中没提,要注意下。
其余的完全Step by step

[ 本帖最后由 natasha01216 于 2009-4-1 16:38 编辑 ]
作者: huiguiziran111    时间: 2009-5-6 17:58
谢谢好了啊,2
作者: rocky_chen0423    时间: 2009-5-14 09:42
我喜欢精华,以后用到QTP的时候就可以来这里取经。
顶!!!!!!崇拜宋老大

作者: wlcym    时间: 2009-9-7 13:12
看看学学  呵呵
作者: dana09    时间: 2009-10-18 17:44
呵呵,先MARK,然后试验去..谢谢各位老师
作者: cp_test    时间: 2010-1-12 11:26
顶..........
作者: shaohua1219    时间: 2010-1-13 16:47
很需要,谢谢老师!
作者: zhengdongxia    时间: 2010-1-14 20:44
标题: 呵呵
没什么难的,去查asp连接mysql,一堆
作者: beijingjinhuan    时间: 2010-5-12 15:40
标题: 感谢楼主分享
感谢楼主分享
作者: shirley1987    时间: 2010-7-3 15:15
标题: thx
受教了!
作者: yjj0421    时间: 2010-9-2 09:59
标题: 太好了
太感谢了
作者: gaoy_b    时间: 2010-9-20 14:53
太好了,正需要呢
作者: 炫彩琉璃    时间: 2010-11-4 15:33
谢谢很好很强大哈哈~
作者: ym_wei    时间: 2010-11-18 10:01
学习了
作者: fyxxiao    时间: 2011-4-19 11:11
对我这个初学者来说,很需要
作者: wangyanzhao    时间: 2011-8-20 23:41
不错
作者: wangyanzhao    时间: 2011-8-20 23:41
不错
作者: wangyanzhao    时间: 2011-8-20 23:41
不错
作者: wangyanzhao    时间: 2011-8-26 13:23
对连接mysql是 楼主 忘写 port(端口号),其余的都是正确的
作者: cxy_memo    时间: 2011-9-14 11:13
谢谢了!
作者: qpc韦仍松    时间: 2011-12-16 19:58
Mark up 一下,留个印






















颈椎病
作者: wangyanzhao    时间: 2012-1-26 14:32
这个不是很难吧
作者: oceanwell    时间: 2012-2-3 10:28
MARK!
作者: nbrmz    时间: 2012-4-18 13:50
不错的~~! 感谢您提供
作者: jeanfang621    时间: 2012-6-5 19:33
good good
作者: louqqson008    时间: 2012-9-20 13:54
学习学习
作者: keukk    时间: 2012-11-14 13:39
很好,辛苦楼主发这么有意义的帖













作者: yuna4217    时间: 2013-9-12 16:59
以后用
作者: kkrt20032003    时间: 2014-1-6 11:20
支持分享! 顶!
作者: 让测试飞起来    时间: 2015-12-3 12:47
有用收~~~:shutup:
作者: jiangyoujun    时间: 2016-3-17 19:57
好技术,收藏先




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2