各位大虾,请问我用ADO的adodataset连上数据库后,设置了批添加模式之后用append和post方法添加记录没有问题,但当设置了adodataset的过滤条件后,记录被过滤后,就不能添加了,请问是什么原因,跪求!!!!

解决方案 »

  1.   

    在用append和post方法之前、
    設定「Filtered := false;」試試看。
      

  2.   

    当然不能了。
    ado在保存数据之前会对本地数据与数据库中的数据进行对比校验。你执行了过滤,导致校验失败,从而保存失败。保存前记得把Filtered设为False
      

  3.   

    多谢各位大虾的答复,但我是执行了过滤,在dbgrid中显示出了过滤的记录后,希望按一下下面的添加按钮,在dbgrid下面就添加一行,就是第按一次都添加一行这种效果.我未执行过滤前还可以添加,一执行过滤按一下添加,dbgrid的滚动轴就跑到中间去了,请各位大虾明示个中原因,我的添加代码如下.
         with adodataset1 do
           begin
               edit;
               append();
               FieldByName('staffno').Value:='';
               post;
          end;