Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Вниз

Как определить есть ли в DataSet записи? 


kengura   (2002-01-08 12:22) [0]

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



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

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

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

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



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

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



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

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



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

Query.isempty



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

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



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

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




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.023 c
1-8926            Zer0                  2002-01-17 19:23  2002.02.04  
Изменение шрифта


3-8751            Olfi                  2002-01-03 15:29  2002.02.04  
Вопрос по TQuery...


3-8803            навичек               2002-01-03 11:07  2002.02.04  
Мож кто знает че это за ошибка?


4-9021            Art                   2001-12-06 13:52  2002.02.04  
Помогите!Есть проблема программным выключением компа!!!?


1-8845            Eraser                2002-01-21 10:58  2002.02.04  
Где sleep