macleam 发表于 2009-9-28 15:38:35

求QTP中调用数据库表名的代码,请高手指点

我要得到数据库中的表名,并且要调用表名,并得到数据
可通过SQL语句select name from dbo.sysobjects where xtype='U',得到表的记录集,但是我怎么才能调用表名呢?

ermine 发表于 2009-9-28 16:09:09

select name from dbo.sysobjects where xtype='U'返回一个列表
比如dbrecord.open "sql语句",dbconnect
可以用dbrecord.movenext来遍历列表
然后可以用dbrecord("name").value来获取表名。

不晓得你是不是这个意思?

macleam 发表于 2009-9-28 16:48:42

意思是这个,但是我使用您提供的语句,还是读不出表名哦~我的语句为:
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:00

你好,问题已解决,是我上面代码错了rs.open sql2,con ,应该是 rs.open sql,con。
现在还有一个问题,就是我如何对表的总数进行读取,并调用数据,读表的总数的SQL是:select count(*) from sysobjects where xtype='U',那我怎么调用count的值呢,谢谢

ermine 发表于 2009-9-28 17:49:44

count(*)返回的列名是空,
所以只要rs("").value就可以取到了。

macleam 发表于 2009-10-9 14:27:29

谢谢
页: [1]
查看完整版本: 求QTP中调用数据库表名的代码,请高手指点