sqlDependency的onChange事件触发时,总是提示通知事件原因为Invalid
private void Form1_Load(object sender, EventArgs e)//初始化sqlDependency,开始监听
{
dep.OnChange += new OnChangeEventHandler(dep_OnChange);
SqlDependency.Start(conn.ConnectionString);
ListStudent();
}
private void dep_OnChange(object sender, SqlNotificationEventArgs e)
//监听方法,每一次启动时总是提示e.Info为Invalid.(无法通知)
e也就是SqlNotificationInfo
{
DialogResult dR;
dR = MessageBox.Show("The data has changed. Refresh?",e.Info.ToString(),MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if (dR == DialogResult.Yes)
{
this.Invoke(new PopulateList(ListStudent));
}
}
private void ListStudent()//读取数据
{
productListBox.Items.Clear();
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
productListBox.Items.Add(reader["name"].ToString() + ":" + reader["sex"].ToString());
}
conn.Close();
}
是否是要在sqlserver中启用相应的sql语句,才支持sqlDependenCy类?