如何在QTP中对Oracle运行SELECT查询?

时间:2011-12-12 19:35:00

标签: vbscript qtp

我遇到了一个两难境地,在 Benthic Golden32 (或其他数据库连接软件)中运行正常的查询不会在 QTP 中返回任何值。作为我正在运行的代码的一个例子:

set conn=CreateObject("ADODB.Connection") 
conn.ConnectionString ="Driver={Microsoft ODBC for Oracle};Server=SERVER;uid=USER;pwd=123456;" 
Set objRecSet = CreateObject("ADODB.Recordset")
conn.open
SQL= "SELECT * FROM table"
objRecSet.Open SQL, conn

msgbox(objRecSet.RecordCount)

返回-1。为什么?我在Benthic和QTP中使用相同的用户帐户,并在两种情况下运行相同的查询。在QTP中对同一帐户和表的INSERT查询工作正常。

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

根据提供程序/驱动程序,CursorType和月亮的相位,.RecordCount无法在循环结果集之前提供记录数。开始研究here;检查ADO文档中的两个.Open方法的附加参数;考虑切换到“SELECT COUNT”类型的查询以查看您获得了多少行。

答案 1 :(得分:0)

sqlStatement = "select count(*) from emp"
Rec.Open sqlStatement,conn
Value = Rec.fields.item(0)
     msgbox Value

这会直接打印来自ur表的记录数。希望这有帮助。