Постоянно обновляемые данные в приложении из базы данных - PullRequest
1 голос
/ 10 августа 2010

Я пишу приложение, которое должно постоянно обновлять отображаемые данные из представления в базе данных.В настоящее время он периодически опрашивает весь набор данных и отображает его заново.Я изменяю его, чтобы сделать его более эффективным, и меня интересуют мнения людей о том, как сделать это наиболее эффективно.

Приложение представляет собой приложение Windows Forms и использует DataGridView для отображения данных.Сервер базы данных - SQL Server 2008.

Я читал о функциях отслеживания изменений SQL Server, и мне интересно, может ли это быть актуально?Кто-нибудь может предложить какие-нибудь хорошие подходы, чтобы взять здесь?Мне нужно, чтобы он вставлял, обновлял и удалял строки в приложении, не влияя на состояние текущей выбранной строки или положение полос прокрутки.

Спасибо!

Ответы [ 2 ]

1 голос
/ 10 августа 2010

Самый простой способ - это запрос по столбцу метки времени. При первом запуске приложения оно будет запрашивать весь набор данных и запоминать наибольшую временную метку. Затем он запросит запрос where timestamp > @currentTimestamp и запомнит его снова.

0 голосов
/ 10 августа 2010

Если бы я занимался этой проблемой, я бы рассмотрел ее следующим образом:

  1. Создание проекта базы данных SQL Server
  2. Добавление триггера в проект
  3. Пусть этот класс отправляет уведомления, возможно, с использованием MSMQ, в заинтересованное приложение или
  4. Изучите регистрацию обработчика событий с этим классом SQL Server ... не уверен, как или если это будет работать, но поднимаетДля вашего приложения событие из триггера было бы идеальным

Я могу получить более конкретную информацию, если вам нужно, но это общий подход

Информация о триггерах в проектах SQL Server: http://msdn.microsoft.com/en-us/library/938d9dz2.aspx

...