Как обновить источник данных при его обновлении ?
Привет
я разработал приложение c#, которое подключается к sql server
моя база данных sql server содержит около 20 таблиц.
пользователь (1) запрашивает записи таблицы, приложение подключается к серверу и выполняется sql-команда для заполнения данных в gridview
проблема заключается в том , что когда другой пользователь(2) обновляет ту же таблицу, что и пользователь(1), изменения не отражаются на GridView пользователя(1).
заранее спасибо за ваш ответ.
Что я уже пробовал:
я пробовал класс c# sqldependency с помощью Service broker, но это не очень помогло мне, потому что sqldependency используется для мониторинга одной команды sql
я хочу отслеживать любые изменения, произошедшие с таблицей, и уведомлять всех пользователей об обновлении источника данных и пополнении datagridview
часть кода, который я использовал :
запуск SQL зависимостей :
SqlDependency depend = new SqlDependency(cmd); depend.OnChange += new OnChangeEventHandler(OnDependencyChange); cmd.Notification = null; SqlDependency.Start(sqlcon.ConnectionString.ToString());
OnDependencyChange :
void OnDependencyChange(object sender, SqlNotificationEventArgs e) { SqlDependency dependency = sender as SqlDependency; dependency.OnChange -= new OnChangeEventHandler(OnDependencyChange); MessageBox.Show("table is altered"); }