用delphi开发web services 时,如何返回数据集?是要转成xml格式返回的,还是有别的方法,谢谢!

解决方案 »

  1.   

    很多方法,看你自己选择了,xml 流都可以,最简单的话就是把数据集存成文件,再通过内存流压缩,转为字符流的datastring传输,效率也还可以
      

  2.   

    soap 做, 是可以返回 Variant 数据集的
    比方
    ISoapDataSet
      function GetData(条件): Variant;
      function ApplyUpdates(Delta: Variant): Variant;实现, new 一个 DataSetProvider, dataset 指明用的 query
    TSoapDataSet
      function GetData: Variant;
        result := DSP.Data;  function AppplyUpdates
      var
        ErrorCount: Integer;
      begin
        result := DSP.ApplyUpdates(Delta, 0, ErrorCount);
        
        //上面只发生一个错就退出, 在DSP的 OnUpdateError 事件中把 error message 放到 FMessage 里
        if ErrorCount <> 0 then raise Exception.Create(FMessage);
      end;