51Testing软件测试论坛

标题: QTP连接mysql数据库 [打印本页]

作者: 听海——sky    时间: 2018-3-28 15:08
标题: QTP连接mysql数据库
参考文档:http://www.cnblogs.com/jiaxiaoai/archive/2011/03/22/1991470.html



1.首先安装mysql数据驱动,qtp在windows系统下操作连接mysql,所以下载mysql-connector-odbc-   5.1.8-win32.msi

   下载地址:http://mysql.mirrors.pair.com/Do ... dbc-5.1.8-win32.msi

2.安装mysql驱动 ,默认安装即可。

3. 添加默认数据源

   控制面板->管理工具->数据源ODBC->系统DNS->添加->在“创建数据源”对话框中选择

  “Mysql   ODBC 5.1 Driver”->完成->进入连接对话框->填写完后点击“test”,看看是否成功,成功后配置完成。


[attach]112390[/attach]


4.qtp脚本实现连接mysql数据库

如果操作了第3步骤,天机了mysql默认数据源,脚本可以写成:

复制代码
  1. Dim Conn
  2. Set Conn=CreateObject("ADODB.Connection")
  3. Const ConnectionString="DSN=test;DATABASE=han;PWD=root;PORT=3306;SERVER=localhost;UID=root"
  4. 'Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=test;PWD=root;PORT=3306;SERVER=localhost;UID=root"
  5. Conn.Open ConnectionString
  6. If Conn.State<>0Then
  7. Reporter.ReportEvent micPass,"testing","连接数据库成功"
  8. else
  9. Reporter.ReportEvent micFail,"testing","连接数据库失败"
  10. End If
复制代码

注意:其中DSN=数据源名;UID=用户名;PWD=用户密码
复制代码
如果没有进行第3个步骤,没有添加默认数据源,可以用普通方式连接

复制代码
  1. Dim Conn
  2. Set Conn=CreateObject("ADODB.Connection")
  3. 'Const ConnectionString="DSN=test;DATABASE=han;PWD=root;PORT=3306;SERVER=localhost;UID=root"
  4. Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=test;PWD=root;PORT=3306;SERVER=localhost;UID=root"
  5. Conn.Open ConnectionString
  6. If Conn.State<>0Then
  7. Reporter.ReportEvent micPass,"testing","连接数据库成功"
  8. else
  9. Reporter.ReportEvent micFail,"testing","连接数据库失败"
  10. End If
复制代码

复制代码
5.qtp脚本实现查询数据库

复制代码
  1. Dim Conn,str,sql,i,sum
  2. Set Conn=CreateObject("ADODB.Connection")'创建数据库实例
  3. Const ConnectionString="DSN=test;DATABASE=han;PWD=root;PORT=3306;SERVER=localhost;UID=root"
  4. 'Const ConnectionString="Driver={Mysql ODBC 5.1 Driver};DATABASE=han;PWD=root;PORT=3306;SERVER=localhost;UID=root"
  5. Conn.Open ConnectionString
  6. If Conn.State<>0Then
  7. Reporter.ReportEvent micPass,"testing","连接数据库成功"
  8. else
  9. Reporter.ReportEvent micFail,"testing","连接数据库失败"
  10. End If

  11. Set str=CreateObject("ADODB.Recordset")'创建数据集实例
复制代码


'查询数据库
sql="Select * from user1"
str.Open sql,conn,1,1'1,1表示只读;1,3表示插入数据;2,3表示修改数据
str.MoveFirst'使游标指向第一个记录
sum=""
WhileNot str.EOF
  'msgbox str.Fields("username")
  For i=0to str.Fields.Count-1'str.Fields.Count表示字段个数
     sum=sum & str(i) &""'把整个记录显示出来
  Next
     Print sum & vbCRLF'打印所有查询的记录
     sum=""  '清零
     str.MoveNext'使游标进入下一个
Wend

str.Close '关闭数据集实例
Set str=Nothing
Conn.Close '关闭数据库实例
Set Conn=Nothing


作者: xiami49    时间: 2018-5-1 14:39
谢谢
作者: 梦想家    时间: 2018-5-9 09:58





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