使用Set DataGrid1.DataSource = rs后
rs.Delete后
怎样撤消删除的操作,恢复删除数据
最好有源码

解决方案 »

  1.   

    用批次更新
    Option ExplicitPublic rs As New ADODB.Recordset
    Public conn As New ADODB.ConnectionPrivate Sub cmdAddNew_Click()
     On Error Resume Next
     rs.AddNew
     
    End SubPrivate Sub cmdCancel_Click()
     rs.CancelBatch
     Unload Me
    End SubPrivate Sub cmdDel_Click()
     On Error Resume Next
     rs.Delete
     
    End SubPrivate Sub cmdOK_Click()
     rs.UpdateBatch
     Unload Me
    End SubPrivate Sub Command1_Click()
     rs.CancelBatch
     
    End SubPrivate Sub DataGrid1_SplitChange()
    DataGrid1.Splits(0).AllowSizing = False
    End SubPrivate Sub Form_Load()
     Dim strconn As String
     strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\test.mdb;Persist Security Info=False"
     conn.CursorLocation = adUseClient
     conn.Open strconn
     
     If rs.State <> adStateClosed Then rs.Close
     rs.Open "Select * from People", conn, adOpenStatic, adLockBatchOptimistic  ' 3,1 狀態
     
     Set DataGrid1.DataSource = rs
     
       
    End SubPrivate Sub Form_Unload(Cancel As Integer)
     rs.MoveFirst
     
     If rs.State <> adStateClosed Then rs.Close
     Set rs = Nothing
     Set Form1 = Nothing
    End Sub
      

  2.   

    SQL Server数据库的话,可以用第三方工具www.heibai.netLog Explorerhttp://www.ttdown.com/SoftDown.asp?ID=14562
    http://www.yiii.net/app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471
    解压缩密码 www.heibai.nethttp://www.ttdown.com/softview_8647.htm
    注册机产生的是注册码,是两个用解压缩密码解开后,压缩包里也有一个注册机的打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
    选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了
    想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行
    T-sql代码就可以了例如 如果log是delete table where ...的话,生成的文件代码就是insert table ....------------------------------------------------------------------------log explorer使用的一个问题1)对数据库做了完全 差异 和日志备份
    备份时选用了删除事务日志中不活动的条目
    再用Log explorer打试图看日志时
    提示No log recorders found that match the filter,would you like to view unfiltered data
    选择yes 就看不到刚才的记录了
    如果不选用了删除事务日志中不活动的条目
    再用Log explorer打试图看日志时,就能看到原来的日志2)修改了其中一个表中的部分数据,此时用Log explorer看日志,可以作日志恢复3)然后恢复备份,(注意:恢复是断开log explorer与数据库的连接,或连接到其他数据上,
    否则会出现数据库正在使用无法恢复)
    恢复完后,再打开log explorer 提示No log recorders found that match the filter,would you like to view unfiltered data
    选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复.
      

  3.   

    这种东西使用vb不好实现如果是使用vb.net就方便了帮你up!!