是否有一种方法可以检测SQL中的新行插入

本文关键字:SQL 检测 插入 新行 方法 一种 是否 | 更新日期: 2023-09-27 18:06:57

我有一个c#程序,允许用户发送和接收文本消息,接收传入文本的服务器解析消息,然后将它们放入SQL数据库,我想知道是否有一种方法可以检测新行插入到此数据库中,并触发一个通知用户新传入消息的事件?

是否有一种方法可以检测SQL中的新行插入

我建议你使用SqlDependency类。

下面是一些示例代码:

这是一个很长的阅读,但我建议你看看下面的MSDN文章。

我建议使用Windows Service,它将监视SQL Server数据库中添加的消息,然后触发适当的操作。另一种方法是使用MSMQ,一旦插入到数据库中,您可以将消息发送给MSMQ。有一个表

               User Id , MessageCount  Last Message DateTime
                1           2             1/1/2014 12:30

当然有。您可以编写一个触发器,也可以使用Change Data Capture机制

你为什么不试试CLR触发器呢?

http://msdn.microsoft.com/en-us/library/ms254959%28v=vs.110%29.aspx

您可以从CLR过程中触发事件。

虽然这不是解决问题的方法。这些消息应该放在ServiceBus队列中,并在单独的线程或进程(例如Azure中的worker角色)上异步处理

插入后触发SQL

http://msdn.microsoft.com/en-us/library/ms189799.aspx

考虑到下面的评论,我的回答还是一样的:

http://www.codeproject.com/Questions/341680/Using-Triggers-in-Csharp-and-Sql-Server

这里也有类似的问题:

在表更新时,在我的。net代码中触发一个动作