Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
4-15367
vic_774N
2002-11-19 17:57
2003.01.06
Shutdown - Вопрос избитый но дело не в этом .


1-15034
Max79
2002-12-24 20:01
2003.01.06
Как программно открыть TreeView и выделить нужный узел??


1-14992
Avallond
2002-12-24 10:18
2003.01.06
SMS прогамма


1-15114
Groove
2002-12-23 07:06
2003.01.06
ListView размер итема


7-15317
LZ
2002-09-29 23:58
2003.01.06
Набор номера по модему..





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский