Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Всплывающие уведомления на изменениях в БД SQL


Автор: Anti9 25.11.2011, 06:02
Всем привет))
Мега программерам и просто пытливым - помогите студенту ..

Делаю приложение в Visual Studio (Visual Basic/WindowsFormsApplication). На форме размещен DataGridView, который обращается к БД SQL.
В БД делаются изменения (Create, Update или Delete), которые должны сразу отобразиться на форме приложения.

1. Не знаю как реализовать эти изменения на форме .. Триггер может в SQL написать какой-нибудь .. слышал про Notification Services .. или как-то средствами Visual Stiudio можно .. Как, подскажите?))

2. Свернуть приложение в трей - смог .. а вот теперь эти же изменения в БД (после реализации вопроса 1), которые произошли .. о них надо уведомить.
Грубо говоря, в БД находятся Задачи для пользователя. Если появилась новая - при свернутом приложении всплыло окошко "Новая Задача", а при развернутом - просто форма приложения обновилась.

Инструкции к действу, примеры, screenshot', ссылки - не скупитесь, будет все интересно прочесть. Нужно очень срочно .. диплом на носу((

Автор: jonie 22.12.2011, 21:56
есть некий SqlDependency класс для MSSQL (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldependency.aspx), но я такой никогда не использовал.
 Обычно никто в таких приложениях (никакой идиот) не вяжет даннные непосредственно на сервер баз данных, т.е. нге делает двухзвенку, а реализуеют трехзвекну. Вещи "Notification Services" по сути своей не существует. Забей (я как не искал ничего по ней путного не нашел). Есть ServiceBroker который умеет дергать SOAP методы (ну и из триггера тоже). То есть на сервере надо будет написать SOAP ухо которое и слушать, и потом как-то уведомлять клиента....

Если задача не критичная - то просто добавь TimeStamp колонку на базу и мониторь (по таймеру например) ее на клиенте (select * from blablabla whre ts>@lastTsInClient)..,..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)