如何将已删除的选定行添加到备份数据库?

时间:2018-02-24 04:40:52

标签: vb.net phpmyadmin

Private Sub Delete1_Click(sender As Object, e As EventArgs) Handles Delete1.Click
        Dim mResult
        Dim ObjConnection As New MySqlConnection()
        mResult = MsgBox("You are really want to delete the slected record?",
        vbYesNo + vbQuestion, "Removal Confirmation")
        If mResult = vbNo Then
            Exit Sub
        End If
        ObjConnection.ConnectionString = "server=127.0.0.1;userid=root;password=;database=equipment"
        ObjConnection.Open()
        Try
            Dim ObjCommand As New MySqlCommand()
            ObjCommand.Connection = ObjConnection

            ObjCommand.CommandText = "delete from equipment where asset_code='" & Me.DataGridView1.CurrentRow.Cells(0).Value & "'"
            ObjCommand.ExecuteNonQuery()
        Finally
            ObjConnection.Close()
        End Try

        Me.DataGridView1.Rows.Remove(Me.DataGridView1.CurrentRow)

    End Sub

这是删除所选行时按钮的代码,我想将其插入新数据库

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到,我特别想到两个:

*在设备表上创建一个触发器,在执行delete语句时将调用该触发器。如果您使用的是SQL Server,则可以查看特殊的'已删除的'处理由delete语句删除的所有记录的表,可以使用它将记录存储在另一个数据库中。在MySQL中,这个等效的特殊表名为' OLD'。

* DON' T执行删除语句,只需使用"逻辑删除"。这意味着在每个表格(如列)上添加对每个记录的引用,这将确定记录是否有效'或者'删除'。因此,当删除项目时,只需更改“' 0' (有效)到' 1' (删除),当查询数据时添加一个附加条件,您将指示该记录是活动的还是已删除。

后一个选项实际上是首选方式,它是高级企业应用程序(如Oracle)使用的选项。它保证您将拥有许多用户/客户更喜欢的所有可能的历史信息。当您希望清理数据库,删除不再需要的信息或已经备份的信息时,只需使用删除语句。