【QTP专题】连接数据库

  1. 获取数据库连接串

    在本地新建一个.txt文件,修改扩展名名*.udl;双击*.udl文件,打开数据库链接属性,定位到"提供程序"选显卡,选中如sqlserver的连接  Microsoft  for OLE DB
    Provider for sql server,点击下一步;输入数据源,数据库用户名以及密码,选择数据库,点击测试连接,测试成功后,点击"确定"。如图所示

    然后用UE或记事本打开*.udl文件,sqlserver的连接串已经生成了,如下:

Provider=SQLOLEDB.1;Password=trsadmin;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=192.***.***.***

  2.连接数据库


Dim objConnection ‘Connection对象实例
Dim strConnString ‘连接字符串
strConnString="Provider=SQLOLEDB.1;Password=trsadmin;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=192.***.***.***"

Set objConnection = CreateObject("ADODB.CONNECTION") ‘建立Connection对象的实例
objConnection.Open strConnString ‘用Open方法建立与数据库连接
objConnection.state=0 ‘表示数据库连接失败

  3.关闭数据库连接

    objRecordSet.Close
objConnection.Close
Set objRecordSet = Nothing
Set objConnection = Nothing

  4.执行查询


Dim objRecordSet ‘RecordSet对象实例
Dim sqlStr ‘sql查询语句

Set objRecordSet = CreateObject("ADODB.Recordset") ‘建立Recordset对象的实例
objRecordSet.Open sqlStr,objConnection ‘执行查询

If (objRecordSet.BOF or objRecordSet.EOF) Then ‘查询不存在任何记录
executeSQL = NULL ‘返回NULL
Else ‘存在查询记录
‘使用 GetRows 方法将记录从 Recordset 复制到二维数组中。第一个下标标识字段,第二个则标识记录号。
executeSQL = objRecordSet.GetRows() ‘返回查询结果的二维数组
End If

以下代码将数据库各个常用功能封装成函数,已测试通过,仅供参考:


Option Explicit
‘公共对象
Dim objConnection ‘Connection对象实例
Dim strConnString ‘连接字符串
Dim objRecordSet ‘RecordSet对象实例

‘==================================================================
‘ 函数功能:连接到数据库
‘ 参数说明:
‘ 1.strDBType(数据库类型:支持SQL SERVER、ORACEL、MYSQL、DB2、SYBASE)
‘ 2.strDBName(数据库名)
‘ 3.strUID(用户名)
‘ 4.strPWD(密码)
‘ 5.strIP(服务器名或IP地址)
‘ 返回结果:无
‘ 调用方法:ConnectDB(strDBType, strDBName, strUID, strPWD)
‘==================================================================
Sub connectDB(strDBType, strDBName, strUID, strPWD,strIP)
Select Case UCase(Trim(strDBType)) ‘不同的数据库类型连接数据库的字符串不同
Case "SQL SERVER"
strConnString="Provider=SQLOLEDB; Data Source="& strIP &"; Initial Catalog="& strDBName &"; User ID="& strUID &"; Password="&strPWD
Case "ORACLE"
strConnString="Provider=OraOLEDB.Oracle; Data Source="& strDBName &"; User ID="& strUID &"; Password="& strPWD
Case "MYSQL"
strConnString="Driver={MySQL ODBC 5.1 Driver}; Server="& strIP &"; Database="& strDBName &"; User="&strUID&"; Password="& strPWD
   Case Else
Reporter.ReportEvent micFail,"数据库类型错误" ,"目前支持的数据库类型有:SQL SERVER、ORACEL、MYSQL、DB2、SYBASE"
End Select
Set objConnection = CreateObject("ADODB.CONNECTION") ‘建立Connection对象的实例
objConnection.Open strConnString ‘用Open方法建立与数据库连接
End Sub

‘==================================================================
‘ 函数功能:关闭数据库连接
‘ 参数说明:无
‘ 返回结果:无
‘ 调用方法:closeDB()
‘==================================================================
Sub closeDB()
objRecordSet.Close
objConnection.Close
Set objRecordSet = Nothing
Set objConnection = Nothing
End Sub

‘==================================================================
‘ 函数功能:执行SQL语句
‘ 参数说明:sqlStr(SQL语句 )
‘ 返回结果:返回一个存放查询结果的二维数组
‘ 调用方法:results = executeSQL(sqlStr)
‘==================================================================
Function executeSQL (sqlStr)
Call connectDB(gDBType,gDBName,gUID,gPWD,gIP)‘ 连接到数据库,函数的实参在配置文件中定义
Set objRecordSet = CreateObject("ADODB.Recordset") ‘建立Recordset对象的实例
objRecordSet.Open sqlStr,objConnection
If (objRecordSet.BOF or objRecordSet.EOF) Then ‘查询不存在任何记录
Reporter.ReportEvent micDone,"查询不存在任何记录","数据库中查询不存在任何记录!"
executeSQL = NULL ‘返回NULL
Else ‘存在查询记录
‘使用 GetRows 方法将记录从 Recordset 复制到二维数组中。第一个下标标识字段,第二个则标识记录号。
executeSQL = objRecordSet.GetRows() ‘返回查询结果的二维数组
End If
Call closeDB() ‘关闭数据库连接
End Function

