Как мне выполнить запросы SELECT на Oracle в QTP? - PullRequest
0 голосов
/ 12 декабря 2011

У меня есть дилемма, когда запрос, который отлично работает в 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 и выполняю один и тот же запрос в обоих случаях.Запросы INSERT в QTP для одной учетной записи и таблицы работают нормально.

Заранее спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 28 мая 2015
sqlStatement = "select count(*) from emp"
Rec.Open sqlStatement,conn
Value = Rec.fields.item(0)
     msgbox Value

Это напрямую печатает количество записей из вашей таблицы.надеюсь, это поможет.

0 голосов
/ 13 декабря 2011

В зависимости от провайдера / драйвера, CursorType и фазы луны .RecordCount не может дать вам количество записей до того, как вы зациклились на наборе результатов. Начните свое исследование здесь ; проверьте дополнительные параметры для обоих методов .Open в ADO Docs; рассмотрите возможность переключения на тип запроса «SELECT COUNT», чтобы увидеть, сколько строк вы получили.

...