使用c#监视SQL server表的字段值
本文关键字:字段 server 监视 SQL 使用 | 更新日期: 2023-09-27 18:19:16
我正在开发一个c# winform应用程序来创建约会时间提醒。我有一个SQL表有不同的约会时间的客户,我想弹出一个消息,如果任何时间与当前系统时间匹配。
我的应用程序正在连续运行。现在我已经尝试使用一个计时器,它会每1分钟对sql表进行查询从SQL中获取时间并匹配当前时间。我被小时和分钟所消磨。
但我很困惑是否正确或不查询表每1分钟。即使我创建一个windows服务,它也会遵循相同的过程。
请给我一条出路。关于
每分钟查询一个表无论如何都不是一个繁重的负载。你最关心的是什么?
如果您担心数据库由于某种原因处于离线状态,那么最好将约会加载到某种类型的List<AlarmTimes>
中,并在数据库可用的情况下每分钟更新一次。
. Net Framework有SqlDependency类。你可以找到很容易使用它的例子。
你也可以阅读这篇关于查询通知的文章
我知道没有办法让数据库向您推送数据。
如果你的数据表上有一个最后修改的字段,你可以构造你的查询,只拉下自上次与数据库通信以来发生变化的数据。这将减少通过网络传输的数据量。然后你可以列出接下来8小时左右的约会清单。这有一个额外的好处,当数据库不可达时,你的应用程序能够提供最好的努力。
在最坏的情况下,这将意味着您错过了在更新窗口中添加或修改的约会。