我的程序是使用MIDAS建立的三层结构,Server与Client间的网路为Internet,程序使用时分为在线和离线两种方式,正因为这样,Client端也有数据库,我的问题是:1、客户端离线时在本地数据库中新增了几百条数据,待上网时将这些数据上传到Server端,是调用远程服务器的方法一条一条的加入好呢,还是insert到ClientDataSet后再调用ApplyUpdata进行添加好呢?
2、如果在线时,客户端操作多为向服务器新增数据,而且在不同的表中添加,但客户端ClinetDataSet指定的表是由远程服务器端TAdoQuery或TAdoTable等+TDataSetProvider所确定的表,这时客户端如何进行不同表的切换?

解决方案 »

  1.   

    第一个问题:
    你可不可以这样:先在客户端把更新的数据包压缩,传到服务器后先解压再更新—————————————————————————————————
    ┏━★━━◆━━★━┓ 
    ♂我很懒            ♂        ▲自由保存帖子,浏览,关注检测
    ┃                  ┃        ▲完善的CSDN客户端工具
    ┗━☆━━◇━━━☆┛       ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
    http://www.csdn.net/expert/topic/573/573604.xml
    http://www.chinaok.net/csdn/csdn.zip
      

  2.   

    不是没人理。而是csdn的登陆页面好像有问题—————————————————————————————————
    ┏━★━━◆━━★━┓ 
    ♂我很懒            ♂        ▲自由保存帖子,浏览,关注检测
    ┃                  ┃        ▲完善的CSDN客户端工具
    ┗━☆━━◇━━━☆┛       ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
    http://www.csdn.net/expert/topic/573/573604.xml
    http://www.chinaok.net/csdn/csdn.zip
      

  3.   

    kingecg(山德鲁) :
    你的提议我也考虑过,只是感觉没有发挥分布式程序设计的优势,所以才有此一问。
      

  4.   

    kingecg(山德鲁) :
    你说的是生成一个压缩文件吗?
      

  5.   

    1、客户端离线时在本地数据库中新增了几百条数据,待上网时将这些数据上传到Server端,是调用远程服务器的方法一条一条的加入好呢,还是好呢?
    答:insert到ClientDataSet后再调用ApplyUpdata进行添加。2、如果在线时,客户端操作多为向服务器新增数据,而且在不同的表中添加,但客户端ClinetDataSet指定的表是由远程服务器端TAdoQuery或TAdoTable等+TDataSetProvider所确定的表,这时客户端如何?
    答:将表明写入OwnerData参数,中间层获取并进行不同表的切换。
      

  6.   

    是啊—————————————————————————————————
    ┏━★━━◆━━★━┓ 
    ♂我很懒            ♂        ▲自由保存帖子,浏览,关注检测
    ┃                  ┃        ▲完善的CSDN客户端工具
    ┗━☆━━◇━━━☆┛       ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
    http://www.csdn.net/expert/topic/573/573604.xml
    http://www.chinaok.net/csdn/csdn.zip
      

  7.   

    可以在应用程序中通过winapi调用winrar等压缩软件的命令行工具—————————————————————————————————
    ┏━★━━◆━━★━┓ 
    ♂我很懒            ♂        ▲自由保存帖子,浏览,关注检测
    ┃                  ┃        ▲完善的CSDN客户端工具
    ┗━☆━━◇━━━☆┛       ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
    http://www.csdn.net/expert/topic/573/573604.xml
    http://www.chinaok.net/csdn/csdn.zip
      

  8.   

    1:能在客户段处理的东西不要放到服务器段
    2:你好象是处理多个表的Join吧!进行不同表的切换?
    是说改变ClidentDataSet指向的服务段?如果是这样你何不用commandtext呢?
    这样在服务器的Query就一个,
      

  9.   

    一般处理多个表的Join就是Datasetprovider的beforeupdateRecord.
    楼主的问题,不知道我是否理解楼主的问题!