把ClientDataSet.data传到中间层用ApplyUpdate进行更新有时会出现这个错误,错误只出现一次

解决方案 »

  1.   

    我的代码如下
      try
        try
          cdsRecipeMain.Data:=RecipeMain;//获得客户端数据
          cdsRecipeDetail.Data:=RecipeDetail;
          Recipeid:=GetMaxRecipeID;//获得最大收据号
          cdsRecipeMain.Edit;
          cdsRecipeMain.FieldByName('RecipeID').AsInteger:=RecipeID;
          cdsRecipeMain.Post;
           with cdsRecipeDetail do
          begin
            First;
            while not Eof do
            begin
              Edit;
              FieldByName('RecipeID').AsInteger:=RecipeID;
              next;
            end;
          end;      cdsRecipeMain.ApplyUpdates(0);   //保存数据
          cdsRecipeDetail.ApplyUpdates(0);
               
          SetComplete;
        except
          SetAbort;
        end;
      finally
        cdsRecipeMain.Active:=false;
        cdsRecipeDetail.Active:=false;
      end;
      

  2.   

    except
          SetAbort;
        end;
      finally
        cdsRecipeMain.Active:=false;
        cdsRecipeDetail.Active:=false;
      end;
    把这两部分换一下试试