xxyyzzz 2008-5-20 10:46
急!关于数据库检测点的问题
对于查询结果做检查
1.为什么数据库数据增加了,可是检查显示的始终是我建数据源时显示的那些记录
2.查询条件已经改变了,为什么检测点结果还是正确
是我对数据库检查点理解有错吗?我的理解是做了数据库检测点,写出的SQL语句显示的记录应该与页面的查询结果一致。
xueboy118 2008-5-20 15:00
你的数据库检查点的是用QTP向导生成的,还是用纯代码实现的?
我感觉用QTP向导生成的数据库检查点灵活性太差,我一般是用纯代码的方式来实现的。
jackymail 2008-5-21 16:04
为防止误导他人,将错误言论删除。
[[i] 本帖最后由 jackymail 于 2008-5-21 17:02 编辑 [/i]]
xueboy118 2008-5-21 16:17
Browser("网站后台管理").Page("网站后台管理").Frame("left").Link("工作站人员管理").Click
Browser("网站后台管理").Page("网站后台管理").Frame("main").Link("添加").Click
Browser("网站后台管理").Page("网站后台管理").Frame("main_2").WebEdit("username").Set "vv1"
mm=Browser("网站后台管理").Page("网站后台管理").Frame("main_2").WebEdit("username").GetROProperty("value")
Browser("网站后台管理").Page("网站后台管理").Frame("main_2").WebEdit("password").SetSecure "448fd7cf8e392c5cdb8ca299"
Browser("网站后台管理").Page("网站后台管理").Frame("main_2").WebEdit("repassword").SetSecure "448fd7d1d0c5ec492dd8a447"
Browser("网站后台管理").Page("网站后台管理").Frame("main_2").WebButton("确 定").Click
'Browser("网站后台管理").Page("网站后台管理").Sync
[color=Black][b]------上面的代码是在网站后台添加一个管理员,下面的代码是用来在数据库中检查有没有新的记录生成[/b][/color]
Dim res,cmd,sql
Set Res=createobject("adodb.recordset")
Set Cmd=createobject("adodb.command")
[b]‘连接SQLServer2000数据库[/b]
(连接数据库代码显示不完整,我截了张图片,具体见图片)
Cmd.CommandType = 1
[b]‘这条SQL用来查询数据库中是否存在新添加的用户的记录[/b]
[b]sql="select * from member where username='"&Trim(mm)&"'"[/b]
Cmd.CommandText = sql
msgbox sql
Set res =Cmd.Execute()
[b]’if条件用来判断查询的结果中有没有值(关于SQL的查询,以及IF条件中的判断,你可以根据实际情况来进行修改)[/b]
[b]If (res.eof=true) Then[/b]
[b] Reporter.ReportEvent 1,"添加用户,数据库验证","添加失败"[/b]
[b]else[/b]
[b] Dim w[/b]
[b] w=res("username")[/b]
[b] If mm=w Then[/b]
[b] msgbox "username=="&w&",页面数据与数据库数据相同!!!"[/b]
[b] Reporter.ReportEvent 0,"添加用户,数据库验证","添加成功"[/b]
[b] End If[/b]
[b]End If[/b]
Set res=nothing
Set cmd.ActiveConnection=nothing
Set Cmd=nothing
[[i] 本帖最后由 xueboy118 于 2008-5-21 16:25 编辑 [/i]]
xueboy118 2008-5-21 16:34
至于5#所说,检查点不能用代码生成,那完全是错误的,那是5#没有用类似的代码实现过此功能,参照我给的用代码实现的检查点的代码,完全可以实现,无论是页面做新增、修改、删除或查询操作,我给出的数据库检查点的代码是完全可以检查出来的,具体实现主要是在代码的IF条件判断中。
xxyyzzz 2008-5-21 16:53
为什么我按楼上的总提示出错呢,对象不支持已命名参数"Cmd.CommandType “
而且到IF语句就说缺少对象”
是不是没连接成功
[[i] 本帖最后由 xxyyzzz 于 2008-5-21 17:26 编辑 [/i]]
jackymail 2008-5-21 16:58
唉,我就不该把话说得那么绝对,都是我的错,我不会用ado对象,知识浅薄,道歉。
xueboy118 2008-5-22 10:40
LZ我不知道你所用的是什么数据库,我所给的代码中的链接数据库,只适用雨SQLServer200数据库,不适用别的数据库,我又把代码另村在TXT文件中,对具体的关键的代码做了注释,你可以看看附件,附件中的代码是我以前在QTP8.2中使用过的,可以运行下去
[[i] 本帖最后由 xueboy118 于 2008-5-22 10:54 编辑 [/i]]
xueboy118 2008-5-22 10:44
[quote]原帖由 [i]jackymail[/i] 于 2008-5-21 16:58 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=974380&ptid=115200][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
唉,我就不该把话说得那么绝对,都是我的错,我不会用ado对象,知识浅薄,道歉。 [/quote]
其实你也没有错,只是不知道而已,呵呵,谁有敢说自己知道的很多呢,我知道的也不比你多多少,相互学习嘛,呵呵
jackymail 2008-5-22 14:13
[quote]原帖由 [i]xueboy118[/i] 于 2008-5-22 10:44 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=975458&ptid=115200][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
其实你也没有错,只是不知道而已,呵呵,谁有敢说自己知道的很多呢,我知道的也不比你多多少,相互学习嘛,呵呵 [/quote]
o
哦,我是初学者,希望前辈们多多指教。
shangguoli 2008-5-22 14:56
学习一下。
zzfhncn 2008-7-18 09:44
[quote]原帖由 [i]xueboy118[/i] 于 2008-5-21 16:17 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=974304&ptid=115200][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
Browser("网站后台管理").Page("网站后台管理").Frame("left").Link("工作站人员管理").Click
Browser("网站后台管理").Page("网站后台管理").Frame("main").Link("添加").Click
Browser("网站后台管理").Page("网 ... [/quote]
‘这条SQL用来查询数据库中是否存在新添加的用户的记录
sql="select * from member where username='"&Trim(mm)&"'"
如果这个Trim(mm)不唯一。应该怎么判断是否新增了记录,比如我现在遇到除了PK,其他字段都不唯一的表。PK是自增的值(id)。
lijian422202 2008-7-18 10:01
[quote]原帖由 [i]zzfhncn[/i] 于 2008-7-18 09:44 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=1021819&ptid=115200][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
‘这条SQL用来查询数据库中是否存在新添加的用户的记录
sql="select * from member where username='"&Trim(mm)&"'"
如果这个Trim(mm)不唯一。应该怎么判断是否新增了记录,比如我现在遇到除了PK,其他字段都 ... [/quote]
其实要想做还容易,只是比较傻而已,先执行一次count(*)保存到变量中去,新增完成再count(*)一次,在IF 后一次count减前一次count等于1就OK了
zzfhncn 2008-7-18 10:45
回复 15# 的帖子
感谢楼上,这的确是一种解决方法。不知道还有其它的方法么?
[[i] 本帖最后由 zzfhncn 于 2008-7-18 11:55 编辑 [/i]]
heqingbluesky 2008-7-18 10:58
Study again.