Форум: "Базы";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
ВнизОпределение общего кол-ва записей в базе Найти похожие ветки
← →
Андрей М (2002-12-14 07:07) [0]Если проверять QueryPot.RecordCount, то он выдает кол-во записей соответствующих запросу SQL (но это очень уж не вся база :-))
Предложение: изменить запрос - проверить - вернуть запрос - работать дальше = работет, но стоит страшное моргание :-( т.к. база довольно приличная.
Может есть другой выход.
← →
oldman (2002-12-14 07:11) [1]Ну так проверь в БАЗЕ!
Table1.RecordCount.
Или у тебя Table отсутствует?
← →
Андрей М (2002-12-14 07:13) [2]Я же написал, что так выдается только число записей соответствующих ЗАПРОСУ
← →
oldman (2002-12-14 07:19) [3]Не в Query, а в Table, где твоя база без всякого запроса болтается.
У тябя Query на dataSourse завязан?
А тот завязан на Table.
← →
Андрей М (2002-12-14 08:19) [4]Все понятно, но этот способ не годится, у меня только Query
← →
Anatoliy (2002-12-14 11:42) [5]Пропиши еще один запрос вроде SELECT Count(*) FROM MyTable;
← →
Андрей М (2002-12-14 15:46) [6]Так я и сделал, но из за приличного количества записей. Идет моргание экрана (особенно на слабых машинах), за которое шеф меня не погладил по головке :-)
← →
Sergey Masloff (2002-12-14 17:23) [7]Давай для начала определимся НА ХРЕНА тебе (или пользователю) знать ОБЩЕЕ ЧИСЛО записей в таблице. Если ты задумаешься над этим то может и потребность в вопросе отпадет.
И еще, у тебя похоже подразумевается равенство база данных=таблица? Это нехорошо.
Ну и последнее. Способа быстрее select count(*) from... не существует. Можно, конечно создать доп. таблицу в которой триггерами поддерживать значение числа записей в нужной таблице. Но за такие решения без особой на то необходимости я бы убивал на месте ;-)
← →
Андрей М (2002-12-14 19:26) [8]Да там есть обработка всей базы. Не фильтрация и не сортировка предупреждаю сразу. А обработку делаю через
for I:=1 to ...
← →
Sergey Masloff (2002-12-14 20:12) [9]Андрей М (14.12.02 19:26)
>Да там есть обработка всей базы. Не фильтрация и не сортировка >предупреждаю сразу. А обработку делаю через
>for I:=1 to ...
Еще раз повторю. ВИДЕТЬ обработку всей базы ЮЗЕРУ НА ХРЕНА? Что он у тебя увидит при i~10000 хотя бы?
Смотри что ты делаешь: Тащишь ВСЕ записи на клиента чтобы узнать их количество. Потом закрываешь запрос и тащишь данные по новой. Потом опять ВСЕ на клиента. И так далее. К тебе сетевики ваши морду бить не приходили еще?
Также непонятно зачем в одном и том же запросе (Query)и число записей определять и данные отбирать для обработки? Два разных никак не использовать? И DisableControls делать чтобы моргало поменьше...
← →
Geka (2002-12-15 08:12) [10]А что по базе нельзя идти так
Query.First;
while not(Query.eof) do
begin
Query.next;
end;
← →
Sergey Masloff (2002-12-15 09:06) [11]Geka
>А что по базе нельзя идти так
>Query.First;
>while not(Query.eof) do
>begin
Можно. Но часто не нужно.
← →
Geka (2002-12-15 09:22) [12]Дак у тебя все равно for i := 1 to
Или вопрос корректно задавай... Не понятно для чего все-таки это тебе надо
← →
GLUKAS (2002-12-15 10:56) [13]Чтото вы тут уже флейм развели....
ТО Андрей М: Что конкретно нужно сделать?
← →
Romkin (2002-12-15 11:55) [14]http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1039865705&n=3
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.01.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c