【发布时间】:2014-10-29 11:34:13
【问题描述】:
考虑这个例子:
INSERT INTO [Table] (column1)
SELECT value1
如果我要在 SSMS 中执行此命令,对于 c# 表单应用程序,我需要做什么才能识别此事件?就像应用程序在此事件发生时显示 MessageBox 一样简单。我似乎无法解决这个问题或找到任何有用的数据。我曾尝试使用SqlDependency,但没有任何运气。如果那是我需要走的路,谁能帮助我更好地理解这个概念?
【问题讨论】:
-
如果我理解你,你想在你的 sql server 运行插入选择时在你的 c# 应用程序中触发一个事件?
-
@paqogomez 正确!有点像 ssms 中的触发器,我想要 C# 中的触发器
-
您想检测来自 C# 应用程序的数据库何时发生变化? SQL Server 不推送通知,因此您将不得不轮询某些内容。您可以做的一件事是在需要将日志记录到审计表的地方添加
INSERT TRIGGER,并从那里添加SELECT。 -
SQL Server 支持编写基于 CLR 的触发器。这意味着您可以在插入某些内容时运行 C# 代码。我建议您使用它并让触发器以某种方式向应用程序发送事件。
-
什么时候改变(更新)或者什么时候插入?当您尝试 SQLDependency 时发生了什么?
标签: c# sql listener service-broker sqldependency