首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从SqlDependency获取数据

从SqlDependency获取数据
EN

Stack Overflow用户
提问于 2013-02-14 22:53:01
回答 7查看 12.5K关注 0票数 10

我有一个表和一个SqlDependency,正在等待新的插入。

OnChange会在我需要的时候触发,但我不知道是否有可能获得导致数据库更改的行。

SqlDependency sql命令:

代码语言:javascript
复制
SqlCommand cmd = new SqlCommand("SELECT id FROM dbo.DataRequests", m_sqlConn);

OnChange代码:

代码语言:javascript
复制
private void OnChange(object sender, SqlNotificationEventArgs e)
{
    SqlDependency dependency = sender as SqlDependency;

    dependency.OnChange -= OnChange;

    Console.WriteLine("Info:   " + e.Info.ToString());
    Console.WriteLine("Source: " + e.Source.ToString());
    Console.WriteLine("Type:   " + e.Type.ToString());


    Console.WriteLine(DateTime.Now);

    GetMessages();

}
EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-02-14 23:04:16

没有关于导致触发依赖项的行的信息。

我猜作为一种变通方法,你可以在你的记录上加上一个时间戳,并跟踪事件最后一次触发的时间。

票数 7
EN

Stack Overflow用户

发布于 2015-08-10 15:24:45

看看这个组件:SqlTableDependency

对于对SQL Server数据库表所做的每个更改,C#代码都会收到一个事件,其中包含已更改记录的列表。

票数 9
EN

Stack Overflow用户

发布于 2013-02-14 22:58:32

根据这篇文章,你不能:http://social.msdn.microsoft.com/Forums/en-US/sqlservicebroker/thread/07234067-73e1-4db5-a4e6-0f9f0bae22ae/

您只能通过使用属性来缩小通知原因的范围

  • Source
  • Type
  • Info

提供的SqlNotificationEventArgs

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14877505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档