Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

VB 2008 - SQL Server 2005 - DataGridView - Schaltfläche "Aktualisieren" - Änderungen in die Datenbank schreiben

Das Thema ist breit gefächert. Unten ist ein Beispiel mit DataTable und DataAdapter. DataTable wird verwendet, um Daten aus der Datenbank zu speichern und Änderungen zu verfolgen, die der Benutzer an bestimmten Zeilen vorgenommen hat, wenn er an das Raster gebunden ist. Der Adapter generiert die SQL, die erforderlich ist, um die Befehle update und delete auszuführen, sofern ein gültiges SQL SELECT vorhanden ist. Es gibt viele verschiedene Möglichkeiten, das zu erreichen, was Sie wollen, aber dies ist ein Beispiel dafür, was Sie tun können. Nachdem Sie sich den unten stehenden Code angesehen haben, möchten Sie vielleicht in bestimmten Klassen tiefer graben, um mehr über sie zu erfahren und sie an Ihre Bedürfnisse anzupassen.

Hinweis:Ihre Verbindungszeichenfolge und Variablennamen können in Ihrem Fall von den Angaben in dieser Auflistung abweichen:

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

Angepasst von der Quelle:http://vb.net-informations.com /dataadapter/dataadapter-datagridview-sqlserver.htm