powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обновление таблиц при изменении базы другим пользователем
9 сообщений из 9, страница 1 из 1
Обновление таблиц при изменении базы другим пользователем
    #32113080
Zorx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А кто как выкручивается если нужно обновлять таблички в куче форм при изменении базы другим пользователем?
Какие есть пути решения...

Хотелось бы автоматом =) но это не реально =(

ЗЫ
Dynamic cursor - нет букмарков =( соответственно нет DBGrid'ов
...
Рейтинг: 0 / 0
Обновление таблиц при изменении базы другим пользователем
    #32113081
Zorx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Обновление таблиц при изменении базы другим пользователем
    #32113086
Виктор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты какую СУБД используешь, MSSQL ?
Я работаю с Oracle, и там такие вещи давным давно решены :-)
Переходи на Oracle .
...
Рейтинг: 0 / 0
Обновление таблиц при изменении базы другим пользователем
    #32113117
Zorx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ok как это в оракле решено..
можно поподробнее
...
Рейтинг: 0 / 0
Обновление таблиц при изменении базы другим пользователем
    #32113348
Виктор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Oracle существуют два встроенных модуля, предназначенных для взаимодействия между соединениями, или сеансами (sessions). Это модули DBMS_PIPE и DBMS_ALERT. Также есть модуль Advanced Queuing (AQ).

У меня сделано на DBMS_ALERT.
Для отслеживания изменения таблички в триггере на эту табличку делаем посылку сообщения DBMS_ALERT.SIGNAL
На клиентах регистрируем заинтересованность в оповещении и на приход оповещения вещаем refresh набора данных.
С PIPE и AQ можно также это сделать, но там всё навороченнее, для более сложных задач.
А еще подробнее можешь в хелпе почитать :-)
...
Рейтинг: 0 / 0
Обновление таблиц при изменении базы другим пользователем
    #32113429
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вот только не понимаю - зачем все эти оповещения? Трафика не жалко с сервером? Каждый раз всем клиентам refresh делать - не слабая нагрузочка. А если я открыл 10 форм и курить ушел на два часа - а у меня тут все обновляется, ворочается. Смешно!
...
Рейтинг: 0 / 0
Обновление таблиц при изменении базы другим пользователем
    #32113941
Zorx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот и я об этом думал... жалко однако... сделал кнопку рефреш =)
...
Рейтинг: 0 / 0
Обновление таблиц при изменении базы другим пользователем
    #32113983
Виктор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про траффик - это верно, стало его жалко. Поэтому сделал так - рефрешится только активная форма справочника и только в том случае, если фокус находится в этом приложении.
Ну и плюс дополнительная кнопка Обновить :-))
По желанию можно отключить автоматическое обновление, и пользоваться кнопкой.
...
Рейтинг: 0 / 0
Обновление таблиц при изменении базы другим пользователем
    #32114751
Aleksei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такая же была проблема.
Я лично пошол по такому пути:
1) Создал кнопку "Обновить" (при нажитии которой выполняется Refreh)
2)Поставил компонент Timer (который через нужный мне интервал времени
эмитирует нажатие кнопки "Обновить" Button1.OnCliсk(Form1))
3)Перед тем как изменять данные в БД опять иметирую нажатие
кнопки "Обновить"

Что касается таймера- его можно и выключить.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Обновление таблиц при изменении базы другим пользователем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]