51Testing软件测试论坛

标题: 求QTP中调用数据库表名的代码,请高手指点 [打印本页]

作者: macleam    时间: 2009-9-28 15:38
标题: 求QTP中调用数据库表名的代码,请高手指点
我要得到数据库中的表名,并且要调用表名,并得到数据
可通过SQL语句select name from dbo.sysobjects where xtype='U',得到表的记录集,但是我怎么才能调用表名呢?
作者: ermine    时间: 2009-9-28 16:09
select name from dbo.sysobjects where xtype='U'返回一个列表
比如dbrecord.open "sql语句",dbconnect
可以用dbrecord.movenext来遍历列表
然后可以用dbrecord("name").value来获取表名。

不晓得你是不是这个意思?
作者: macleam    时间: 2009-9-28 16:48
意思是这个,但是我使用您提供的语句,还是读不出表名哦~我的语句为:
Set con=createobject("adodb.connection")
conset=datatable.Value ("check使用的数据库链接","Action1")
con.open conset
Set rs=createobject("adodb.recordset")
sql= "select name from dbo.sysobjects where xtype='U' "
rs.open sql2,con
datatable.Value("test",global)=rs("name").value
msgbox("it's sql :" & datatable.Value("test",global))
作者: macleam    时间: 2009-9-28 17:37
你好,问题已解决,是我上面代码错了rs.open sql2,con ,应该是 rs.open sql,con。
现在还有一个问题,就是我如何对表的总数进行读取,并调用数据,读表的总数的SQL是:select count(*) from sysobjects where xtype='U',那我怎么调用count的值呢,谢谢
作者: ermine    时间: 2009-9-28 17:49
count(*)返回的列名是空,
所以只要rs("").value就可以取到了。
作者: macleam    时间: 2009-10-9 14:27
谢谢




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