看下面的代码:
 if not F1DM.CDSF1.active then F1DM.CDSF1.active:=true;
     if F1DM.CDSF1.locate('FileId',current,[loCaseInsensitive]) then
        begin
          try
            FDM.CDSF1.edit;
            FDM.CDSF1.delete;
            FDM.CDSF1e.post;
            FDM.CDSF11.ApplyUpdates(0);
          except
          on  e:Exception do
            begin
            end;
          end;
       end;FDM为数据模块,CDSF1为CLIENTDATASET
我把CDSF1的字段都加为FIELDS,总是出现CDSF1不在EDIT或INSERT状态的错误提示,
若不都加为FIELDS,则会出现找不到FILEID字段的提示信息!
有一个表我不是做删除操作,却可以,它们写的代码也一样啊.
这是为什么啊,

解决方案 »

  1.   

    if not F1DM.CDSF1.active then F1DM.CDSF1.active:=true;
         if F1DM.CDSF1.locate('FileId',current,[loCaseInsensitive]) then
            begin
              try
                FDM.CDSF1.delete;
                FDM.CDSF1.edit;
                FDM.CDSF1e.post;
                FDM.CDSF11.ApplyUpdates(0);
              except
              on  e:Exception do
                begin
                end;
              end;
           end;
      

  2.   

    需要加fields. 只是 你修改的时候在前面加上cds.edit;你上面的代码不会报错,难道你运行报了吗?