在我使用midas中,如果用BDE的话可以用query.provide.data返回一个数据包,而adoquery没有data属性,请教各位大大,如何才能放回ado的数据包?

解决方案 »

  1.   

    用IAPPServer接口。_TLB文件中有定义。
    IAppServer.AS_GetRecordset() 里边有参数,可以返回一个OleVariant 型的数据封包。
      

  2.   

    function GetRecord(): OleVariant;
    var
      adoQuery: TADOQuery;
      dspProvider: TDataSetProvider;
    begin
      adoQuery := TADOQuery.Create(nil);
      with adoQuery do
      begin
        SQL.Clear;
        SQL.Add('');
        Open;
      end;
      dspProvider.DataSet := adoQuery;
      Result := dspProvider.Data;
      adoQuery.Close;
      adoQuery.Free;
      dspProvider.Free;
      adoQuery := nil;
      dspProvider := nil;
    end;
      

  3.   

    MTS模块中用
    Dsp.GetRecords(nCount, nRecsOut, XMLOption + MetaDataOption,
                SQL,
                vParams, vOwnerData)
    返回数据
    在客户端赋给用CLientDataSet.Data
      

  4.   

    嗯,就是楼上所说的客户端调用:
    var 
     vResult: OleVariant;
     ClientDataSet1: TClientDataSet;
    begin
      ClientDataSet1:= TClientDataSet.create(nil);
      dsp.getRecords(vResult);(说明:dsp为服务器端接口的本地对象)
      ClientDataSet1.Data:= vResult;
    end;