日期:2014-05-17  浏览次数:21081 次

C#链接数据库,推送数据
现在有这么一个小需求。

数据库中有一张表字段为ID,时间....等字段。
有人会想这张表中插入数据。

是否可以Winform简单的展示这张表的数据。能做只要数据库一插入数据,WinForm就读取出来,而不是WinFrom实时刷新再读取呢?

类似,数据库推送给Winform,让Winfrom来执行刷新???

------解决方案--------------------
引用:
现在有这么一个小需求。

数据库中有一张表字段为ID,时间....等字段。
有人会想这张表中插入数据。

是否可以Winform简单的展示这张表的数据。能做只要数据库一插入数据,WinForm就读取出来,而不是WinFrom实时刷新再读取呢?

类似,数据库推送给Winform,让Winfrom来执行刷新???


其实就是数据库依赖。

让你的winform程序依赖于数据库。

可以这么实现,

第一:定时去读数据库。如果存在数据就刷新。
第二:数据表上做触发器,当插入数据时触发,然后可以让触发器写入文件,winform程序监控文件。

我就想这两种方法。
------解决方案--------------------
这个当然不能用客户端去扫描了。而是做一个服务器端,服务器端和客户端直接联系。

服务器端负责去检查数据库的操作。然后推送给客户端。
------解决方案--------------------
SqlDependency无压力 

public void UpdateGrid()
        {
            using (SqlConnection connection = new SqlConnection(_connStr))
            {
                using (SqlCommand command = new SqlCommand("select terminal,gun_state  FROM  aaa", connection))
                {
                    command.CommandType = CommandType.Text;
                    connection.Open();
                    SqlDependency dependency = new SqlDependency(command);
                    
                    dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);