Проблема обновления смены дня - PullRequest
1 голос
/ 06 августа 2010

C # - Winforms - SQL Server

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

схема , которую я реализовал,

, когда пользователь фиксирует какое-либо изменение данных, после запроса на обновление я вызываюфункция «обновление дисплея» ... и новые данные извлекаются ...

, поэтому мне не приходится постоянно / периодически проверять изменения в базе данных, а данные на дисплее всегда текущие.. этот вид становится PUSH технология

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

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

, теперь проблема в

Если компьютер работает и приложение работает на 12:00:00 и дата меняется ... Нет способа проверить, что:

  • день изменился, и в базе данных должна быть создана новая запись, а отображение необходимо обновить

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

Ответы [ 4 ]

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

Если вы работаете в Unix / Linux, вы можете запустить задание cron, которое запускает событие. Если вы работаете в Windows, настройте планировщик задач на запуск события.

И этим событием может быть выполнение небольшого приложения / скрипта, хранимой процедуры и т. Д. Для выполнения того, что вы хотите.

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

Вы можете добавить элемент управления таймера к форме и установить интервал в 86400000 мс - вычисление начального значения при первом запуске.

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

Вы можете установить таймер при запуске программы, чтобы уведомлять вас о наступлении полуночи. то есть, если программа запускается в 8:00, тогда установите таймер на срабатывание в полночь.

Ссылка: http://msdn.microsoft.com/en-us/library/system.timers.timer(VS.71).aspx

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

Используйте Таймер , чтобы проверять текущую дату каждую секунду. Каждый раз, когда он меняется, вы можете создать новую запись в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...