用DataGrid绑定数据集,在删除一条记录后提示:行句柄引用了一个已删除的行或被标识为删除的行。
我把RowColChange事件里的代码注释掉还会出现这提示。
该怎么解决这问题?

解决方案 »

  1.   

    这说明你删除了两次。你删除的代码有问题吧。其实删除这种记录的方法是:删除记录集对应的记录。删除记录集后Datagrid相应记录就会删除记录的了(因为是绑定的)。^_^
      

  2.   

    不是啊。。我只删除了一次。就这段代码:
        rsData.Delete
        rsData.MoveNext
        If rsData.EOF And rsData.RecordCount > 0 Then rsData.MoveLast
      

  3.   

    改成以下:
    rsData.Delete
        rsData.MovePrevious   '显示前一条记录
        If rsData.EOF And rsData.RecordCount < 0 Then 
      msgbox"数据库已空"
     end if
      

  4.   

    原因是: rsData.MoveNext,你可以在之前加一个doevents试下.
      

  5.   

    P = rsData.AbsolutePosition
        rsData.Delete
        rsData.Requery
        rsData.MoveLast
        If rsData.RecordCount > P Then rsData.AbsolutePosition = P
      

  6.   

    把DataGrid的选取框样式改为3-dbgHighlightRow,即可。