微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MsSqlServer 表修改监听

加几个公共属性:
string connString = @"xyz";
        System.Data.sqlClient.sqlConnection conn = null;
        System.Data.sqlClient.sqlCommand command = null;
一个开始的按钮:
    conn = new System.Data.sqlClient.sqlConnection(connString);
            command = conn.CreateCommand();
            command.CommandText = "select code,name,spec from dbo.medicine where code='07002'";

            sqlDependency.Start(connString);//启动 
            GetData();

一个方法

private void GetData()
        {


            command.Notification = null;//清除  
            sqlDependency dependency = new sqlDependency(command);//设置通知  对像每一次都要NEW
            dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);//事件每次都要加
            using (sqlDataAdapter adapter = new sqlDataAdapter(command)) //查询数据  
            {
                System.Data.DataSet ds = new DataSet();
                adapter.Fill(ds,3,"test");
                dataGridView1.DataSource = ds.Tables["test"];
            }

        }

一个响应时件:

     if (this.Invokerequired)
            {
                this.Invoke(new OnChangeEventHandler(sqlDependency_OnChange),new object[] { sender,e });
            }
            else
            {
                sqlDependency dependency = (sqlDependency)sender;
                dependency.OnChange -= sqlDependency_OnChange;
               
                GetData();
            }  


也可以不用事件 当然,这个对像要设为全局:

    if (dependency != null && dependency.HasChanges)
            {
                GetData();
            }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