当表更改时,Cc#SQL查询更新?

时间:2014-09-23 14:33:50

标签: c# sql winforms

有没有办法让ms sql表在每次更改表时发送信息? 我希望每次有人向表中插入值时都会更改ToolStripMenuItem的标题。

我已经制作了一个更新每个x秒的计时器,但如果仅在sql表发生更改时更新它会更好。

我的代码:

//Rexton ordre klar til bestilling
command.CommandText = "SELECT COUNT(*) from bestillinger WHERE firma = @rexton and udlevering BETWEEN @date and @dateadd";
command.Parameters.AddWithValue("@bernafon", "Bernafon");
command.Parameters.AddWithValue("@gn_resound", "GN Resound");
command.Parameters.AddWithValue("@oticon", "Oticon");
command.Parameters.AddWithValue("@phonak", "Phonak");
command.Parameters.AddWithValue("@rexton", "Rexton");
command.Parameters.AddWithValue("@siemens", "Siemens");
command.Parameters.AddWithValue("@widex", "Widex");

con.Open();
command.ExecuteNonQuery();
string result = command.ExecuteScalar().ToString();

con.Close();

if (result != "0")
{
    rextonToolStripMenuItem.Text = "rexton " + result;
    rextonToolStripMenuItem.ForeColor = System.Drawing.ColorTranslator.FromHtml("#FF1919");
}

1 个答案:

答案 0 :(得分:0)

您可以使用SqlDependency类并订阅更改事件的处理程序方法

这里是msdn链接msdn.microsoft.com/en-us/library/62xk7953(v = vs.110).aspx

SqlDependency sqlDep=new SqlDependency(SqlCommand);

sqlDep.OnChange+=new
   OnChangeEventHandler(OnChangeEventHandler);