51Testing软件测试论坛

标题: 问下各位qtp高手! QTP 9.2 从数据库中取出的日期格式与数据库中不一致 [打印本页]

作者: wangdw2007    时间: 2009-7-19 16:11
标题: 问下各位qtp高手! QTP 9.2 从数据库中取出的日期格式与数据库中不一致
比如数据库中存的是5600.00 使用与数据库连接函数,返回的值是5600,
日期:数据库中存的是2009-07-19, 但用与数据库连接函数,返回的值是2009-7-19
请问:怎样才能使QTP从数据库中取出的值与数据库中保持一致啊?
因为在加验证点的时候会FAIL
作者: dreamever    时间: 2009-7-20 09:28
你自己对格式进行一下转换处理嘛
作者: wangdw2007    时间: 2009-7-20 09:34
请问怎样进行格式转换处理啊?
作者: nbkhic    时间: 2009-7-20 12:07
把中间那个7提取出来,判断一下咯,小于10的话就在7前面补个0,呵呵,然后拼字符串替代咯。
作者: wangdw2007    时间: 2009-7-20 14:33
谢谢,此问题已解决,把系统时间的格式调整一下就好了,呵呵
作者: wangdw2007    时间: 2009-7-20 14:34
楼上的方法,我也曾想过,不过有点麻烦,呵呵
作者: fly_away    时间: 2009-7-22 18:27
个人认为
只要能和目标时间格式匹配,
手动构造出来的时间可以无视操作系统的时间格式设置,
适用范围更广。
作者: sunhope800    时间: 2009-8-5 22:30
学习ing
作者: marco    时间: 2009-8-6 10:25
用cdate函数把日期转换下就可以了
作者: jadeyu712    时间: 2009-8-6 13:42
标题: 回复 1# 的帖子
使用CONVERT函数.对数据库查询做处理,详细使用方法.如下:
在Customer页面上任意选取一个CustomerNo(如:3000002),在这一条记录中读取CreatedDate的数据,得到如下的格式如:06/06/2009。我们根据选取的CustomerNo在数据库中查询:SELECT  CreatedDate  FROM  dbo.t_Customer  WHERE  (CustomerNo = '3000002')。然后获得的结果是2009-6-6 17:42:37的形式,与我们从页面上读取的数据是无法比较。我们从字面上一眼看去是对的,但是电脑比较出来时错误的。
要解决这个问题我们只有将从数据库中读取的数据的格式转换与页面上的格式一致。转换时间的函数CONVERT函数可以达到我们预期的效果。还是根据选取的CustomerNo来查询:SELECT  CONVERT(char(10), CreatedDate, 101) AS date  FROM  dbo.t_Customer  WHERE  (CustomerNo = '3000002')。获得的数据是06/06/2009,刚好与我们从页面上读取的数据格式上是一样的。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2