高分请叫MIDAS的一个问题我做了一个MIDAS程序的服务器端和客户端
问题是:当客户端进行了数据的添加、修改后,假设某种原因使客户端与
服务器端断开(如:网络原因,这种断开现象应该说是很多的)。此时就
是客户端重新连接了服务器端,客户端数据也无法更新回远程数据库,我
想肯定有这个功能只是我不会用,(我的意思是当连接断开后,客户端
能够手工重新连接并把断开前的更改数据更新回数据库)

解决方案 »

  1.   

    你写一段错误捕捉
    Try
    ....
    ...
    except 
    ClientDataSet1.CancleAppupdate(0); 
    end;
      

  2.   

    try 
      clientdataset1.applyupdata(0);//尝试更新
    except//出现例外,更新不成功
    on exception do
    begin
      try//尝试关闭DCOMConnection1的连接,并关闭SimpleObjectbroker1到原来服务器的连接
        DCOMConnection1connected:=False;//尝试关闭原来的连接
        SimpleObjectBroker1SetConnectStatus(DCOMConnection1.ConputerName,False);
      finally
      try
        DCOMConnection1.ComputerName:=SimpleObjectBroker1.GetComputerForProgID(DCOMConnection1.ServerName);//取得可用应用程序服务器的机器名称
        DCOMConnection1.Connected:=True;//再次建立连接
        ClientDataSet1.ApplyUpdatas(0);//再次更新连接
      except//连接失败或数据更新失败时,表示可能已经没有可用的连接
             //则直接将数据写到一个指定的临时文件中
      on EBrokerException do
         ClientDataSet1.SaveToFile('Sample.dat');//保存数据
    end;
    end;
    end;
    end;
    end;