我的意思是说,当有一终端改动了一个记录后,别的终端如何能自动刷新???

解决方案 »

  1.   

    添加消息,利用Server端发送消息到客户端。
    这个可能要自己写接口。
    我没试过。
      

  2.   

    摩托的方法通常是把detal交给服务器,由服务器转发给其他用户
      

  3.   

    具体方法就多了
    socket都可以的
      

  4.   

    呵呵,小小写过回调机制,你可以去参考一睛;
    源代码也是有的,到在俺的坛子上放着呢;
    还有一点我不大明白,你根本不需要进行如你所说的那样;
    没有必要,而且这个方法不太可行;
    你可以利用Reconcile Error Dialog进行控制;
    当然,你如果一定要的话,那么可以利用回调机制发送广播数据,但是速度、效率你应该考虑好;
    至于源码,我的坛子上有,有两个例子,你可以参考;
    www.nxit.net/bbs   还有一些关于多层的讨论;
      

  5.   

    MIDAS 不能实现, 因为 MIDAS 不bind 连接,也就是说没有一个很好的机制通知客户改动了数据
      

  6.   

    TO comanche(太可怕) 
    如果我实现了呢?Midas + MTS本来就可以实现;
    而且,我用TDCOMConnection就可以实现;
    你可以到www.nxit.net/bbs上看一看,源码我也在上边;
      

  7.   

    用消息可以实现,不过midas得效率我觉得不如自己写多线程的socket来的高些
      

  8.   

    没有必要,Midas 自己会处理同步问题
      

  9.   

    还有一种方式,就是你要介入到另外的线程里边进行消息的发送,而且你应该明白,DCOM每二分种 就查看一次用户信息,你可以在那儿载获,写自己的信息;
      

  10.   

    客户端定时调用中间层的方法,中间曾返回参数以var X: OleVariant
    就可以了
      

  11.   

    比较容易,自定义数据包,然后用UDP广播的方式在局域网内广播消息 。
    比如其中的一台Machine修改了数据库,就发一个数据报!Message告诉网络内的Machines,然后其他Machine接收到后修改界面状态 。
    如果是询问状态,比如询问一下网络中哪台机子正在进行什么操作,就发一个?Message进行广播 ,其他机子如果有正在进行该操作的收到消息后回复。
    我以前一个程序就是这样做的。
      

  12.   

    呵呵,本人写过COM+组件在网上聊天,
    采用的就是回调机制.
    回调机制是一个起很大作用的功能.
    可以用到很多地方.
    不过不像上面说的,
    "利用回调机制发送广播数据,",会很慢.
    因为它是一个事件,
    自动接收的.
    我的大型三层结构COM+,都是这样做的海量数据哟
      

  13.   

    to ihihonline(小小->爱被下载中……) :
    要多久才能刷新数据呢?
      

  14.   

    Dynamic Cursor
    “Dynamic Cursor是ADO所支持的Cursor中最具为例的一种,因为它允许客户端应用程序能够看到所有正被其他用户修改的数据”--摘自李维《AD0/MTS/COM+高级程序设计篇》
    原理:客户端维护的不是数据,而是数据的键值字段信息,每次从数据库中根据最新的数据来建立,也就是你访问到那条记录,ADO才从数据库中读出来给你。
    缺点:会对数据源造成沉重的负担。有的ADO驱动不支持。
    详情参见李维的书。P197