【QTP专题】连接数据库,布布扣,bubuko.com

时间: 2024-10-02 18:46:32

【QTP专题】连接数据库的相关文章

QTP连接MYSQL数据库方法

1.首先安装mysql数据驱动,qtp在windows系统下操作连接mysql,所以下载mysql-connector-odbc-   5.1.8-win32.msi 下载地址:http://mysql.mirrors.pair.com/Downloads/Connector-ODBC/5.1/mysqlconnector-odbc-5.1.8-win32.msi 2.安装mysql驱动 ,默认安装即可. 3. 添加默认数据源 控制面板->管理工具->数据源ODBC->系统DNS->

zabbix专题:第二章 zabbix3.0安装详解

zabbix3.0安装详解 本节目录大纲 安装配置mariadb 安装服务器端 zabbix web配置 web页面初始化 更改为中文 中文乱码问题 zabbix专题:第二章 zabbix3.2安装详解 zabbix专题:第二章 zabbix3.2安装详解 官方文档地址: https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages 我安装zabbix用的rpm包,可以从官网的源里面去下载,需

HA专题: Corosync+Pacemaker+drbd实现MySQL高可用

大纲 前言 实验拓扑 实验环境 实验步骤 安装前准备工作 配置DRBD 配置MySQL 配置Corosync+Pacemaker 测试 我遇到的问题 总结 前言 上篇文章我们介绍了drbd的相关原理.编译安装.简单的实现. drbd虽然可以保证数据的可靠性但是我们上次的实现还有很多的缺陷,这次我们将drbd定义为HA集群的一个资源,可以实现让多个节点自动切换drbd的主从模式并结合MySQL实现其数据的高可用 实验拓扑 实验环境 实验步骤 安装前准备工作 配置一个HA集群的前提需要配置时间同步,

我常用的VBS方法(QTP)

这些是4年前在HP用QTP做自动化测试时候总结的一些,现在贴出来,说不准以后会不会用到 当初花了2天时间写的一个自动生成的Excel Report Public Function Report (status, objtype, text) Dim TestName Reporter.Filter = rtEnableAll Reporter.ReportEvent status, objtype, text Reporter.Filter = rfDisableAll Call WExcel(

针对QTP连接oracle数据库问题总结

首先,因为群里很多朋友说QTP连接oracle有点麻烦,我针对于连接oracle做一个完整的教程,希望需要学习的朋友都可以来看一下:具体方法如下: 1.无论是什么语言,连接oracle客户端是不可少的,这个是没办法省的:我用的是10g_win32_client:如果觉得老,朋友们可以用新版本的: 解压-安装-着方面无非就是下一步操作,这边我们不讲,配置可能有些初学者不会,我这边从配置开始讲: ① 这边图片大概的描述了一下步骤,如果还是不会,可以百度上找如果配置oracle客户端,里面比较详细 2

QTP连接oracle

首先,因为群里很多朋友说QTP连接oracle有点麻烦,我针对于连接oracle做一个完整的教程,希望需要学习的朋友都可以来看一下:具体方法如下: 1.无论是什么语言,连接oracle客户端是不可少的,这个是没办法省的:我用的是10g_win32_client:如果觉得老,朋友们可以用新版本的: 解压-安装-着方面无非就是下一步操作,这边我们不讲,配置可能有些初学者不会,我这边从配置开始讲: ① 这边图片大概的描述了一下步骤,如果还是不会,可以百度上找如果配置oracle客户端,里面比较详细 2

IBM Python 技术专题

Python 技术专题 Python 是由 Guido van Rossum 开发的,可免费获得的.是一种非常高级的解释型语言.其语法简单易懂,而且面向对象的语义功能强大又灵活,Python 可以广泛使用并具有高度的可移植性.本专题内容包括可爱的 Python 系列.Python 探索系列.Python 扩展.使用 Python 进行各种应用开发等等. 可爱的 Python 系列 可爱的 Python:将 XML 和 Python 结合起来 介绍 Python 的 XML 工具 可爱的 Pyth

【团购巨划算】韩立刚老师门徒级学习专题,只此一次的超大优惠福利

Q:韩立刚老师是谁? A:韩老师是51CTO金牌讲师(最高级别),也是微软最有价值专家MVP.微软企业护航专家.<计算机网络原理>一书作者 讲师主页:http://edu.51cto.com/lecturer/400469.html Q:门徒级学习专题是什么? A:韩立刚老师门徒级课程专题(Windows Server+网络安全+数据库) 韩老师从2013年至今,根据企业对IT运维人才的技术要求,录制视频教程49 门,时长达581小时50分钟.旨在从0起点培养企业高端IT人才,让你在企业IT部

2017年9月3日 Spring及Mybatis中连接数据库的不同方式

连接数据库用spring和mybatis中使用的方法可以不同,mybaits可以不用写数据库的配置文件 Spring的连接方法 <!-- 读取属性文件(.properties)的内容 --> <!-- location:指定要读取的属性文件的位置及文件名. 注: classpath:表示依据类路径去查找 容器依据路径读取属性文件的内容, 并且将这些内容存放到Properties对象上 --> //数据库的登入数据文件 //文件名db.properties #db connectio