powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменения в базе автоматически в грид
9 сообщений из 9, страница 1 из 1
Изменения в базе автоматически в грид
    #32377474
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как сделать так чтобы адаптер постоянно проверял появление изменений в бд и сразу же апдейтил грид
...
Рейтинг: 0 / 0
Изменения в базе автоматически в грид
    #32377534
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно по таймеру допустим раз в минуту проверять заполнять заново датасет, только это криво. А зачем это надо? И кто базу изменяет: твоя программа, запущенная на другом компе или какая-то другая прога?
...
Рейтинг: 0 / 0
Изменения в базе автоматически в грид
    #32377691
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
моя на другом компе

а как правильно написать событие для таймера
...
Рейтинг: 0 / 0
Изменения в базе автоматически в грид
    #32377718
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
событие можно написать вот так

Код: plaintext
1.
2.
3.
4.
private void timer1_Tick(object sender, System.EventArgs e)
{
          sqlDataAdapter1.Fill(this.dataSet11);	
}


Fill добавляет строчки, только если их нету в датасете, а если есть - обновляет.

А вообще лучше конечно, используя ремотинг, сделать DataAccess компонент с кэшированием данных и реализовать у него события и методы для сообщения о изменениях. В самом простом случае клиенты будут подписываться на событие и просто заново загружать данные.
...
Рейтинг: 0 / 0
Изменения в базе автоматически в грид
    #32377791
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А де про него почитать можно? Как его делать то?
...
Рейтинг: 0 / 0
Изменения в базе автоматически в грид
    #32377803
sadsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да уж с таймером енто слишком криво.
...
Рейтинг: 0 / 0
Изменения в базе автоматически в грид
    #32377924
Dronopotamus
по подробнее можно
...
Рейтинг: 0 / 0
Изменения в базе автоматически в грид
    #32378119
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решить эту проблему можно разными способами
- "ручками" - что-то там по таймеру, или там через таблицу с флагами или еще как
- Если сервер MS SQL2000 - то есть MS Notification Services
- Обращение к серверу через какой-либо общий объект - это объект и будет оповещать клиентов в случае изменения данных

PS> Еще важно четко себе представлять - так уж нужно это обновление? Зачем?
...
Рейтинг: 0 / 0
Изменения в базе автоматически в грид
    #32378631
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторпо подробнее можно
есть такая книжка - Microsoft .NET Remoting С.Маклин (кстати она переведена на русский), а к ней есть примеры в инете. Так вот в первом примере как раз и показывается как оповещать клиентов о каком-либо изменении с помощью события. А ещё есть тема "Полезные ссылки", там в моём сообщении вторая ссылка посвящена архитектуре распределённых приложений под .нет. Если нет времени читать всё - почитайте .NET Data Access Architecture Guide.
Если будете делать сообщения на сервере и подписывать на них клиента - то серверные обьекты должны ссылаться на клиентскую сборку, иначе получается невнятная ошибка (я долго не мог понять в чём дело), что плохо. Маклин в своей книге советует делать класс в общей сборке, этот класс должен повторять событие с сервера на клиент. Т.е. клиент подписывает на событие сервера не себя, а этот класс, а себя подписывает на событие этого класса. (В примерах к книге всё это есть)
Кстати, если кто захочет ловить события на клиенте RowChanged & ColumnChanged и пересылать параметры на сервер в соответствующие обработчики для синхронизации таблиц, тут есть глюка: покрайней мере для типизированных датасетов аргументы этих событий не сериализуются (потому что в этих аргументах есть ссылки на таблицу (e.Row.Table)). Я делал собственные события\делегаты\аргументы без ссылок на строку, а просто с набором данных (e.Row.ItemArray) - тогда всё работает.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменения в базе автоматически в грид
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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