![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 22.09.2008
Сообщений: 214
|
![]()
Здравствуйте. Как увидеть изменения в БД, внесенные другим пользователем? Есть программа, написанная на Delphi, и SQL server, и в программе по таймеру через каждые 10 секунд происходит обновление всех таблиц. Есть ли другие способы?
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
![]()
Да мне понравился псособ предложенный Stilet c помощью IdUDPServer и IdUDPClient. Попробовал всё работает и не надо никаких таймеров.
Сделал примерно так: На сервере где находится БД положил IdUDPClient и при изменении данных (у меня это был компонент ADOQuery и в событии AfterPost и AfterDelete)просто передавал команду 'refresh'. в клиенте ставим компонент IdUDPServer и в "обработчике чтения" запускаем процедуру обновления, которая находится у Вас в таймере Последний раз редактировалось SERG1980; 11.02.2010 в 11:35. |
![]() |
![]() |
![]() |
#3 | ||
Форумчанин
Регистрация: 22.09.2008
Сообщений: 214
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Далее после того как твоя прога внесет что-то в базу, или отредактирует запись, по UDPClient рассылаешь методом Broadcast строку, содержащую уникальные ключи измененных записей. И пусть UDPServer приняв строку, распарсив ее обновляет (подчитает или перечитает) эти записи, по этим ключам. Можно даже не заботиться о том что и программе, пославшей уведомление придет сообщение о необходимости перечитывания, ибо 1) Либо в программе прописать переобновление из базы именно в событии принятия сообщения в UDPServer, 2) Либо просто определять откуда пришло сообщение, и если отправитель= получателю ничего не делать Выбор из этих двух вариантов зависит от выбранных тобой компонентов, и стратегии. Я предпочел бы первый.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 22.09.2008
Сообщений: 214
|
![]()
Спасибо, сейчас попробую.
Класс! Спасибо! Последний раз редактировалось Stilet; 12.02.2010 в 15:43. |
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Всегда пожалуйста )
I'm learning to live...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как увидеть реляционную структуру SQL? | Bendebej | SQL, базы данных | 5 | 03.02.2010 15:05 |
Как увидеть зависимые ячейки | bsa785 | Microsoft Office Excel | 5 | 02.02.2010 00:09 |
Как снять с файла признак что он занят другим пользователем | Chelentano | Microsoft Office Excel | 1 | 12.08.2009 10:56 |
как програмно увидеть телефонный звонок и номер телефона | LiderServis | Мультимедиа в Delphi | 1 | 17.01.2009 12:03 |
Запуск процесса под другим пользователем | Андреy | Win Api | 3 | 03.12.2008 17:57 |