Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.06;
Скачать: CL | DM;

Вниз

Определение общего кол-ва записей в базе   Найти похожие ветки 

 
Андрей М   (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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
1-15094
Beginner
2002-12-22 18:53
2003.01.06
Как в RichEdit вставить текст в текущую позицию курсора?


3-14916
pilot
2002-12-13 15:52
2003.01.06
Cannot use array of Field values with Expression Indices


1-15069
Tundra
2002-12-25 07:28
2003.01.06
Не весь Хелп установлен в моем делпфи


1-15096
Napoleonn
2002-12-22 14:37
2003.01.06
Вопрос по twebbrowser. Подскажите, пожалуйста!


3-14895
freeman
2002-12-12 16:23
2003.01.06
interbase 5.1