DBGridEh1.SelectedRows.Delete;为什么执行上面那代码时,出现:
BOF 或 EOF 中有一个是"真",或者当前的记录已被删除,所需的操作要求一个当前的记录.,

解决方案 »

  1.   

    当前已经有选中记录,执行后的确也是删除了记录可就是一直有那个提示"BOF 或 EOF 中有一个是"真",或者当前的记录已被删除,所需的操作要求一个当前的记录"DELPHI 6 SP2 + WIN 2000
      

  2.   

    楼主是不是想删除某一行数据呀, 如果那些
    你就不用数据集组件的Delete方法就可以删除当前行的.
      

  3.   


    DBGridEh1.DataSource.DataSet..Delete;
    试试!
      

  4.   

    修正一下:
    DBGridEh1.DataSource.DataSet.Delete;
      

  5.   

    试试下面的:不好意思,刚才没看到需要删除多条记录!
        DBGridEh1.DataSource.DataSet.DisableControls;
        DBGridEh1.SelectedRows.Delete;
        DBGridEh1.DataSource.DataSet.Refresh;
        DBGridEh1.DataSource.DataSet.EnableControls;
      

  6.   

    TO: hqhhh(枫叶) 试试下面的:不好意思,刚才没看到需要删除多条记录!
        DBGridEh1.DataSource.DataSet.DisableControls;
        DBGridEh1.SelectedRows.Delete;
        DBGridEh1.DataSource.DataSet.Refresh;
        DBGridEh1.DataSource.DataSet.EnableControls;用了这个还是不行,问题仍然存在。
      

  7.   

    这是Delphi的ADO包的BUG,去下载一个ADO的升级包。
      

  8.   

    是Delphi Ado控件的升级包。
      

  9.   

    大哥,我的DELPHI 6 可是已经是 SP2 了
      

  10.   

    if Not ADOQuery1.EOF then
      DBGridEh1.SelectedRows.Delete;试一下吧。我也不知道行不行!
      

  11.   

    你的表是不是用FILETER了,如果用FILETER回经常出现这样的问题