Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменения в базе автоматически в грид / 9 сообщений из 9, страница 1 из 1
15.01.2004, 17:13
    #32377474
sadsaf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в базе автоматически в грид
Как сделать так чтобы адаптер постоянно проверял появление изменений в бд и сразу же апдейтил грид
...
Рейтинг: 0 / 0
15.01.2004, 17:35
    #32377534
Dronopotamus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в базе автоматически в грид
Можно по таймеру допустим раз в минуту проверять заполнять заново датасет, только это криво. А зачем это надо? И кто базу изменяет: твоя программа, запущенная на другом компе или какая-то другая прога?
...
Рейтинг: 0 / 0
15.01.2004, 18:59
    #32377691
sadsaf
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменения в базе автоматически в грид
моя на другом компе

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

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


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

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

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


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