Проблемы с обновлением записей БД

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
neo7777
Сообщения: 3
Зарегистрирован: 23 сен 2009, 09:54

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

не обязательно закрывать прогу, можно обновлять (перечитывать) датасет.
Нет ли у МС механизма сообщений?
Изображение
neo7777
Сообщения: 3
Зарегистрирован: 23 сен 2009, 09:54

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

так вам придётся делать широковещательную рассылку, а сервер отправляет сообщение только подключенным клиентам...
Изображение
neo7777
Сообщения: 3
Зарегистрирован: 23 сен 2009, 09:54

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

я имел ввиду, что сообщения отправленное MSSQL сервером - адресное и не требует довесков в виде месенджеров
а суть будет та же что у вас, если всё хорошо работает - замечательно ;)
Изображение
Dr_Grizzly
Сообщения: 407
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

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

по МС не в курсе, у мну Firebird, я по аналогии...
Изображение
Ответить