我在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
答案 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并使用此功能执行您想要的操作。