如何从数据集中依次取出所有element(已解决)
在QTP中查询数据库取得两个字段N行数据,那么如何将这个数据集对象中两个字段中每条数据都读出来呢?程序如下:
'如何从数据集中读取第一个字段的每行数据?
Dim itemData,result
'将返回的数据集对象赋值给result
Set result = QueryDatabase(tablename,fieldname1,fieldname2,fieldname3,network)
'下面如何将result中的每行数据依次打印出来?
'被调用程序
public Function QueryDatabase(byref tablename,byref fieldname1,byref fieldname2,byref fieldname3,byref network)
On error resume next
Dim cnn,objrsa,sql
Set cnn=createobject("adodb.connection")
Set objrsa=createobject("adodb.recordset")
cnn.open "Provider=OraOLEDB.Oracle.1;Password=***;Persist Security Info=True;User ID=***;Data Source=database"
If cnn.State=0 then
cnn.close
Set cnn=nothing
Call WriteMsg(logFileNow,"连接数据库失败")
Else
Call WriteMsg(logFileNow,"连接数据库成功")
End If
'执行查询语句
sql="select "&fieldname1&","&fieldname2&" from "&tablename&"where "&fieldname3&" like '%"&network&"'"
objrsa.open sql ,cnn,3,2
'将结果集对象返回调用者
Set QueryDatabase = objrsa
If err<>0 Then
cnn.close
Set cnn=nothing
Call WriteMsg(logFileNow,"获得数据库数据时发生异常")
End If
cnn.close
Set cnn=nothing
End Function
[ 本帖最后由 centurystone 于 2008-8-26 11:29 编辑 ] 问题太简单吗:o
怎么没人理啊 参考这个吧:
http://blog.csdn.net/Testing_is_believing/archive/2008/07/07/2623162.aspx
回复 3# 的帖子
呵呵,多谢陈。按你说的方法已经解决了解决方法如下:
Dim itemData,result
Set result = QueryDatabase(tablename,fieldname1,fieldname2,fieldname3,network)
'指向第一条记录
result.MoveFirst
While not result.eof
msgbox(result.Fields(fieldname1).value&","&result.Fields(fieldname2).value)
'移动到下一条记录
result.Movenext
Wend 不用谢。
多谢你的花:lol
推荐我写的书《QTP自动化测试实践》。
页:
[1]