![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить есть ли в 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 использовать.
Тут как-то эта проблема очень подробно обсуждалась.