好久没有写博客了,感觉有点生疏了。
今天和大家分享一个数据库变化自动通知客户端的技巧,现在还是局限在sqlServer上的使用,在文章最后附上源码
今天的主角就是SqlDependency--实现数据库中对于某一张表的监视,好了。废话不多说了,开始搞,今天我新建了个简单的WPF项目如下:
1、首先需要对数据库的设置:
** 1、设置某个数据库代理的回滚*ALTER DATABASE [test] SET NEW_BROKER WITH ROLLBACK IMMEDIATE;* 2、设置某个数据库的代理*ALTER DATABASE [test] SET ENABLE_BROKER;* 3、查询某个数据库是否已经启动了代理* SELECT name,is_broker_enabled FROM sys.databases WHERE name = 'yaozheng'
* is_broker_enabled 为0表示未启动代理 1表示已启动代理
2、开始c#代码,初始化方法中启动监听器
///
/// 初始化
///
publicMainWindow()
{
InitializeComponent();
// 启动侦听器来接收来自通过连接字符串指定的 SQL Server 实例的依赖项更改通知。
SqlDependency.Start(_connStr);
SelectData();
}
3、写一个简单的数据库查询SelectData,重点就是
SqlDependency dependency = newSqlDependency(command);//事件注册,这是核心