получение данных из Database в QTP 8.2
#1
Отправлено 22 сентября 2006 - 10:57
У меня следующая проблема
Хочу запросить данные из базы данных, в базе таблица 2 столбца и 20 строк.
Делаю Database output value, QTP мне предлагает сохранить данные в DAtaTable но только в первую строку? получается мне надо 40 столбцов в DataTable занимать. Есть более простой путь получить значения из базы, чтобы с ними можно было работать? Можно например Database output value сохранить в массиве? как это сделать?
Подскажите пожалуйста
#2
Отправлено 22 сентября 2006 - 13:26
Майк.
#3
Отправлено 22 сентября 2006 - 15:25
А ещё, вот мой пример (для Oracle) - получение результатов запроса в массив.
Function dbtableGetAs2DArray(UName,UPwd,Source,SQL) 'Returns 2- dim array of Table data, found in DB '1-st dimension = rows, 2 = fields 'Example: xArr = GetDBDataArr_A("SELECT ORDERID,MANAGER FROM ORDERS WHERE MANAGER LIKE 'Ivan%'") Dim RS, sql1, xArr, i,j,k,rCnt,cCnt Set CNN = CreateObject("Adodb.Connection") With CNN .ConnectionString = "Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID="+UName+";Password="+UPwd+";Data Source="+Source .Open End With sql1 = "SELECT COUNT(*) FROM (" & SQL & ")" Set RS = CNN.Execute(sql1) rcnt = clng(RS.Fields(0).Value) If rcnt = 0 then sql_ExecAsArray2D = empty2DArray() exit function end if Set RS = CNN.Execute(SQL) ccnt = RS.Fields.Count Redim xArr(rcnt,ccnt-1) For i = 0 to ccnt-1 xArr(0,i)=RS.Fields(i).Name Next i = 1 With RS Do for k = 0 to ccnt - 1 xArr(i, k) = .Fields(k).Value next .MoveNext if .EOF then Exit Do i = i + 1 Loop End With Set RS=Nothing dbtableGetAs2DArray = xArr CNN.Close() End Function
Прикрепленные файлы
Майк.
#4
Отправлено 28 сентября 2006 - 16:14
Бьюсь, никак не получается. Подскажите плз..
#5
Отправлено 28 сентября 2006 - 16:26
Имя столбца
RS.Fields(k).NameКоличество
RS.Fields.Count (или Length - не помню)
RS -объект типа Reportset
k - номер столбца
См. код который я привёл в предыдущем сообщении.
Майк.
#6
Отправлено 28 сентября 2006 - 17:03
#7
Отправлено 02 октября 2006 - 11:37
RSRes("TD_executing").Value = date &" " & time
вот так вот не хочет.. :( Пишет:
Current Recordset does not support updating. This may be a limitation of the provider, or the selected locktype.
Заранее спасибо.
#8
Отправлено 27 сентября 2007 - 11:41
Что такое QuickTest Plus и где его можно скачатьРаботайте через ADO (Microsoft ActiveX Data Objects). Вся нужная информация есть в MSDN. Примеры есть в QuickTest Plus (eго надо установить)
#9
Отправлено 01 октября 2007 - 07:32
Майк.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных