Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2014, 17:35   #1
govorun1
Форумчанин
 
Регистрация: 08.11.2013
Сообщений: 137
По умолчанию медленный отклик запроса

С формы 3 загружается форма 6 модально. На форме 3 запрос на подсчет сумм. На FormShow формы 3 стоит
Код:
    Label1.Caption := FloatToStrf(ADOQuery6.Fieldbyname('840').AsFloat,ffNumber,12,2);
    Label2.Caption := FloatToStrf(ADOQuery6.Fieldbyname('978').AsFloat,ffNumber,12,2);
На OnClose формы 6 стоит
Код:
    form3.ADOQUERY6.Close;
    form3.ADOQUERY6.Open;
    form3.Label1.Caption := FloatToStrf(form3.ADOQuery6.Fieldbyname('840').AsFloat,ffNumber,12,2);
    form3.Label2.Caption := FloatToStrf(form3.ADOQuery6.Fieldbyname('978').AsFloat,ffNumber,12,2);
Вопрос. Почему после первого запуска и закрытия формы 6 запрос на форме 3 не откликается, т.е. не изменяется сумма. После второго запуска и закрытия формы 6 сумма изменяется с учетом первого запуска.
Например запросом было посчитано 80
Запустили форму 6, ввели 10 и закрыли.
Запрос всеравно показывает 80.
Запустили форму 6 второй раз, ввели 10 и закрыли
Запрос показывает 100. При последующих запусках формы 6 запрос отрабатывает правильно.
Как поправить это дело?
govorun1 вне форума Ответить с цитированием
Старый 22.02.2014, 17:47   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Acsses и каждый запрос со своим connect-ом к БД? для задания соединения каждый раз используется connectionString.

Использовать общее соединение.
AdoConnectionX.connectionString:=.. ..
form6.adoquery6.connect:=formMainX. ADOConnectionX;
form3.adoquery3.connect:=formMainX. ADOConnectionX;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 22.02.2014, 18:09   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

evg_m это одни и теже квери, тут весь код под снос а вы про мифические соединения
eval вне форума Ответить с цитированием
Старый 22.02.2014, 18:31   #4
govorun1
Форумчанин
 
Регистрация: 08.11.2013
Сообщений: 137
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
evg_m это одни и теже квери...
И что ты этим хотел сказать?
govorun1 вне форума Ответить с цитированием
Старый 22.02.2014, 18:43   #5
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

только то что сказал
сами не видите разницу?

эта, у вас код один но почемуто раздвоен, мало того еще и не там где надо, потому вердикт один - переделать.
eval вне форума Ответить с цитированием
Старый 22.02.2014, 18:56   #6
govorun1
Форумчанин
 
Регистрация: 08.11.2013
Сообщений: 137
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
только то что сказал
сами не видите разницу?

эта, у вас код один но почемуто раздвоен, мало того еще и не там где надо, потому вердикт один - переделать.
Покажи, плиз где и что раздвоено...
govorun1 вне форума Ответить с цитированием
Старый 22.02.2014, 19:45   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

в вопросе ветки, 2 кода одинакового видите?
eval вне форума Ответить с цитированием
Старый 22.02.2014, 19:55   #8
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Например запросом было посчитано 80
первый запрос (вычисление суммы). Есть упоминание в коде. form3.adoquery6 видимо это (select sum(...) ... )
Цитата:
Запустили форму 6, ввели 10 и закрыли.
А вот и второй запрос. Ведь для ввода использован другой запрос. form6.ado??? (insert ....)?
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 22.02.2014, 20:30   #9
govorun1
Форумчанин
 
Регистрация: 08.11.2013
Сообщений: 137
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
первый запрос (вычисление суммы). Есть упоминание в коде. form3.adoquery6 видимо это (select sum(...) ... )
Совершенно верно

Цитата:
Сообщение от evg_m Посмотреть сообщение
А вот и второй запрос. Ведь для ввода использован другой запрос. form6.ado??? (insert ....)?
Нет. Для ввода использованы dbedit-ы (но это не критично). Потом adotadle Post. А потом перерисовывем запрос form3.adoquery6

В принципе твой первый ответ помог... Спасибо.

Кто нибудь, покажите что у меня и где раздвоено (из-за чего поступают рекомендации выбросить код в ХЛАМ)?
govorun1 вне форума Ответить с цитированием
Старый 22.02.2014, 20:34   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ты покажи что в итоге, и вместе посмеемся, ага?
а в хлам улетит обязательно, к бабке не ходи
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Медленный UpdateLayeredWindow dmitriegorovih Win Api 0 15.07.2012 20:45
Медленный макрос Sotrom Microsoft Office Excel 14 10.08.2011 17:44
Долгий отклик от mdb-базы biohazardo БД в Delphi 5 07.10.2010 21:39
Отклик Orodret Общие вопросы C/C++ 5 21.04.2009 02:45
как организовать отклик на событие при импорте-экспорте данных Artmi Microsoft Office Excel 8 03.06.2008 23:31