xiaoan_2131 发表于 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 emsflowselect usernameFROM infoaget_hr_us_users",Conn,1,1

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

Set res=nothing

Set Conn=nothing
首先去链接数据库,然后进行查询,我怎么样把查询的结果放到DataTable中,还有怎样和手动查询的数据进行比较呢?

厍仕杰 发表于 2008-9-16 11:30:00

用数组

兰兰 发表于 2008-9-16 11:54:06

关注中,楼上的可以说的详细一些吗?

nanice 发表于 2008-9-16 12:53:27

实现这个问题我经常用的方法有:1.用数组,把每次取的数据放入数组中,然后再去比。
2.写入一个excel文件,然后读取出来再去比。
当然,如果你是想把数据库中的数据和页面展现的数据比较的话,那还得获取页面的数据,这个一般实现起来难度不大。

ziqiuwendan 发表于 2008-9-16 14:27:57

同样关注这个问题。有没有更详细的解答呀?

xiaoan_2131 发表于 2008-9-16 16:09:45

实现这个问题我经常用的方法有:1.用数组,把每次取的数据放入数组中,然后再去比。
2.写入一个excel文件,然后读取出来再去比。
:o 大哥,听起来思路有点门儿了,但是其中用了什么方法,可不可以告诉一下呢?主要是关键的技术要点不太懂啊?

ziheng198688 发表于 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 emsflowselect usernameFROM 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

nanice 发表于 2008-9-23 12:47:32

tasknum=Environment("tasknum")
results=Environment("results")

sql="select * from t_pz_result_"&tasknum

ConnectDatabase()

IfobjConnection.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()

IfCInt(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 编辑 ]

xiaoan_2131 发表于 2008-9-23 17:56:08

呵呵,多谢了,我正找呢,:lol :) 仔细研究一下,分享成果~
页: [1]
查看完整版本: 关于查询数据库的讨论