Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обновить 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо