sql >> Databáze >  >> RDS >> Sqlserver

VB 2008 - SQL Server 2005 - DataGridView - tlačítko aktualizace - zápis změn do databáze

Téma je široké. Níže je ukázka pomocí DataTable a DataAdapter. DataTable se používá k uchovávání dat z databáze a sledování změn provedených uživatelem na konkrétních řádcích, když jsou vázány na mřížku. Adaptér generuje sql potřebný k provádění příkazů aktualizace a odstranění za předpokladu platného SQL SELECT. Existuje mnoho různých způsobů, jak dosáhnout toho, co chcete, nicméně toto je ukázka toho, co můžete udělat. Poté, co se podíváte na níže uvedený kód, možná budete chtít proniknout hlouběji do konkrétních tříd, abyste se o nich dozvěděli více a přizpůsobili je svým potřebám.

Poznámka:Váš řetězec připojení a názvy proměnných se ve vašem případě mohou lišit od toho, co je uvedeno v tomto seznamu:

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

Upraveno ze zdroje:http://vb.net-informations.com /dataadapter/dataadapter-datagridview-sqlserver.htm




  1. Najděte manažera v seznamu odděleném čárkami

  2. SQL:DELETE data ze samoodkazovací tabulky v určitém pořadí

  3. MySQL:Vyberte data z tabulky, kde datum spadá do aktuálního týdne a aktuálního měsíce

  4. sloupec mySQL pro uložení pole