刚学习C#一段日子突然想到一个问题
就是如何在C#Form中做时时刷新
前提:在服务器中向数据库(SQL)做增,删,改,查的工作后
     客户端的dataGrid中可以同时显现出对数据库的操作最新结果请问高手,大侠们我因该如何做??
对SQL是否因该增加监听??SQL:库名:ANDY
    表名:SS
    字段:RE(varchar)
窗体(服务器):dataGrid button1 button2 button3 button4(增,删,改,查) textBox1
窗体(客户端):dataGrid数据库为本地

解决方案 »

  1.   

    呵呵,我的做法是把显示数据的过程在增,删,改后再做一次。
    既然是在WINFORM上提交的数据何必去监视数据库有些不划算。。
      

  2.   

    一般都不需要这样。让用户去手动刷新。不过我曾经对这类需求考虑过,基本思路:
    1.相关表添加触发器。
    2.编一个中间程序,通过main(string[] args)接受参数,此程序的目的是让SQLServer调用,来向应用程序发送消息。
    3.触发器被触发后调用中间程序(使用xp_cmdshell),并可传递少许参数。
    4.中间程序发送消息给应用程序(可用UDP消息,windows消息等----udp消息测试通过,windows消息则没有),应用程序收到消息刷新视图。
      

  3.   

    大家可能没有听懂楼主的问题,lz是不是想如果其他客户端有修改记录,要自己的form能够时时更新啊这个感觉挺困难,如果写线程恐怕效率太低,其他办法还想不到
      

  4.   

    我的建议是:
    1)你要有中间层,由中间层提供缓存。
    2)如果一定要监听,也应该在中间层,因为所有的数据库提交应该经过中间层
    3)监听的前提是数据的更新不是特别频繁(平均更新周期明显小于数据提交周期,就是不频繁,否则就是频繁),如果不频繁,在中间层监听绝对是有意义的,可以省去了很多负荷。反之,则监听没什么意义,徒增“烦恼”罢了。
    欢迎大家来我的博客作客:http://blog.csdn.net/aafshzj/
    我正在写一系列关于AAF组件框架的文章。该框架能对开发工作提供很多帮助,并极大地提高开发效率。希望大家看一看并提出宝贵建议。