如果有一个记录集RS,执行过RS.delete以后,
记录集中会留下一个被删除的行,当读到这个行时会出错,
怎样使当执行完DELETE后连这个行也删除?谢谢!

解决方案 »

  1.   

    rs.delete后,马上执行rs.update,删除当前行,rs游标将定位到下一个可用记录上。
      

  2.   

    intDelete = MsgBox("是否真的要删除?", vbYesNo + vbInformation, "注意!")
                If rs.RecordCount <> 0 Then
                    If intDelete = vbYes Then
                        With rs
                           .Delete
                           .MoveNext
                           If .RecordCount <> 0 Then
                                   If .EOF Then .MoveLast
                           End If
                        End With
                    End If
                End If
      

  3.   

    rs.delete后,马上执行rs.refresh。
      

  4.   

    rs.delete后,不是要执rs.update或rs.refresh ,而是要strongfisher(Haiwolf)的那样,将记录集移动到下一条,如果这时删除的已经是最后一条,那么再移动到最后一条(应是删除前的倒数第二条记录)
    with rs
       .delete
       if .eof then
          .movelast
       else
          .movenext
       end if
    end with
      

  5.   

    rs.delete后,不是要执rs.update或rs.refresh ,而是要strongfisher(Haiwolf)的那样,将记录集移动到下一条,如果这时删除的已经是最后一条,那么再移动到最后一条(应是删除前的倒数第二条记录)
    with rs
       .delete
       if .eof then
          .movelast
       else
          .movenext
       end if
    end with
      

  6.   

    rs.delete后
    rs.close 
    set rs=nothing
      

  7.   

    只要在rs.Delete之后移动(rs.Move、rs.MoveFirst、rs.MoveNext、rs.MovePrevious、rs.MoveLast)一下记录位置即可.
      

  8.   

    我也碰到了这个问题,看看你的记录集所定方式是不是adLockBatchOptimistic,如果是应该要价.updatebatch
      

  9.   

    rs.delete后
    rs.Update 
    rs.Requery
      

  10.   

    rs.delete后
    rs.Update 
    rs.Requery
      

  11.   

    可能是VB里ADO的问题,安装单独的VB企业版,不要用Visual Studio里的VB如果不是,楼上各位的代码都可以解决问题
      

  12.   

    用MDAC象在扫雷,一点没有安全感,ADO是这样,DataGrid更不要说了(还不如自己做一个稳定)
    我现在用XML来存储、传递数据,可靠很多
    服务器端的ASP程序只用set rs=cn.execute(strSQL)返回只读的RecordSet
    用cn.execute(strSQL)来执行insert和update
      

  13.   

    删除操作执行完后,要执行更新,也就是update
      

  14.   

    with rs
       .Delete
       if .Eof then
          .Movelast
       else
          .Movenext
       end if
    end with
      

  15.   

    with rs
       .delete
       if .eof then
          .movelast
       else
          .movenext
       end if
    end with
      

  16.   

    with rs
       .delete
       if .eof then
          .movelast
       else
          .movenext
       end if
    end with
    ---------------------
    rs.delete
    rs.Update 
    rs.Requery都可以呀
      

  17.   

    rs.delete
    rs.Update 
    rs.Requery