Nic*_*ick 4 c# sql notifications sqldependency
我想利用SQL Server通知在winforms应用程序中捕获我的数据库中的插入事件.我试图使用SQLDependency对象.MSDN文章使这看起来非常简单.所以我创建了一个小例子应用程序试一试.当我第一次进入我的应用程序时,事件似乎才会触发(MessageBox出现).将数据插入表中不会引发它看起来的OnChange事件.有人能告诉我我错过了什么吗?谢谢!
public Main()
{
InitializeComponent();
var check = EnoughPermission();
SqlDependency.Stop(constr);
SqlDependency.Start(constr);
if(connection == null)
{
connection = new SqlConnection(constr);
}
if(command == null)
{
command = new SqlCommand("Select ID, ChatMessage FROM dbo.Chat",connection);
}
connection.Open();
command.Notification = null;
SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
command.ExecuteReader();
}
private void dependency_OnChange(object sender, SqlNotificationEventArgs e)
{
MessageBox.Show("Change!");
}
Run Code Online (Sandbox Code Playgroud)
小智 11
当我正在执行查询通知时,我遇到了确切的问题.我检查了所有配置,代码片段,甚至TCP设置,但没有任何帮助.然后,我想出了以下查询在数据库上运行,它解决了我的问题.也许你可以尝试一下.
ALTER AUTHORIZATION ON DATABASE::[Your DB] TO sa;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7546 次 |
| 最近记录: |