我首次用D6+Ado作一个小型MIS,在过滤字段不超过两个时通常使用Filter属性了,可是出了一个问题。
  比如,一个TAdoDataSet控件,已设好过滤条件,假设为
  Ads.Filter := 'Field1=1 and Field2=2';
  结果有两条数据满足,被显示出来了,当我修改这两条记录时,修改涉及到了过滤条件中的某字段,如Field1,保存第一条时没问题,可是当我保存第二条时,会出错,提示:
  BOF 或 EOF 中有一个是真,或者当前的记录已被删除,所需的操作要求一个当前的记录。
  而记录的修改也保存了,我不得其解。望高手指点。
  100分吧。谢了。

解决方案 »

  1.   

    这个错误是Ado的问题,你要找个ADO For DElphi的升级包安装才行
    用D7就没这个问题
      

  2.   

    我以前用D5的ADO时总出错,没想到D6也这样,哎,这个升级包哪有当的呀?
      

  3.   

    不对呀,我找来找去只有D5的ADO补丁包,没有D6的,这个问题可能还是出在我身上的。
      

  4.   

    呵,奇怪,好了,在调试状态下会出错,可是直接运行EXE,竟然好好的。
      

  5.   

    我有ADO For DElphi的升级包,你通过信息告诉我你的MAIL,我给你发过去
      

  6.   

    看看TAdoDataSet的基类定义!你就知了!