当使用特定列值将新行插入到 MS SQL 中时,我想收到一个“更改”事件。
下面是我目前使用的代码,它工作得很好,除了它会在 [Status] 列中的任何行值更改为/或从“NEW”时触发一个事件。
public void InitialiseDependencyWORK(Action onDependencyMethod)
{
this.onDependencyMethod = onDependencyMethod;
string sqlCommandText = "SELECT [Symbol] FROM [JJ].[Orders] WHERE [Status] = 'NEW'";
using (SqlCommand command = new SqlCommand(sqlCommandText, conn))
{
Dependency = new SqlDependency(command);
Dependency.OnChange += new OnChangeEventHandler(OnDependencyChange);
using (SqlDataReader reader = command.ExecuteReader())
{
// Process the DataReader.
}
}
}
void OnDependencyChange(object sender,
SqlNotificationEventArgs e)
{
// Handles NEW rows
}
我只对使用 [Status] = "NEW" 插入新行感兴趣,但是当没有新插入但 [Status] 已从“NEW”更改为其他任何内容时,此事件也会触发。
如何只有在有新的插入时才得到触发事件?
我想在插入新闻行时收到触发事件,如下面的第 2 行:
OrderID, Status
1,Done
2,NEW
我不希望它触发,因为第 2 行刚刚更新了其状态 - 实际上没有要处理的新行:
OrderID, Status
1,Done
2,Done
我怎样才能做到这一点?
繁花不似锦
犯罪嫌疑人X
翻阅古今
MYYA
随时随地看视频慕课网APP
相关分类