![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обновить DBGrid [DBISAM]
AndreyAs © (2003-08-12 18:55:00)
Уважаемые мастера,
у меня есть DBGrid, который отображает результат некоего запроса к таблице. Эта таблица изменяется из другого приложения (в нее добавляются новые записи, удаляются). А мне нужно по определенному событию обновлять данные в DBGrid, чтобы видеть актуальную информацию.
Есть ли варианты кроме:
Query.Close;
Query.Open;
?
Nikolay M. (2003-08-13 11:33:00) [1]
> Плохиш_ (13.08.03 11:28) [14]
Дык я так и написал, см.
Nikolay M. © (13.08.03 10:47) [8]
:)
Плохиш_ (2003-08-13 11:28:00) [2]
Вот сейчас понял :-)
А голова программисту на что дана? Только вопросы для форума придумывать?
Nikolay M. (2003-08-13 11:23:00) [3]
В том, что по твоему совету постоянно будет полностью рефрешиться набор данных, что приведет в случае нескольких пользователей и относительно больших объемов таблицы к огромным тормозам и трафику в сети - админы и юзеры спасибо скажут.
Вообще дискуссий на эту тему было достаточно, можешь в инете поискать на тему "Обновление записей IBEventAlerter (так вроде?)".
Плохиш_ (2003-08-13 11:03:00) [4]
Nikolay M. © (13.08.03 10:59) [11]
Снова не понял :-S
геморрв чём?
Nikolay M. (2003-08-13 10:59:00) [5]
> Плохиш_ (13.08.03 10:55) [10]
Ты сам-то знаешь, что ты человеку посоветовал и какой геморр он с этого будет иметь?
Плохиш_ (2003-08-13 10:55:00) [6]
Nikolay M. © (13.08.03 10:47) [8]
Не понял
NAlexey (2003-08-13 10:49:00) [7]
>Спасиба за наводку
Надо так: спасибо за:, на водку.
Nikolay M. (2003-08-13 10:47:00) [8]
> Изучить работу таймера
Ну ты и Плохиш! :))))
Впрочем, геморрой тоже иногда иметь полезно - бесценно для приобретения опыта... :)
Berezne (2003-08-13 10:35:00) [9]
Плохиш_
Спасиба за наводку
Плохиш_ (2003-08-13 10:33:00) [10]
2Berezne (13.08.03 10:29) [5]
Изучить работу таймера
Berezne (2003-08-13 10:29:00) [11]
А как организовать обновление DBGrid автоматически. Тоесть данние в таблице изменяются по сети на другой машине. А как организовать на локальной машине (ничего не делая, просто сидеть и смотреть) били видни изменения сразу после записи на машине из сети или чтоби изменения в нем обновлялись через определенний промежуток времени.
Dred2k (2003-08-13 10:27:00) [12]
> Rav © (12.08.03 19:08) [1]
Это из Rx. И не только для TQuery.
procedure RefreshQuery(Query: TDataSet);
begin
// ...
Close;
Open;
// ...
end;
Nikolay M. (2003-08-13 10:07:00) [13]
1) Надежнее
Query.Active := False;
Query.Active := True;
2) Можно в трехзвенке для D5 и выше использовать механизм обратных вызовов и даже можно извратиться так, чтобы передавать на клиента только внесенные изменения, а не весь набор данных (а оно надо?). Подробнее смотри статью Романа Игнатьева на rsdn.
ulyanitsky (2003-08-12 23:34:00) [14]
А чем Query.Close; Query.Open; не устраивает?
Rav (2003-08-12 19:08:00) [15]
В RxLib есть функция RefreshQuery