Отображение изменений в базе на разных Раб.местах

ss2001r
Дата: 06.10.2006 14:25:44
Искал да не нашел.
Две копии проги работают с одной базой под MSSQL.
Главный компонент в клиенской проге DBGrid

Допустим, работая в проге, я посылаю запросы на вставку или изменение данных отображаемых в этом DBGrid. Сразу обновляю DBGrid...вижу изменения и радуюсь.

Так вот такой вопрос:
как мне поймать событие измения данных для второй клиентской проги, чтобы и там перерисовать его DBGrid.

Единственное что пришло на ум. По таймеру дергать значение из единственной записи в маленькой табличке с указанием даты последнего обновления данных для DBGrid-а и если значение той даты больше зафиксированной в этой копии проги, то перерисовать DBGrid.
Да как-то неспокойно на душе... некрасиво как-то...
есть же красивые решения синхронизации отображения данных?
RENaissance
Дата: 06.10.2006 14:30:30
DimaBr
Дата: 06.10.2006 14:57:10
Бедный сервер, висит програмка в трее, я ей не пользуюсь (пошёл покурить и задержался) и подчитывает данные с сервера при изменениях. Или окошко постоянно вываливается.
ss2001r
Дата: 06.10.2006 15:15:31
DimaBr
Бедный сервер, висит програмка в трее, я ей не пользуюсь (пошёл покурить и задержался) и подчитывает данные с сервера при изменениях. Или окошко постоянно вываливается.


Шутка что ли такая классная?
Anatoly Podgoretsky
Дата: 06.10.2006 18:18:29
Ну узнал ты, а что дальше то?
S.PR
Дата: 06.10.2006 18:39:49
Опять синхронизация... Не надо!
Подумай о процессоре сервера и о тоненьких проводках сетевого кабеля.
Попробуй поработать над архитектурой задачи.
Часто проблема синхронизации решается разработкой системы справочников.
Гаджимурадов Рустам
Дата: 06.10.2006 18:42:52

S.PR> Часто проблема синхронизации решается разработкой системы справочников.

:)

Posted via ActualForum NNTP Server 1.3

S.PR
Дата: 06.10.2006 18:52:42
Гаджимурадов Рустам

S.PR> Часто проблема синхронизации решается разработкой системы справочников.

:)

Posted via ActualForum NNTP Server 1.3

Это вопрос, ответ или привет? :)
Гаджимурадов Рустам
Дата: 06.10.2006 19:12:03

S.PR> Это вопрос, ответ или привет? :)

Скорее вопрос. Ну и привет, по ходу. :)

Posted via ActualForum NNTP Server 1.3

mv
Дата: 06.10.2006 22:31:21
ss2001r
Искал да не нашел.
Две копии проги работают с одной базой под MSSQL.
Допустим, работая в проге, я посылаю запросы на вставку или изменение данных отображаемых в этом DBGrid. Сразу обновляю DBGrid...вижу изменения и радуюсь.

Работа с "данными в DBGrid" - это почти полный аналог работы с лентой телеграфного аппарата. Ты послал запрос удаленному корреспонденту - тебе в ответ печатается (длиннючая) лента ответа. Которую ты смотришь в DBGrid. Вверх-вниз. Вот, ты смотришь на телеграмму, а удаленный корреспондет решил что-то изменить - бзынь - и поехал новый текст. Не здорово. Поэтому текст телеграммы не читают прямо на аппарате, а отрывают его, и читают в спокойной обстановке. Преставляешь, как было бы: тебе принесли телеграмму, ты начал читать, потом засмотрелся на ноги мимопроходящей девушки - опять вернулся к четнию - бзык! - а строки нет... (или, с ДБГридом: ты начал редактировать - хоп - а строка изменена кем-то другим...)

Лучше, наверное, делать так: ты читаешь, а тебя осторожно за рукав трогают: "там новые данные, дядя.." Ты спокойно (или не спокойно) завершаешь чтение, и берешь новую телеграмму.

Т.е. поставь кнопку "Обновить". Как получил сообщение о том, что данные изменились - так Кнопка.Enable := True;
Нажал, обновилось, Кнопка.Enable := False;