следить за значением поля таблицы сервера sql, используя c #

1

Я разрабатываю приложение aС# winform, чтобы создать напоминание о времени встречи. У меня есть таблица SQL, которая меняет время назначения клиента, и я хочу всплывать сообщение, если какое-либо время совпадает с текущим системным временем.

Мое приложение работает непрерывно. Прямо сейчас я попытался использовать таймер, который каждые 1 минуту запускал запрос в sql-таблице, чтобы получить время из sql и совместить текущее время. Меня сочтут часы и минуты.

Но я смущен, правильно или нет, чтобы запрашивать таблицу каждые 1 минуту. Даже если я создам службу Windows, он будет следовать одному и тому же процессу.

Пожалуйста, предложите мне выход. С уважением

  • 0
    Какой у Вас вопрос?
Теги:
sql-server

3 ответа

1

Запросить таблицу каждую минуту не значит, что это тяжелая нагрузка. Каковы ваши основные проблемы?

Если по какой-то причине вас беспокоит, что база данных отключена, может быть лучше загрузить встречи в какой-то тип List<AlarmTimes> и обновлять каждую минуту, если база данных доступна.

1

Net Framework имеет класс SqlDependency. Вы можете легко найти примеры его использования.

Также вы можете прочитать эту статью о уведомлениях о запросах

0

Я не знаю, как заставить базу данных вернуть вам данные.

Если в вашей таблице данных есть последнее измененное поле, но вы можете построить свой запрос, чтобы только вытащить данные, которые изменились с момента последнего обращения к базе данных. Это уменьшит количество данных, проходящих через провод. Затем вы можете сохранить список назначений на следующие 8 часов. Это добавило преимущества вашего приложения, способного приложить максимум усилий, когда база данных недоступна.

Это худший случай означает, что вы пропустите назначение, которое было добавлено или изменено, чтобы находиться внутри вашего окна обновления.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню