日更改更新问题

时间:2010-08-06 16:08:57

标签: c# sql winforms algorithm methodology

C# - Winforms - SQL Server

我正在构建一个应用程序,它在当天的屏幕上显示一些数据,它从数据库中获取...应用程序就像一个桌面小部件,因此数据始终可以在桌面上看到

我实施的方案

当用户对数据进行一些更改时,在更新查询后我调用“更新显示”功能...并检索新数据...

通过这样做,我没有经常/定期检查数据库中的变化,显示器上的数据总是最新的..这种变成 PUSH 技术

现在它每天都会跟踪数据库中的数据,但只显示今天的数据......当程序启动时(手动\系统启动),它会检查日期和

  • 如果当天的记录不存在,则创建它并开始显示,稍后可以修改
  • 如果记录存在,那么它只是简单地开始显示,并且有可用于修改数据的接口

现在问题是

如果PC正在运行&应用程序在中午12:00运行,日期发生变化......没有技术可以检查:

  • 当天发生了变化,必须在数据库中创建新记录,并且需要刷新显示

现在我可以通过循环不断检查日期变化并解决我的问题,但如果有更好的选择,我会很高兴...

4 个答案:

答案 0 :(得分:1)

您可以在程序启动时设置Timer,以便在午夜发生时通知您。即如果程序在早上8点启动,则将计时器设置为在午夜开火。

链接:http://msdn.microsoft.com/en-us/library/system.timers.timer(VS.71).aspx

答案 1 :(得分:1)

您可以向表单添加计时器控件,并将间隔设置为86400000 ms - 计算首次启动时的初始值。

答案 2 :(得分:1)

如果你在unix / linux上,你可以运行一个启动事件的cron作业。如果您在Windows上,请将任务调度程序设置为启动事件。

该事件可能正在运行一个小的应用程序/脚本,存储过程等,以执行您想要的操作。

答案 3 :(得分:-2)

使用Timer每秒检查当前日期。每次更改时,您都可以在数据库中创建新记录。