DataGridView update

Status
Niet open voor verdere reacties.

JanVolker

Gebruiker
Lid geworden
15 apr 2012
Berichten
32
Beste Helpmij.nl leden,

Ik heb een DataGridView in mijn formulier dat gegevens uit de database zien. De gegevens worden opgevraagd aan de hand van het volgende script:

Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            connectionString = "provider=sqloledb;integrated security=SSPI;data source=SERVER; persist security info=false;initial catalog=db"
            connection = New OleDbConnection(connectionString)
            sql = "SELECT Id, Naam, Status FROM dbo.Gegevens WHERE (Status = 'false')"
            Try
                ds.Clear()
                connection.Open()
                oledbAdapter = New OleDbDataAdapter(sql, connection)
                Dim sts As Integer
                sts = oledbAdapter.Fill(ds)
                DataGridView.DataSource = ds.Tables(0)
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try

End Sub

Als ik hier wijzigingen in aanbreng, door bijvoorbeeld een vinkje bij 'Status' te zetten (Status = 'true') wordt dit niet opgeslagen. Daarom wil ik een Opslaan knop aan het formulier toevoegen, als ik hier op klik wil ik dat alle wijzigingen die aangebracht zijn aan het DataGridView worden opgeslagen in de database.

Code:
Private Sub BTNOpslaan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNOpslaan.Click

End Sub

Echter weet ik niet hoe de code voor deze knop er uit moet zien, zou iemand me verder kunnen helpen?


Met vriendelijke groet,
Jan Volker
 
DataGridVieuw Update

Heb je hier iets aan?

http://www.homeandlearn.co.uk/net/nets12p9.html

Gedeeltelijke tekst ide onder de link te vinden is:

So here, again, is why:

"Changes are made to the DataSet, and NOT to the Database"

To update the database, you need some extra code. Amend your code to this (the new lines are in bold, red text):

Dim cb As New OleDb.OleDbCommandBuilder(da)

ds.Tables("AddressBook").Rows(inc).Item(1) = txtFirstName.Text
ds.Tables("AddressBook").Rows(inc).Item(2) = txtSurname.Text

da.Update(ds, "AddressBook")

MsgBox("Data updated")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan