如何在SQL Server数据库中更新信息时触发程序?

时间:2013-01-27 05:24:55

标签: c# .net sql-server-2008

我想创建一个应用程序,在其他用户从数据库更新的表值时更新其控件属性。我通过计时器的帮助每秒刷新一个控件找到一个解决方案,但是我想在更新一个值后不想要更改每个第二个SQL Server,这是不好的?

2 个答案:

答案 0 :(得分:2)

基本上,您需要在更新表时发布SQL帖子。这称为推模型(相反是您正在进行的拉模型)。

您可以使用SqlDependency。见http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldependency%28v=vs.100%29.aspx

但是,推送方法会产生一些开销。许多应用程序每隔n秒(3 - 10)执行一次查询,然后仅在属性更改时更新控件。

这真的是一种优化权衡。使网络请求(拉模型)比让SQL服务器执行触发器然后发送更新消息(推送模型)更“昂贵”吗?

答案 1 :(得分:1)