qtp访问数据库

上一篇 / 下一篇  2011-03-23 13:51:52 / 个人分类:QTP及功能测试

数据库,对任何一个系统来说,都是基础,所以qtp脚本自然不能避免和数据库打交道。

首先我们需要在odbc数据源中定义一个系统dsn,配置我们的服务器名和用户名。

然后我们就可以在dba中访问这个数据库了:建立数据库链接,查询或更新数据库数据内容。

数据库的访问,无疑可以说是公共的,任何一个脚本只要向数据库发送请求,就需要写相同的脚本,完全可以把这部分内容进行抽取,形成公共函数调用。公共函数保存在 *.vbs文件中。

'----------------------------------------------------------------
'函数名:OpenConnection(DataSource)
'参数说明:DataSource 数据源
'作用:链接数据库
'-----------------------------------------------------------------
Function OpenConnection(DataSource)
Dim cnn
Set cnn = CreateObject("ADODB.Connection")
If DataSource = "vcc" Then
        cnn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=true;User ID=vcctest;Password=vcc;Data Source=vcc"
End If
cnn.Open
Set penConnection = cnn
End Function

'----------------------------------------------------------------
'函数名:DataOperate(DataSource,sql,optype)
'参数说明:DataSource 数据源,sql 删除sql语句记录,optype 操作类型“query”、“insert”、“update”、“delete”
'作用:根据sql和datasource更新记录
'-----------------------------------------------------------------
Function DataOperate(DataSource,sql,optype)
Dim cnn,rs
cnn = OpenConnection(DataSource)
Set rs = CreateObject("ADODB.RecordSet")
rs.open sql,cnn,1,1
DataOperate = null

If ptype = "query" Then
'   rs.open sql,cnn,1,1
   If not rs.eof Then
    DataOperate = rs.Fields(0).value
   End If
   rs.close
elseif ptype = "insert" or ptype = "update" or ptype="delete" then
'   rs.open sql,cnn,1,3
   rs.open "commit",cnn,1,1
End If
Set rs = nothing
End Function

----单独的查询、更新、插入、删除函数---------

'----------------------------------------------------------------
'函数名:GetOne(DataSource,sql)
'参数说明:DataSource 数据源,sql 查询sql语句
'作用:根据sql和datasource获取一条查询记录
'-----------------------------------------------------------------
Function GetOne(DataSource,sql)
   Dim cnn,rs
   cnn = OpenConnection(DataSource)
   Set rs = CreateObject("ADODB.RecordSet")
   rs.open sql,cnn,1,1
   GetOne = null
   '如果结果集有记录,且不是指向结果集最后,rs.eof = false
   If not rs.eof Then
    GetOne = rs.Fields(0).value
   End If
   Set rs = nothing
End Function

'----------------------------------------------------------------
'函数名:InsertOne(DataSource,sql)
'参数说明:DataSource 数据源,sql 插入sql语句记录
'作用:根据sql和datasource插入新记录
'-----------------------------------------------------------------
Function InsertOne(DataSource,sql)
   Dim cnn,rs
   cnn = OpenConnection(DataSource)
   rs = CreateObject("ADODB.RescordSet")
   rs.open sql,cnn,1,1
   rs.open "commit",cnn,1,1
   Set rs = nothing
End Function

'----------------------------------------------------------------
'函数名:UpdateOne(DataSource,sql)
'参数说明:DataSource 数据源,sql 更新sql语句记录
'作用:根据sql和datasource更新记录
'-----------------------------------------------------------------
Function UpdateOne(DataSource,sql)
   Dim cnn,rs
   cnn = OpenConnection(DataSource)
   Set rs = createObject("ADODB.RecordSet")
   rs.open sql,cnn,1,1
   rs.open "commit",cnn,1,1
   Set rs = nothing
End Function

'----------------------------------------------------------------
'函数名:DeteleOne(DataSource,sql)
'参数说明:DataSource 数据源,sql 删除sql语句记录
'作用:根据sql和datasource更新记录
'-----------------------------------------------------------------
Function DeleteOne(DataSource,sql)
   Dim cnn,rs
   cnn = OpenConnection(DataSource)
   Set rs = CreateObject("ADODB.RecordSet")
   rs.open sql,cnn,1,1
   rs.open "commit",cnn,1,1
   Set rs = nothing
End Function


转自 http://hi.baidu.com/hihelens/blog/item/4baee5247b8d052cd5074232.html

TAG:

 

评分:0

我来说两句

Open Toolbar