Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ХП в IB и FastReport (хотя уверен он непричем) / 6 сообщений из 6, страница 1 из 1
02.12.2003, 14:06
    #32340749
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП в IB и FastReport (хотя уверен он непричем)
Есть след код на Делфи:
Код: plaintext
1.
2.
3.
4.
5.
DM.IBDataSet_RepInt.Active:=true; //(* 1 )
DM.frReport1.Dataset:=DM.frDBDataSet3;
DM.frReport1.ReportType:=rtMultiple;
DM.frReport1.LoadFromFile('rep_int_par.frf');
DM.frReport1.ShowReport;     //(* 2 )
DM.IBDataSet_RepInt.Active:=false;

frDBDataSet3.Dataset:=IBDataSet_RepInt
Код: plaintext
1.
IBDataSet_RepInt.SelectSQL='select * from REP_INT_PARCEL('01. 01 . 2000 ', '01. 01 . 2004 ',1)
ORDER BY I_DATE, I_NUMB'

ТАК ВОТ В ЧЕМ ЗАКОВЫКА:
после выполнения (*1) DM.IBDataSet_RepInt.recordcount=1, хотя этот запрос возвращает 2 записи.
Однако же после (*2) DM.IBDataSet_RepInt.recordcount=2, что есть правильно.
Думаю, что происходит это потому, что у меня ХП выдает данные порционно
(по for select).
Подскажите, пожалуйста, что надо сделать сделать, чтобы DM.IBDataSet_RepInt.recordcount=2 было уже к моменту (*2)
...
Рейтинг: 0 / 0
02.12.2003, 14:45
    #32340831
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП в IB и FastReport (хотя уверен он непричем)
Хотя , возможно, мне нужен просто пример использования DM.frReport1.ReportType:=rtMultiple; :-)
...
Рейтинг: 0 / 0
02.12.2003, 15:24
    #32340880
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП в IB и FastReport (хотя уверен он непричем)
RecordCount - никогда не возвращает кол-ва записей в запросе, пока не встанеш на последнюю запись !!!
Это не шутка - это факт !!!

Мой совет такой :
Код: plaintext
1.
2.
3.
DM.IBDataSet_RepInt.Active:=true; //(* 1 )
DM.IBDataSet_RepInt.FetchAll;
...


Best regards,
Dnico.
...
Рейтинг: 0 / 0
02.12.2003, 15:28
    #32340885
фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП в IB и FastReport (хотя уверен он непричем)
2 Dnico:
Спасибо!!!
...
Рейтинг: 0 / 0
06.12.2003, 10:41
    #32345544
TheOne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП в IB и FastReport (хотя уверен он непричем)
DataSet.FetchAll (также как и DataSet.Last) конечно будет работать, но такое делать не совсем "интилигентно", особено если база не локальная или таблица большая. Лутше все такие использовать отдельный IBSQL или IBQuery и вызывать:

select count(*) from "Название Таблицы"

Скорость будет намного лутше, сеть не будет нагружаться, а значит и "счастья" в жизни прибавиться ;)
...
Рейтинг: 0 / 0
08.12.2003, 10:56
    #32346108
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ХП в IB и FastReport (хотя уверен он непричем)
TheOne
Оно то конечно может и "интеллигентно", но не всегда бывает разумным
тратить по 15-20 секунд, только для того чтобы посчитать кол-во записей
в запросе. Я имею ввиду не простые запросы типа "SELECT * FROM TABLE".


Best regards,
Dnico.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / ХП в IB и FastReport (хотя уверен он непричем) / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]