【发布时间】:2013-01-30 09:54:43
【问题描述】:
我有一个表和一个正在等待新插入的 SqlDependency。
OnChange 会根据我的需要触发,但我不明白是否可以获取导致数据库更改的行。
SqlDependency sql命令:
SqlCommand cmd = new SqlCommand("SELECT id FROM dbo.DataRequests", m_sqlConn);
OnChange 代码:
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();
}
【问题讨论】:
-
您的问题有助于找到我的问题的答案,即如何查找事件的来源和信息!
-
由于您要定义检测更改的 SQL 命令,因此请对其进行结构化,以便了解更改的内容。例如
SqlCommand cmd = new SqlCommand("SELECT id FROM dbo.DataRequests where changeAcknowledged = 0 ", m_sqlConn);授予您可能没有对数据库的这种级别的控制。
标签: c# sqldependency