Avatar billede thomas_n Nybegynder
28. oktober 2011 - 12:25 Der er 1 løsning

Opdatering af data i datagrid

Hej,

Håber I kan hjælpe..!

Jeg har et problem når jeg opdaterer ændringer i min datagrid.
hvis jeg eksempelvis tilføjer en ny linje i datagrid'en og gemmer den via SaveChanges() i nedenstående, så bliver ændringen godt nok gemt i databasen.
Hvis jeg efterfølgende trigger SaveChanges() igen, får jeg endnu en record i databasen og det sker lige så mange gange som en bruger klikker på Save knappen.

Er det ikke muligt at fortælle datasettet dsInv at ændringerne er gemt og efterfølgende skal deres rettes i data før at datasettet opdateres?


'Fyld datagrid med eventuelle data.

Private Sub FillGrid()
connetionString = "Data Source=SERVER;Initial Catalog=TEST;User ID=sa;Password=password"
        connection = New SqlConnection(connetionString)
        sql = "select * from InvoiceLines"
        Try
            connection.Open()
            adapter = New SqlDataAdapter(sql, connection)
            adapter.Fill(dsInv)
            connection.Close()
            GridControl1.DataSource = dsInv.Tables(0)
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
End Sub

'Gem ændringer

Private Sub SaveChanges()
Try
            cmdBuilder = New SqlCommandBuilder(adapter)
            changes = dsInv.GetChanges()
            If changes IsNot Nothing Then
                adapter.Update(changes)
                cmdBuilder.RefreshSchema()
            End If
            MsgBox("Changes Done")
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
End Sub

V.h.
Thomas
Avatar billede thomas_n Nybegynder
28. oktober 2011 - 13:44 #1
Eksperimenterede og fandt selv løsningen..!

Private Sub SaveChanges()
Try
            cmdBuilder = New SqlCommandBuilder(adapter)
            changes = dsInv.GetChanges()
            If changes IsNot Nothing Then
                adapter.Update(changes)
                cmdBuilder.RefreshSchema()
                dsInv.AcceptChanges()
            End If
            MsgBox("Changes Done")
        Catch ex As Exception
            MsgBox(ex.ToString)
End Try
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I dag 14:04 Pixeline cd’er til PC Af Mathilde i Windows
I dag 01:14 Windows 10 - IIS 10 Af bsn i Windows
I går 20:39 Boot fra USB Af poulmadsen i Windows
I går 11:43 Gmail-ikon på skrivebordet Win 10 Af ErikHg i Fri debat
I går 09:22 Lopslag Af Luffe i Excel