有两台机器a、b,都有一个数据库,里面就一个表test,表里就一个字段table,
a做服务器,b做客户端,
要做个程序实现如下功能:
在b端设a为服务器,点一button,把b端更新的数据传给a,
如何实现?谢谢

解决方案 »

  1.   

    我不明白你为什么要用两个一样的数据库;
    我认为可以直接用b电脑用TDCOMConnection
    连接到a电脑上,用TClientDataSet读取数据。
    更新时调用ClientDataSet1.ApplyUpdates(0);
    就行了!
      

  2.   

    在a电脑上做一个服务器,
    服务器上要用一个TDataSetProvider
    的数据提供者。
      

  3.   

    读取:ClientDataSet1.Delta;
    的数据包。
      

  4.   

    我认为可以直接用b电脑用TDCOMConnection
    连接到a电脑上,用TClientDataSet读取数据。
    更新时调用ClientDataSet1.ApplyUpdates(0);
    就行了!
      

  5.   

    直接修改肯定是不行的,比如:分店1更新了Money为Money-100,分店2又更新了Money为Money-200,你在处理2的时候总不至于直接把2的数据拿来覆盖嘛。有一个笨办法(先说是笨办法)
    把所有分店的相关表的更新操作的语句保存下来(包括:Insert Update Delete,如果还有其他请一起加上)
    然后传给总店的时候,只把这些语句和参数传给总店并在总店从新执行一篇就行了。
      

  6.   

    kiboisme(还是铁棒.....针)你这样肯定不好,这样设计的表结构都不对。告诉楼主,应该是有一张汇总表和一张明细表。
    汇总表就是全公司的汇总记录。而明细表就是每个分店不同进销存记录。
    这样就可以满足你的要求了,而不需要把每个分店的什么参数来统一执行。
      

  7.   

    使用Socket技术可以实现。
    服务器端放ADOConnection、ADODataSet、DataSetProvider
    客户端放SocketConnection1、ClientDataSet。
    连接方法参考LW的分布式系统那本书。
      

  8.   

    我不明白你为什么要用两个一样的数据库;
    我认为可以直接用b电脑用TDCOMConnection
    连接到a电脑上,用TClientDataSet读取数据。
    更新时调用ClientDataSet1.ApplyUpdates(0);
    就行了!