2010-08-06 2 views
1

C# - Winforms - SQL Serverдень Изменить Update Проблема

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

схема я реализована в

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

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

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

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

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

Если компьютер работает & Приложение работает в 12:00 и изменения даты ... Там нет техники, чтобы проверить, что:

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

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

+0

p.s. не совсем PUSH, но вроде ... plz не комментируют PUSH thingy – Moon

ответ

1

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

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

+0

вы имеете в виду рассчитать время между теперь и до полуночи, скажем, T ...установите интервал таймера на T и внутри T введите желаемый код и после того, как желаемый код T установил интервал таймера в течение 24 часов и снова запустил время ... – Moon

+0

Да, это то, что я имею в виду. –

+0

И если вы думаете о нем как о «обновлении» таймера, в отличие от таймера с измененной датой, вы можете прикрепить к нему ряд событий (включая дату изменения). – 2010-08-06 16:16:16

1

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

-2

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

+0

с таймером, проверяющим everysecond, не очень отличается от цикла – Moon

1

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

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

+0

Мне тоже нравится это ... кстати, мне нравится намного лучше, чем таймер .. но дело в том, что он вручную запланирован ... он не будет быть частью решения а = – Moon

Смежные вопросы