sql >> Base de Datos >  >> RDS >> Sqlserver

VB 2008 - SQL Server 2005 - DataGridView - botón de actualización - escribir cambios en la base de datos

El tema es amplio. A continuación se muestra una muestra que usa DataTable y DataAdapter. DataTable se utiliza para almacenar datos de la base de datos y realizar un seguimiento de los cambios realizados por el usuario en filas específicas cuando se vincula a la cuadrícula. El adaptador genera el sql necesario para llevar a cabo los comandos de actualización y eliminación siempre que un SQL SELECT válido. Hay muchas maneras diferentes de lograr lo que quieres, sin embargo, esta es una muestra de lo que puedes hacer. Después de echar un vistazo al código a continuación, es posible que desee profundizar en clases específicas para obtener más información sobre ellas y adaptarlas a sus necesidades.

Nota:Su cadena de conexión y los nombres de las variables en su caso pueden variar de lo que se muestra en este listado:

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

Adaptado de la fuente:http://vb.net-informations.com /dataadapter/dataadapter-datagridview-sqlserver.htm