语句:
if not ADOQryDetail.IsEmpty then
      ADOQryDetail.Delete;
当ADOQryDetail里只有一条纪录时,删除回有错误;
错误提示:BOF或EOF中有一个是真,或当前的记录已被删除,所需要的操作要求一个当前的记录(我dbgrid是连接ADOQuary,locktype为ltBatchOptimistic)

解决方案 »

  1.   

    应该有方法的吧。
    实在不行,用SQL语句“delete xxx where xxx=xxx”就是了。
      

  2.   

    你用的是Delphi5吗?
    如果是请打两个补丁,就没有这个问题了。补丁可以在网上搜一下
      

  3.   

    表里面有没有设置有主键,没有delete再刷记录就可能会出错
      

  4.   

    反过来写可以吧 
      if Query.IsEmpty then
        exit
      else
        Query.Delete;
      

  5.   


    (我dbgrid是连接ADOQuary,locktype为ltBatchOptimistic)
    我这里操作的是主从表,从表用的是批量更新的;
    点击[修改]时,可以增行/删行,不影响数据库的
      

  6.   

    不是空,是当ADOQryDetail里只有一条纪录时,删除会有错误; 
      

  7.   

    好拉,呵呵;
    刷新从表时,先First下;
    ADOQryDetail.First;