将GridView数据复制到数据库中的表

时间:2016-12-02 10:52:38

标签: mysql asp.net vb.net

this is gridiview1

我在GridView中有数据,我需要将其复制到数据库中的表中。

假设我的第一个GridView是GridView1; GridView1的数据库源是subject_enrolled。使用完GridView1之后,需要清除数据,另外清除源表中的数据。

注意:GridView1的主要用途是显示打印页面的数据,但我想在丢失GridView1数据之前将GridView1中的所有数据保存或传输到数据库表。

到目前为止,这是我的代码:

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Me.IsPostBack Then
        Dim constr As String = ConfigurationManager.ConnectionStrings("mcbdatabseConnectionString").ConnectionString
        Using con As New MySqlConnection(constr)
            Using cmd As New MySqlCommand("SELECT Subject_ID, Subject, Units FROM mcbdatabse.subject_enrolled")
                Using sda As New MySqlDataAdapter()
                    cmd.Connection = con
                    sda.SelectCommand = cmd
                    Using dt As New DataTable()
                        sda.Fill(dt)
                        GridView1.DataSource = dt
                        GridView1.DataBind()
                    End Using
                End Using
            End Using
        End Using
    End If
    txtDate.Text = Date.Today.ToString("yyyy-MM-dd")
End Sub

1 个答案:

答案 0 :(得分:1)

当你对数据库进行一些不正常的活动时,你可以确定你的计划不好。所以在你的情况下,我无法理解你为什么要这样做。 您有更好的方法,您可以将所有数据放在一个表中,并添加一个名为'enrolld'的列来过滤数据,并在用户点击后删除或注册记录。
但是如果你想继续这种方式,我们在gridview中有一些可以提供帮助的事件:

  

RowDeleting,RowUpdating

如果某一行影响相关事件,则可以获取记录的ID:

protected sub GridView1_RowDeleting(byval sender as object, byval e as GridViewDeleteEventArgs)
    {
        dim a as object = e.Keys["Id"]
    'or
        dim a as object = e.Keys[0]
    }

要访问记录的ID并使用此功能执行您想要的操作。