51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2500|回复: 8
打印 上一主题 下一主题

[原创] 关于查询数据库的讨论

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-16 10:47:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Dim Cmd ,res,Conn
Set Conn = createobject("ADODB.Connection")
Conn.open="DRIVER=SQL Server;SERVER=D-pek-BYANG;UID=beyond.yang;APP=QuickTest Professional;WSID=D-PEK-BYANG;DATABASE=emsflow;Trusted_Connection=Yes"
Set Res=createobject("adodb.recordset")
Set Cmd=CreateObject("adodb.command")

Res.open"use emsflow  select username  FROM infoaget_hr_us_users",Conn,1,1

Dim username
MsgBox username=res("username").value

Set res=nothing

Set Conn=nothing
首先去链接数据库,然后进行查询,我怎么样把查询的结果放到DataTable中,还有怎样和手动查询的数据进行比较呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-9-16 11:30:00 | 只看该作者
用数组
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-9-16 11:54:06 | 只看该作者
关注中,楼上的可以说的详细一些吗?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-9-16 12:53:27 | 只看该作者
实现这个问题我经常用的方法有:1.用数组,把每次取的数据放入数组中,然后再去比。
2.写入一个excel文件,然后读取出来再去比。
当然,如果你是想把数据库中的数据和页面展现的数据比较的话,那还得获取页面的数据,这个一般实现起来难度不大。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-9-16 14:27:57 | 只看该作者
同样关注这个问题。有没有更详细的解答呀?
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-9-16 16:09:45 | 只看该作者
实现这个问题我经常用的方法有:1.用数组,把每次取的数据放入数组中,然后再去比。
2.写入一个excel文件,然后读取出来再去比。
大哥,听起来思路有点门儿了,但是其中用了什么方法,可不可以告诉一下呢?主要是关键的技术要点不太懂啊?
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-9-22 17:55:52 | 只看该作者
Dim Res,Conn
Set Conn = createobject("ADODB.Connection")
Conn.open="DRIVER=SQL Server;SERVER=D-pek-BYANG;UID=beyond.yang;APP=QuickTest Professional;WSID=D-PEK-BYANG;DATABASE=emsflow;Trusted_Connection=Yes"
Set Res=createobject("adodb.recordset")
Res.open"use emsflow  select username  FROM infoaget_hr_us_users",Conn,1,1
While Not Res.EOF
DataTable("name",dtGlobalSheet)=Res(0)
DataTable.SetCurrentRow(DataTable.GetCurrentRow+1)
Res.MoveNext
Wend
Set res=nothing
Set Conn=nothing
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-9-23 12:47:32 | 只看该作者
tasknum=Environment("tasknum")
results=Environment("results")

sql="select * from t_pz_result_"&tasknum

ConnectDatabase()

If  objConnection.state=False Then
Call oReporterManager.Report ("Fail", "连接数据库" ,"连接数据库成功" ,"连接数据库失败!", "SERVER=***;UID=***;==PWD=***;DBQ=TO**1;")
Else
Call oReporterManager.Report ("==Pass", "连接数据库" ,"连接数据库成功" ,"连接数据库成功!",  "SERVER=***;UID=***;==PWD=***;DBQ=TO**1;")
End If

DBresult = GetColumn(sql)

CloseDatabase()

If  CInt(DBresult)=CInt(results) Then

'msgbox "数据库结果数与页面结果数一致!"
Call oReporterManager.Report ("==Pass", "比对结果数" ,"数据库结果数与页面结果数一致" ,"数据库结果数与页面结果数一致", "数据库比对结果数为【"&CInt(DBresult)&"】页面比对结果数为【"&results&"】")

Else
' msgbox "数据库结果数与页面结果数不一致!比对失败!"
Call oReporterManager.Report ("Fail", "比对结果数" ,"数据库结果数与页面结果数一致" ,"数据库结果数与页面结果数不一致", "数据库比对结果数为【"&CInt(DBresult)&"】页面比对结果数为【"&results&"】")
End If

注意:ConnectDatabase()、GetColumn(sql)、CloseDatabase()、oReporterManager.Report 等都为自己写的函数,你可以替换成你那个项目的专用库函数。。。。。。基本上原理都是一样的

[ 本帖最后由 nanice 于 2008-9-23 12:49 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2008-9-23 17:56:08 | 只看该作者
呵呵,多谢了,我正找呢, 仔细研究一下,分享成果~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-22 03:35 , Processed in 0.095046 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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