巢状数据集 中子数据集append时出现 at beginning of table 报错  而且第一条append时没报错,第二条执行到报错语句时出错。
DataSet.First;
      while not DataSet.Eof do
      begin
        if (DataSet['OutBackDate'] >= Edt_DZAreaDate.DateArea.StartDate) and
          (DataSet['OutBackDate'] <= Edt_DZAreaDate.DateArea.EndDate) then
          begin
            CDS_BQUnDZList.Append;  //报错语句
            CDS_BQUnDZList.Edit;
            DSetOP.CopyDSet(DataSet,CDS_BQUnDZList);
            CDS_BQUnDZList['InVoiceID']:=CDS_KPRec['InVoiceID'];
            DataSet.Delete;
          end
        else
          DataSet.Next;
      end;
    end;求大神解决啊

解决方案 »

  1.   

        CDS_BQUnDZList
        DSetOP
        是什么控件?    
      

  2.   

    Append方法是TDataSet的抽象方法,根据具体不同实现可能有不同行为。根据我的猜测(TClientDataSet的实现是midas.dll,没源码可看),可能完edit后,需要Post一下才能回到Open状态,才能进行下一条的Append. 
      

  3.   

    应该是dataset.delete的问题,不知道为什么要在这里写这句,去掉试试看