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

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

Определение общего кол-ва записей в базе [D5]


Андрей М ©   (2002-12-14 07:07:00) 

Если проверять QueryPot.RecordCount, то он выдает кол-во записей соответствующих запросу SQL (но это очень уж не вся база :-))
Предложение: изменить запрос - проверить - вернуть запрос - работать дальше = работет, но стоит страшное моргание :-( т.к. база довольно приличная.
Может есть другой выход.


Romkin   (2002-12-15 11:55:00) [1]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1039865705&n=3


GLUKAS   (2002-12-15 10:56:00) [2]

Чтото вы тут уже флейм развели....
ТО Андрей М: Что конкретно нужно сделать?


Geka   (2002-12-15 09:22:00) [3]

Дак у тебя все равно for i := 1 to
Или вопрос корректно задавай... Не понятно для чего все-таки это тебе надо


Sergey Masloff   (2002-12-15 09:06:00) [4]

Geka
>А что по базе нельзя идти так
>Query.First;
>while not(Query.eof) do
>begin
Можно. Но часто не нужно.


Geka   (2002-12-15 08:12:00) [5]

А что по базе нельзя идти так
Query.First;
while not(Query.eof) do
begin
Query.next;
end;


Sergey Masloff   (2002-12-14 20:12:00) [6]

Андрей М (14.12.02 19:26)
>Да там есть обработка всей базы. Не фильтрация и не сортировка >предупреждаю сразу. А обработку делаю через
>for I:=1 to ...
Еще раз повторю. ВИДЕТЬ обработку всей базы ЮЗЕРУ НА ХРЕНА? Что он у тебя увидит при i~10000 хотя бы?
Смотри что ты делаешь: Тащишь ВСЕ записи на клиента чтобы узнать их количество. Потом закрываешь запрос и тащишь данные по новой. Потом опять ВСЕ на клиента. И так далее. К тебе сетевики ваши морду бить не приходили еще?
Также непонятно зачем в одном и том же запросе (Query)и число записей определять и данные отбирать для обработки? Два разных никак не использовать? И DisableControls делать чтобы моргало поменьше...


Андрей М   (2002-12-14 19:26:00) [7]

Да там есть обработка всей базы. Не фильтрация и не сортировка предупреждаю сразу. А обработку делаю через
for I:=1 to ...


Sergey Masloff   (2002-12-14 17:23:00) [8]

Давай для начала определимся НА ХРЕНА тебе (или пользователю) знать ОБЩЕЕ ЧИСЛО записей в таблице. Если ты задумаешься над этим то может и потребность в вопросе отпадет.
И еще, у тебя похоже подразумевается равенство база данных=таблица? Это нехорошо.
Ну и последнее. Способа быстрее select count(*) from... не существует. Можно, конечно создать доп. таблицу в которой триггерами поддерживать значение числа записей в нужной таблице. Но за такие решения без особой на то необходимости я бы убивал на месте ;-)


Андрей М   (2002-12-14 15:46:00) [9]

Так я и сделал, но из за приличного количества записей. Идет моргание экрана (особенно на слабых машинах), за которое шеф меня не погладил по головке :-)


Anatoliy   (2002-12-14 11:42:00) [10]

Пропиши еще один запрос вроде SELECT Count(*) FROM MyTable;


Андрей М   (2002-12-14 08:19:00) [11]

Все понятно, но этот способ не годится, у меня только Query


oldman   (2002-12-14 07:19:00) [12]

Не в Query, а в Table, где твоя база без всякого запроса болтается.
У тябя Query на dataSourse завязан?
А тот завязан на Table.


Андрей М   (2002-12-14 07:13:00) [13]

Я же написал, что так выдается только число записей соответствующих ЗАПРОСУ


oldman   (2002-12-14 07:11:00) [14]

Ну так проверь в БАЗЕ!
Table1.RecordCount.
Или у тебя Table отсутствует?


Наверх

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