VB 2008 - SQL Server 2005 - DataGridView - 更新按钮 - 将更改写入数据库

时间:2013-12-24 10:26:34

标签: sql vb.net sql-server-2005 datagridview

我是vb的新手。

目前,我正在使用SQL Server 2005数据库中的表中的数据填充“DataGridView1”。 我需要只需点击btnupdate

即可回写所有更改

此站点上的相关线程处理特定情况,并且在我的情况下VS并不接受所有代码,因此它们并没有真正帮助。

所以:

Private Sub btnupdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnupdate.Click
    'This needs to save the changes to the database'
End Sub

我可以插入一段简单的代码吗?

感谢。

1 个答案:

答案 0 :(得分:1)

主题很广泛。下面是使用DataTable和DataAdapter的示例。 DataTable用于保存数据库中的数据,并跟踪用户在绑定到网格时对特定行所做的更改。适配器生成执行更新和删除命令所需的sql,提供有效的SQL SELECT。有许多不同的方法可以实现您想要的,但是,这是您可以做的一个示例。在查看下面的代码之后,您可能希望深入了解特定的课程,以了解有关它们的更多信息并根据您的需求进行调整。

注意:您的连接字符串和变量名称可能与此列表中显示的内容有所不同:

Imports System.Data.SqlClient
Public Class Form1
    Dim connetionString As String
    Dim connection As SqlConnection
    Dim adapter As SqlDataAdapter
    Dim cmdBuilder As SqlCommandBuilder
    Dim ds As New DataSet
    Dim changes As DataSet
    Dim sql As String
    Dim i As Int32

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        connetionString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"
        connection = New SqlConnection(connetionString)
        sql = "select * from Product"
        Try
            connection.Open()
            adapter = New SqlDataAdapter(sql, connection)
            adapter.Fill(ds)
            connection.Close()
            DataGridView1.DataSource = ds.Tables(0)
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Private Sub btnupdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        '*** Process updates as made by the user in the datagridview control.
        Try
            cmdBuilder = New SqlCommandBuilder(adapter)
            changes = ds.GetChanges()
            If changes IsNot Nothing Then
                adapter.Update(changes)
            End If
            MsgBox("Changes Done")
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class

改编自来源:http://vb.net-informations.com/dataadapter/dataadapter-datagridview-sqlserver.htm