|
Работа с Firebird | ☑ | ||
---|---|---|---|---|
0
Быдло замкадное
26.01.12
✎
09:27
|
Всем доброго утра. Есть подключение к базе Firebird и считывание данных, потом обход циклом. Подскажите как можно узнать количество строк в таблице которая от Firebird пришла???
СтрокаПодключения = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA;PWD=masterkey;DBNAME=sms89006:c:\SSA\SKD\codos_db\CODOS.GDB";//Рабочая Connection = Новый COMObject("ADODB.Connection"); Connection.Open(СтрокаПодключения); Command = Новый COMObject("ADODB.Command"); Command.ActiveConnection = Connection; Command.CommandText = "ТЕКСТ ЗАПРОСА ЛЯЛЯЛЯ"; Command.CommandType = 1; RecordSet = Новый COMObject("ADODB.RecordSet"); RecordSet = Command.Execute(); // Перебор данных Если не RecordSet.EOF() = 1 тогда RecordSet.MoveFirst(); Пока RecordSet.EOF() = 0 Цикл |
|||
1
Быдло замкадное
26.01.12
✎
09:28
|
Вот в этом RecordSet можно узнать количество строк..?
|
|||
2
Ёпрст
26.01.12
✎
09:32
|
RecordCount
|
|||
3
Ненавижу 1С
гуру
26.01.12
✎
09:37
|
вчера хранимую процедуру на Firebird написал - помнят еще руки! ))
расчет прибыли от продаж при списывании себестоимости по ФИФО |
|||
4
Быдло замкадное
26.01.12
✎
09:43
|
(2) RecordSet.RecordCount() всегда -1 возвращает
|
|||
5
Быдло замкадное
26.01.12
✎
09:47
|
в поиске нашел:
Намудрили Надо чтобы курсор был статический и тогда RecordCount будет возвращать количество записей Connection = Новый COMОбъект ("ADODB.Connection"); Connection.CursorLocation= 3; |
|||
6
Быдло замкадное
26.01.12
✎
09:47
|
Надеюсь на перебор строк этот CursorLocation не повлияет
|
|||
7
Стальная Крыса
26.01.12
✎
10:06
|
для простоты я делаю MoveLast(), а потом обратно MoveFirst() :)
зы. работает в любых местах |
|||
8
Torquader
26.01.12
✎
17:26
|
(4) Всё зависит от режима запроса, если запрос исполняется на сервере и в режиме Forward Only, то ни количества строк ни возврата назад (как в (7)) не получится.
P.S. а вообще-то, количество элементов получают через SELECT COUNT(*), но FireBird устроен так, что количество в процессе работы может поменяться (сторонняя транзакция завершилась и в выборку добавляется строка). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |