ClientDataset有没有ADOQuery的NextRecordSet(i)相似命令

解决方案 »

  1.   

    ADOQUERY NextRecordSet  用的是ADO原生的功能。CLIENTDATASET需要自己處理了。
      

  2.   

    我是直接传DataSetProvider.Data到ClientDataSet.Data的,通过接口的OleVariant
    可以传N个,客户端指定一下好了
    ClientDataSet.Data := Data1;
    ClientDataSet.Data := Data2;
    ...
      

  3.   

    GetNextPacket
    調用前,需設定PacketRecords的大小, 后續取得的包會被追加到舊的數據后面.返回值為取得數據筆數. 如果為0,表示已取完所有數據。詳細介紹,參考delphi help
      

  4.   

    抱歉,對NextRecordset理解錯了,參考3樓做法
      

  5.   

    我的中间层是 ADOQuery1+DataSetProvider1+ADOConnection1 
    function TMdsSvc.DataSetProvider1DataRequest(Sender: TObject; Input: OleVariant): OleVariant; 
    begin 
      ADOQuery1.SQL.Text:=Input;//接收应用层ClientdataSet发来的SQL命令 
    end; 应用层是 ClientDataSet1+WebConnection1   ClientDataset1.Close; 
            ClientDataset1.CommandText:='execute SelectTwoTable'; //该SQL过程返回2个记录集 
      ClientDataset1.Open; //向中间层发送SQL命令 
    这样ClientDataset1只接收到第1个记录集,无法接收到第2个记录集请问如何处理上述代码可以达到目的
      

  6.   

    既然在 client端無法處理,可以交給ap端處理。方法有2:
    1、在ap端聲明共用方法,供client端調用(聲明新接口方法);
    2、讓ap端callback client寫的方法;
      

  7.   

    1、若在ap端,則直接調用NextRecordSet;
    2、若在client端,則clientdataset.provider.dataset,注意判斷類型TADOQuery,做轉換後調用NextRecordSet;若你的系統有設計基類窗,那么建議采用第2種,這樣,若其他程序有需要讓ap端調用自己的方法,就比較方便了