【发布时间】:2017-03-26 05:27:39
【问题描述】:
有没有办法在网络中的其他用户更新或向 SQL 表中插入记录时触发事件?
我可以每隔几秒钟从数据库中读取一次表格,然后比较数据以查看是否存在差异,但这似乎会占用大量资源。
也许,我应该提到我正在使用 C#/WinForm 和 SQL 数据库,尽管我已经标记了它。
我已经看过 SQL 触发器,但它是否也需要读取触发器表,这可能是资源密集型的?我正在寻找更多在后台运行的小程序/服务,当用户对数据库进行更改时,触发它。然后,前台应用程序可以检查服务以查看是否进行了更改。我是不是想的太复杂了?
【问题讨论】:
-
是的,您可以为表创建触发器。您可以查看此问题的已接受答案:stackoverflow.com/questions/741414/…
-
你想在触发器中做什么......只是检查并记录更改或阻止更改?
-
@mako,该链接适用于 VB,而且它在概念上与我在问题中所说的相似,我试图避免这样做。
-
@Aamir 各种事情,例如刷新 gridview 以显示新的更新数据、在保存记录之前检查更改等。
-
如果您想收到任何更改的通知,那么您可以在 ADO .NET 中使用 SqlDependency。这样你就可以更新 gridview 等。但是如果你想防止基于某些条件的更改,那么你可以在 sql server 中使用触发器
标签: c# sql winforms events networking