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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2014, 10:31   #1
rebel91
 
Регистрация: 28.05.2013
Сообщений: 9
По умолчанию Задержка в исполнении запроса SQL

Алгоритм такой: форма 1 и форма 2. В форме 2 загружается шаблон из Экселя через ADO, отображается в ДБГриде, при нажатии кнопки "импортировать", импортируется в БД, которая отображается в первой форме.
На событие OnClose второй формы повесил такой код, чтоб автоматически обновлялась таблица в 1 форме:

Код Delphi
Код:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form1.adoquery1.close;
form1.adoquery1.sql.Clear;
form1.adoquery1.SQL.Add('select * from Delivery');
form1.adoquery1.open;
end;
На 1 форме есть кнопка "Обновить" с таким же кодом.
Всё работает, ошибок не выдает, но при закрытии формы 2, таблица в 1 форме не меняется, а при нажатии на кнопку "Обновить" как-будто обновляет, но обновления не отображаются, словно ничего не изменилось.
Стоит только подождать секунд 5-10, жмешь "ОБновить" и УАЛЯ! Всё обновляется и появляются новые записи.

Подскажите плиз как решить эту проблему

Последний раз редактировалось Stilet; 08.05.2014 в 10:59.
rebel91 вне форума Ответить с цитированием
Старый 08.05.2014, 10:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
На событие OnClose второй формы повесил такой код, чтоб автоматически обновлялась таблица в 1 форме:
Цитата:
procedure TForm1
или я чего-то не понимаю, или тут имя формы не то.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2014, 11:25   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
при нажатии на кнопку "Обновить" как-будто обновляет, но обновления не отображаются
наполовину болен
eval вне форума Ответить с цитированием
Старый 08.05.2014, 13:53   #4
rebel91
 
Регистрация: 28.05.2013
Сообщений: 9
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
наполовину болен
Визуально проходит действие обновления, но новых данных не появляется. Если дергать кнопку "обновить", то новые данные появляются секунд через 5-10 только.
Чем может быть вызвана задержка?
rebel91 вне форума Ответить с цитированием
Старый 08.05.2014, 13:54   #5
rebel91
 
Регистрация: 28.05.2013
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
или я чего-то не понимаю, или тут имя формы не то.
Это я некорректно копирнул сюда текст, в процедура tform2.formclose, всё нормально. Иначе бы ошибку выдал сам делфи.
rebel91 вне форума Ответить с цитированием
Старый 08.05.2014, 14:31   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

ну так а кнопка что делает?
eval вне форума Ответить с цитированием
Старый 08.05.2014, 14:46   #7
rebel91
 
Регистрация: 28.05.2013
Сообщений: 9
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
ну так а кнопка что делает?
на кнопке тот же код, как и на OnClose. Только в силу того, что она на ПЕРВОЙ форме, перед "adoquery1..." в командах не прописывается адресация к форме
rebel91 вне форума Ответить с цитированием
Старый 08.05.2014, 14:53   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

а зачем вы переписываете одним и тем же запросом постоянно?
просто переоткрывать надо, если запрос не меняеться

как идет импорт? может там транзакции вися, вот и нет моментального обновления..
eval вне форума Ответить с цитированием
Старый 08.05.2014, 15:05   #9
rebel91
 
Регистрация: 28.05.2013
Сообщений: 9
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
а зачем вы переписываете одним и тем же запросом постоянно?
просто переоткрывать надо, если запрос не меняеться

как идет импорт? может там транзакции вися, вот и нет моментального обновления..
на другой паре форм этого же проекта абсолютно идентичный метод дает моментальный результат. Поэтому я его тупо копирнул оттуда, всё работает отлично. А тут надо ждать.

в смысле как идет импорт? код привести?
rebel91 вне форума Ответить с цитированием
Старый 08.05.2014, 15:15   #10
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

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


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
оптимизация sql-запроса Vetra SQL, базы данных 0 20.07.2011 13:36
Удаление строки с помощью SQL запроса (Query1.SQL.ADD('Delete....')) Schutze Помощь студентам 6 29.11.2009 22:15
Оптимизация SQL запроса Phantom SQL, базы данных 4 24.09.2009 16:07
Оптимизация sql запроса в хп eda SQL, базы данных 3 28.07.2009 11:57