Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2010, 13:51   #1
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию Обновление DataSet. Триггер.

Добрый день.
Программа написана в Delphi+MySQL. В фирме в локальной сети около 20 сотрудников. Задача: необходимо, если один из юзеров сделал какие либо изменения в таблице, то все другие юзеры (если у них эта таблица в данный момент открыта) сразу увидели изменения (т.е. необходимо обновить DataSet).
Я, на скорую руку, сделал так:
-Создал таблицу (назовём её aTABLE) с двумя полями:
1).User_Name
2).Status (0/1)

-Создал триггер AFTER UPDATE для нужной таблицы, который после любого изменения в таблице устанавливает значение Status=1 для всех других пользователей.
-У всех пользователей каждые 20 секунд выполняется запрос (Select status from aTABLE where User_Name = _текущий_юзер_)
Если полученное значение равно 1 - обновляем DataSet (если он не в режиме редактирования) и сбрасываем свой Status на 0.

Но такой способ, конечно, бестолковый и мне не нравится. (вообще не люблю таймер).
Как обновить таблицу на других компьютерах при любом ее изменении?
Надеюсь, что понятно написал... Спасибо.
P.S. Информации в инете по этому вопросу полно, но все как-то мутно и расплывчато...

Последний раз редактировалось _SERGEYX_; 09.09.2010 в 09:39.
_SERGEYX_ вне форума Ответить с цитированием
Старый 08.09.2010, 14:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
-У всех пользователей каждые 20 секунд выполняется запрос
Прикрути отсылку сообщений по UDP. И при изменении клиент пусть выдает в сеть сообщение остальным перечитать. Ато так ты скорее сервак напрягаешь лишней работой.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.09.2010, 15:31   #3
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Угу. Сейчас сделаю. Stilet, спасибо за идею.
_SERGEYX_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из DataSet работающего по циклу в DataSet maroder22 БД в Delphi 1 05.09.2010 23:22
Триггер Neymexa SQL, базы данных 1 01.04.2010 18:50
триггер veter_s_morya SQL, базы данных 10 06.10.2008 21:58
триггер..плиз zinnyrik БД в Delphi 4 21.05.2007 16:08
Триггер? yulia БД в Delphi 9 12.05.2007 15:03