1
我在C#代碼中使用SqlDependency
來在數據庫中某一行中的特定列值發生更改時提醒我的應用程序。我可以使用內聯SQL來實現它。使用存儲過程的SQL依賴關係
我想用存儲過程替換它,但由於某些原因代碼沒有執行存儲過程。我正在粘貼來自我的應用程序的幾行代碼。請讓我知道如何修改它,以便我可以使用過程調用替換內聯SQL以實現相同。
var con = new SqlConnection(ConnectionString);
SqlDependency.Stop(con.ConnectionString);
SqlDependency.Start(con.ConnectionString);
var connection = new SqlConnection(con.ConnectionString);
connection.Open();
try
{
using (var command = new SqlCommand("inlinesql", connection))
{
var dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(OnDependencyChange);
using (SqlDataReader rdr = command.ExecuteReader())
{
try
{
if (rdr.HasRows)
{
_autoEvent.WaitOne();
}
else
{
continue;
}
}
finally
{
rdr.Close();
}
}
}
}
finally
{
connection.Close();
SqlDependency.Stop(con.ConnectionString);
}
void OnDependencyChange(object sender, SqlNotificationEventArgs e)
{
dosomething();
}
以下答案是否適合您?如果是這樣,請標記爲答案。謝謝! – ragerory