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

Вниз

Выполнение SQL-запроса   Найти похожие ветки 

 
anp   (2002-03-07 15:45) [0]

В процессе работы программы запрос должен выполняться каждый раз когда изменяется DBGrid расчитывая значение переменной и вывдя его в Label. Сделал так:
DBGrid1DrawColumnCell
.....
Query1.Close;
Query1.Open;
Label1.caption := Query1.fieldbyname("COUNT___").text;
Но программа стала заметно притомаживать. По другому сделать не получается. Как переделать чтобы не тормозило?


 
sniknik ©   (2002-03-07 15:51) [1]

Вызывать запрос один раз вначале а все изменения расчитывать самому, из общего - то что было + то что стало.


 
Val ©   (2002-03-07 15:52) [2]

Надо ловить не изменения грида, а изменения набора данных


 
sniknik ©   (2002-03-07 15:57) [3]

Все одно будет притормаживать при достаточно большом наборе. И зачем пересчитывать все в наборе если меняется одно значение?


 
anp   (2002-03-07 16:01) [4]

Спасибо, попробую ...


 
Delirium ©   (2002-03-08 16:09) [5]

Просто надо поток организовать и поместить туда запрос с рассчётом


 
Johnmen ©   (2002-03-09 02:40) [6]

Для начала уясни себе, что DBGrid не меняется ! , являясь лишь окном просмотра набора данных...А вот НД может меняеться, и тогда для его обновления надо принимать меры, которые зависят от типа БД и компонентов доступа !


 
Ray Adams   (2002-03-10 02:06) [7]

Ну вообщето это делается через Master/Detail. В гриде сидит результ из первого Query. Во втором сидит скажем select sum(field) from table where id = :id. Далее ко второму Query подсоединяется DataSource от первого. Главное чтобы в первом квери было это поле ID. Или любое другое ключевое поле по которому во втором квери считается сумма (или что там надо). И все теперь тебе самому не надо закрывать или открывать второй квери. Двигаешся по гриду и занчение само меняется. Только на форму брось TDBLabel и через DataSource поключи его ко второму квери. Надеюсь что ты понял что я описал.



Страницы: 1 вся ветка

Текущий архив: 2002.04.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
4-342
kiber
2002-01-31 01:17
2002.04.01
win api


1-215
kserg@ukr.net
2002-03-20 11:48
2002.04.01
MDI-приложение: как определить активно родительское окно(дочерних ещё нет) или дочернее(тогда узнать какое)?


1-252
Dok_3D
2002-03-20 14:36
2002.04.01
Как программно удалить COM+ приложение ?


3-70
AlexNord
2002-03-01 01:16
2002.04.01
Конвертация данных из DB в IB


14-287
Sir Alex
2002-02-04 19:44
2002.04.01
DMFC 1.1.003a ( вот что значит конкуренция!)