Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

VB 2008 - SQL Server 2005 - DataGridView - pulsante di aggiornamento - scrivi le modifiche al database

L'argomento è ampio. Di seguito è riportato un esempio che utilizza DataTable e DataAdapter. DataTable viene utilizzato per conservare i dati dal database e tenere traccia delle modifiche apportate dall'utente a righe specifiche quando associate alla griglia. L'adattatore genera lo sql necessario per eseguire i comandi di aggiornamento ed eliminazione a condizione di un SQL SELECT valido. Esistono molti modi diversi per ottenere ciò che desideri, tuttavia, questo è un esempio di ciò che puoi fare. Dopo aver dato un'occhiata al codice qui sotto, potresti voler approfondire le classi specifiche per saperne di più e adattarle alle tue esigenze.

Nota:la tua stringa di connessione e i nomi delle variabili nel tuo caso possono variare da quanto mostrato in questo elenco:

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

Adattato dalla fonte:http://vb.net-informations.com /dataadapter/dataadapter-datagridview-sqlserver.htm