Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
picabu
1 / 1 / 0
Регистрация: 05.10.2014
Сообщений: 95
1

Отслеживание изменений в БД сделанных другим приложением

20.10.2016, 08:16. Просмотров 690. Ответов 12
Метки нет (Все метки)

Существует подключение к базе данных firebird. На форме находится dataGridView. Пользователь может изменять данные.
Запущено одновременно два экземпляра этого приложения. Как при изменении данных в одном приложении мгновенно отобразить это в другом приложении?
Подскажите, пожалуйста, как можно это реализовать? Прописать метод по обновлению данных в БД и вызывать его через таймер нельзя, нужно как-то использовать многопоточность.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2016, 08:16
Ответы с готовыми решениями:

Сохранение изменений, сделанных в DGV, в БД
Здравствуйте! Я создал проектик который загружает базу данных в DataGridView и есть такая...

Отображение данных в DGV после сделанных изменений в БД
привет, не знаю как сделать после добавления записи в таблицу напрямую, после нажатия кнопки и чтоб...

Сохранение изменений сделанных программно в datagridview который связан с бд Access
В общем, у меня есть датагрид связанный через выбор источника данных, и он полностью заблокирован...

Связь с другим приложением
Здравствуйте! Подскажите, пожалуйста, по следующему вопросу: Есть обычное приложение на C#....

управление другим приложением
Есть flash приложение в окне браузера (допустим webBrowser на форме). Так вот... програмно нажать...

12
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
20.10.2016, 08:17 2
Цитата Сообщение от picabu Посмотреть сообщение
как можно это реализовать?
Посмотрите эту тему.
0
picabu
1 / 1 / 0
Регистрация: 05.10.2014
Сообщений: 95
20.10.2016, 16:54  [ТС] 3
Спасибо за вариант, но по заданию требуется именно мгновенное отображение изменений (без использования таймера).
Может быть, есть еще какие-нибудь способы?
0
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
20.10.2016, 17:23 4
Цитата Сообщение от picabu Посмотреть сообщение
требуется именно мгновенное отображение изменений
Чисто технически ничего мгновенного просто не может быть. На все требуется время.
Цитата Сообщение от picabu Посмотреть сообщение
есть еще какие-нибудь способы?
Возможно и есть. Но мне о них, к сожалению, неизвестно. Единственное, что приходит в голову - это распределенное приложение с центральным сервером, общей БД и подключенными клиентами. В таком варианте это в принципе реально.
0
20.10.2016, 17:23
mishau
132 / 128 / 107
Регистрация: 17.03.2009
Сообщений: 364
21.10.2016, 09:26 5
В реале я MSMQ использую. В сообщении "сендера" отправляется пакет измененных данных. В "ресивере" выполняется слушание, получение и обработка сообщений и отображение (в событии ReceiveCompletedEventHandler).
0
picabu
1 / 1 / 0
Регистрация: 05.10.2014
Сообщений: 95
21.10.2016, 18:39  [ТС] 6
А для firebird такой способ не подойдет?
Можно попросить Вас привести конкретный пример, пожалуйста.
Преподаватель по другому предмету сказал, что у самого подключения (т.е. у Fbconnection) должно существовать какое-то свойство, которое нужно использовать. Но вот какое? Нигде не могу найти.
На данный момент пока получается реализовать только через таймер и триггеры(
0
insite2012
Модератор
Эксперт .NET
4881 / 3833 / 1097
Регистрация: 12.10.2013
Сообщений: 11,101
Записей в блоге: 2
21.10.2016, 19:57 7
Цитата Сообщение от picabu Посмотреть сообщение
А для firebird такой способ не подойдет?
В принципе подойдет для всего. Можно использовать WCF+очереди MSMQ.
0
picabu
1 / 1 / 0
Регистрация: 05.10.2014
Сообщений: 95
21.10.2016, 20:22  [ТС] 8
А можно, пожалуйста, привести какой-нибудь более менее конкретный пример?
Просто ни разу не приходилось сталкиваться ни с MSMQ, ни с WCF.
Или хотя бы ссылку, где можно посмотреть/почитать про это для новичка.
0
mishau
132 / 128 / 107
Регистрация: 17.03.2009
Сообщений: 364
21.10.2016, 21:35 9
Я вот тут по форуму пошастал и нарыл топик:
Firebird, как реализовать обновление таблицы у клиента при её изменении на сервере

Еще ссылка. http://firebirdsql.org/en/net-examples-of-use/

У меня не установлен FB, поэтому проверить нет возможности.

А пример я прикрепил в виде файла. Сендер запихивает в очередь дату по нажатию кнопки Windows Forms, а ресивер выводит в консоль полученную дату.

А уж как это приспособить по FireBird разбираться вам.

p.s. Вообще практика по FB, на мой взгляд, не очень хорошая. При замене DBMS при придется переписывать код. Или писать эмулятор (забыл как это точно называется)
1
Вложения
Тип файла: zip MSMQDemoSender.zip (68.6 Кб, 10 просмотров)
ЛысыйКибер
2 / 2 / 1
Регистрация: 15.04.2018
Сообщений: 30
19.04.2018, 02:58 10
mishau, смотрел пример, приведенный выше.
После отправки очередной порции данных, растет объем памяти, выделяемый приложению. Как избежать этого?
Обнуление переменной и сообщения после передачи эффекта не принесли.
0
Sanek32
C# = ♫♪♫♪♪♫
38 / 38 / 16
Регистрация: 02.08.2014
Сообщений: 240
Завершенные тесты: 1
20.04.2018, 10:55 11
C#
1
msgQ.Close();
0
ЛысыйКибер
2 / 2 / 1
Регистрация: 15.04.2018
Сообщений: 30
20.04.2018, 18:04 12
Ни Close, ни Free, ни Destroy не спасают.
0
tezaurismosis
Администратор
Эксперт .NET
8642 / 3930 / 732
Регистрация: 17.04.2012
Сообщений: 8,703
Записей в блоге: 14
26.04.2018, 11:04 13
ЛысыйКибер, если объем выделенной памяти со временем не уменьшается, то это утечка памяти, возможно не в вашем коде. Их можно отлавливать профилировщиком памяти: Анализ проблем с памятью .NET Framework
0
26.04.2018, 11:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2018, 11:04

Отслеживание изменений
Здравствуйте, учу C#. Сделал таблицу. Когда нажимаю кнопку "Поместить" без введённых данных, то...

Отслеживание изменений на странице
Здравствуйте. Возможно ли реализовать отслеживание изменений на странице в открытом браузере...

Отслеживание изменений реестра
Здравствуйте. Возможно ли с помощью C# отслеживать изменения в реестре в реальном времени? Если да,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru