Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

VB 2008 - SQL Server 2005 - DataGridView - botão atualizar - gravar alterações no banco de dados


O tema é amplo. Abaixo está um exemplo usando DataTable e DataAdapter. DataTable é usado para armazenar dados do banco de dados e rastrear alterações feitas pelo usuário em linhas específicas quando vinculadas à grade. O adaptador gera o sql necessário para realizar os comandos de atualização e exclusão desde que um SQL SELECT válido. Existem muitas maneiras diferentes de realizar o que você deseja, no entanto, esta é uma amostra do que você pode fazer. Depois de dar uma olhada no código abaixo, você pode querer se aprofundar em classes específicas para aprender mais sobre elas e adaptá-las às suas necessidades.

Observação:sua string de conexão e nomes de variáveis ​​no seu caso podem variar do que é mostrado nesta lista:
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 da fonte:http://vb.net-informations.com /dataadapter/dataadapter-datagridview-sqlserver.htm