Проблемы с обновлением записей БД
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
Есть база данных на MS SQL.
В примере на Delphi доступ к базе осуществляется через компоненты: ADOConnection, ADOQuery, DataSource, DBGrid, DBNavigator.
Всё работает! Доступ к базе есть, создавать и удалять записи получается отлично!
Но не могу понять, что нужно сделать, чтобы, когда запускалось два клиента работающих с базой одновременно, при изменении базы в одном клиенте, отображались изменения в другом.
А так получается, пока клиент не перезапустишь, он не видит изменения, которые сделали другие клиенты.
В примере на Delphi доступ к базе осуществляется через компоненты: ADOConnection, ADOQuery, DataSource, DBGrid, DBNavigator.
Всё работает! Доступ к базе есть, создавать и удалять записи получается отлично!
Но не могу понять, что нужно сделать, чтобы, когда запускалось два клиента работающих с базой одновременно, при изменении базы в одном клиенте, отображались изменения в другом.
А так получается, пока клиент не перезапустишь, он не видит изменения, которые сделали другие клиенты.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
не обязательно закрывать прогу, можно обновлять (перечитывать) датасет.
Нет ли у МС механизма сообщений?
Нет ли у МС механизма сообщений?

есть в 2005:Игорь Акопян писал(а):не обязательно закрывать прогу, можно обновлять (перечитывать) датасет.
Нет ли у МС механизма сообщений?
http://msdn.microsoft.com/ru-ru/library ... L.90).aspx
но мне проще пойти по этому пути, дал совет Stilet (Белик Виталий, Украина):
Я каждому клиенту прицепил простой месенджер UDP. При изменении мною данных всем рассылается сообщение мол обновится, и фильтр, по которому можно получить вновь внесенные данные.
Клиенты в свои гриды дописывают набор по этому фильтру и улыбаются
-----
просто у меня все клиенты уже соединены по tcp/ip, а это ещё надёжнее чем udp.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
так вам придётся делать широковещательную рассылку, а сервер отправляет сообщение только подключенным клиентам...

не пойму вас...Игорь Акопян писал(а):так вам придётся делать широковещательную рассылку, а сервер отправляет сообщение только подключенным клиентам...
через tcp/ip я то же делаю широковещательную рассылку, пробегая по всем подключениям...
это даже более надёжнее чем в udp, потому как я точно знаю, что мои уведомления о изменениях долетят...!
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
я имел ввиду, что сообщения отправленное MSSQL сервером - адресное и не требует довесков в виде месенджеров
а суть будет та же что у вас, если всё хорошо работает - замечательно
а суть будет та же что у вас, если всё хорошо работает - замечательно


-
- Сообщения: 407
- Зарегистрирован: 13 сен 2004, 12:05
- Откуда: Курган
- Контактная информация:
А можно попросить примерчик этой программки, или кусок кода??? Уж больно заинтересовало...
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто!
Да! Кстати! Ctrl+V реально вставляет!!! ХDD

- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
по МС не в курсе, у мну Firebird, я по аналогии...
