![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 18.04.2016
Сообщений: 2
|
![]()
Господа программисты, подкиньте идею.
Имеется многопользовательское mdi-приложение баз-данных (C# WinForms - sqlserver). Большинство форм - это сетка данных DataGridView расширенная на всю область. Обновление DataGrid-ов происходит при первом открытии формы. Если один пользовтаель изменил строчку через свою программу, то другой пользовтаель не видит эти изменения. т.е. сетка DataGrid всегда показывает старые данные. Хочу создать механизм обновления строчек DataGrid-ов. |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 18.04.2016
Сообщений: 2
|
![]()
1. В БД создаю таблицу DataUpdate (Datetime ActionDate, string ActionName, string TableName, int RowID);
2. В БД на все Insert, Update, Delete всех таблиц создаю триггеры. Все триггеры дополнительно пишут в таблицу DataChangeTable ('18.04.2016 12:10:33', 'UPD/DEL/INS', 'PERSON', 88); 3. В С# cоздаю класс UpdateManager, который каждые 5 сек. получает новые данные из таблицы DataChangeTable и всем своим подписчикам вызывает метод OnDataChanged. 4. Все DataGrid делаю подписчиками UpdateManager-а, всем реализую метод OnDataChanged. |
![]() |
![]() |
![]() |
#3 |
Дружите с Linq ;)
Форумчанин
Регистрация: 15.10.2008
Сообщений: 823
|
![]()
Лучше использовать не опрос,а event broker. Таким образом Вы снизите нагрузку на базу.
Вообще наилучший вариант не использовать таблицу, триггеры и т.д. Используйте RabbitMq или акторную модель передачи данных (akka.net etc). Такие решения будут легко масштабироваться, не создают лишнюю нагрузку на БД, смена базы пройдет менее болезненно, дает запас фич на будущее.
Не давай организму поблажки, каждый день тренируй его в шашки..
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
макрос обновления данных из интернета | Legame | Microsoft Office Excel | 14 | 01.10.2015 09:26 |
Срабатывание антивирусов на механизм обновления проекта | Daemvil | Общие вопросы Delphi | 7 | 28.03.2015 15:13 |
Механизм взаимодействия с базой данных | arhiepiskop | Помощь студентам | 1 | 02.06.2010 18:31 |
База данных,механизм ADO | 9rki | Помощь студентам | 3 | 27.05.2010 13:32 |
Редактирование данных БД, расположенных на разных формах | mn-home | БД в Delphi | 3 | 06.03.2009 13:38 |