Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как определить есть ли в DataSet записи? [D5, IB5.x, ]


kengura ©   (2002-01-08 12:22:00) 

Доброго времени суток. Когда необходимо определить есть ли записи в DataSet или нет обычно использую что-то вроде:
if Query.RecordCount > 0 then ....
Однако где-то прочел, что RecordCount вычисляется путем прямого пересчета всех записей на клиенте. Мне же это собственно незачем. Может есть какой-то более оптимальный способ узнать пуст DataSet или нет?


oname   (2002-01-08 13:34:00) [1]

Точно так-же можно использовать Query.Eof. A Query.RecordCount вообще не рекомендуется использовать в приложениях клиент-сервер, потому что если в таблице пару миллионов записей, можно очень долго ждать окончание этого оператора.


Romkin   (2002-01-08 13:32:00) [2]

if not(EOF and BOF) then notEmpty := true
Универсально, для любого потомка TDataSet - если одновременно начало и конец таблицы, она пустая


petr_v_a   (2002-01-08 12:55:00) [3]

Query.isempty


Alexandr   (2002-01-08 12:47:00) [4]

2Alexts где попробовать?


alexts   (2002-01-08 12:36:00) [5]

Можно поробовать еще if exists(select * from ...) then select 1 else select 0


Alexandr   (2002-01-08 12:26:00) [6]

замени в своем Query
select <бля-бля-бля>
from.....

на
select count(*)
from......

в большинстве случаев этот модифицированный запрос вернет тебе
кол-во записей в твоем запросе.
А вообще-то иногда лучше именно RecordCount использовать.
Тут как-то эта проблема очень подробно обсуждалась.


Наверх

Титульная страница Поиск, карта сайта Написать письмо