Updaten van gegevens

Status
Niet open voor verdere reacties.

weswillem

Gebruiker
Lid geworden
8 nov 2011
Berichten
310
Hierbij nogmaals een vraag ter lering.
Daarna zal de INSERT en DELETE wel lukken door mij.
Ik probeer mijn db te updaten met de volgende code.
Iemand die de juiste formulering voor mij heeft.
Code:
Private Sub BewerkenGegevens()
        Conn.Close()
        Dim strSqlUpdate As String
        ds.Clear()
        Try

            strSqlUpdate = "Update Gegevens SET "
            strSqlUpdate = strSqlUpdate & "Naam='" & txtNaam.Text = ", & "
            strSqlUpdate = strSqlUpdate & "Voornaam='" & txtVoornaam.Text = ", & "
            strSqlUpdate = strSqlUpdate & "Voorl='" & txtVoorl.Text = ", & "
            strSqlUpdate = strSqlUpdate & "Gebdata='" & txtGebdata.Text = ", & "
            strSqlUpdate = strSqlUpdate & "Gebplaats='" & txtGebplaats.Text = ", & "
            strSqlUpdate = strSqlUpdate & "Adres='" & txtAdres.Text = ", & "
            strSqlUpdate = strSqlUpdate & "Huisnr='" & txtHuisnr.Text = ", & "
            strSqlUpdate = strSqlUpdate & "Postcode='" & txtPostcode.Text = ", & "
            strSqlUpdate = strSqlUpdate & "Plaats='" & txtPlaats.Text = ", & "
            strSqlUpdate = strSqlUpdate & "Telefoon='" & txtTelefoon.Text = ", & "
            strSqlUpdate = strSqlUpdate & "Mobiel='" & txtMobiel.Text = ", & "
            strSqlUpdate = strSqlUpdate & "School='" & txtSchool.Text = ", & "
            strSqlUpdate = strSqlUpdate & "SLB='" & txtSLB.Text = ", & "
            strSqlUpdate = strSqlUpdate & "TelSLB='" & txtTelSLB.Text = ", & "
            strSqlUpdate = strSqlUpdate & "TelOuder1='" & txtTelOuder1.Text = ", & "
            strSqlUpdate = strSqlUpdate & "TelOuder2='" & txtTelOuder2.Text = ", & "
            strSqlUpdate = strSqlUpdate & " WHERE PersID = " & PersID
            MsgBox(strSqlUpdate)

            ds = New DataSet
            da = New OleDb.OleDbDataAdapter(strSqlUpdate, Conn)
            Dim cb As New OleDb.OleDbCommandBuilder(da)
            da.Update(ds, "Zorgboerderij")

        Catch ex As Exception
            MessageBox.Show(ex.Message, "Updaten Gegevens", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally

            Conn.Close()
            da.Dispose()
        End Try

    End Sub
 
Hoi,

Wat is precies het probleem? Is de SQL code niet correct?

Volgens mij zou de SQL code zo moeten zijn:
Code:
        Dim strSqlUpdate = "UPDATE Gegevens SET Naam='" & txtNaam.Text & "', Voornaam='" & txtVoornaam.Text & "', Voorl='" & txtVoorl.Text & "', Gebdata='" & txtGebdata.Text _
            & "', Gebplaats='" & txtGebplaats.txt & "', Adres='" & txtAdres.Text & "', Huisnr='" & txtHuisnr.Text & "', Postcode='" & txtPostcode.Text & "', Plaats='" & txtPlaats.Text _
            & "', Telefoon='" & txtTelefoon.Text & "', Mobiel='" & txtMobiel.Text & "', School='" & txtSchool.Text & "', SLB='" & txtSLB.Text & "', TelSLB='" & txtTelSLB.Text _
            & "', TelOuder1='" & txtTelOuder1.Text & "', TelOuder2='" & txtTelOuder2.Text & "' WHERE PersID='" & PersID & "'"

MartinJM

[edit]
De code ziet er niet helemaal netjes uit in de browser, maar als je de code in vb plakt, ziet hij er al beter uit...
[/edit]
 
Laatst bewerkt:
He. Martin,
De sql die je opgaf werkt.
Ik dacht dat mijn sql zo overzichtelijker was.
Alleen ik krijg geen foutmelding meer. maar slaat ook niet op in de tabel
Code:
Private Sub BewerkenGegevens()
        Conn.Close()
        ds.Clear()
        mySQL = "select * from Gegevens where PersID=" & PersID 'vullen van data visuliazer
        da = New OleDb.OleDbDataAdapter(mySQL, Conn)
        da.Fill(ds, "Zorgboerderij")

        Try
            Dim strSqlUpdate As String = "UPDATE Gegevens SET Naam='" & txtNaam.Text & "', Voornaam='" & txtVoornaam.Text & "', Voorl='" & txtVoorl.Text & "', Gebdata='" & txtGebdata.Text _
                & "', Gebplaats='" & txtGebplaats.Text & "', Adres='" & txtAdres.Text & "', Huisnr='" & txtHuisnr.Text & "', Postcode='" & txtPostcode.Text & "', Plaats='" & txtPlaats.Text _
                & "', Telefoon='" & txtTelefoon.Text & "', Mobiel='" & txtMobiel.Text & "', School='" & txtSchool.Text & "', SLB='" & txtSLB.Text & "', TelSLB='" & txtTelSLB.Text _
                & "', TelOuder1='" & txtTelOuder1.Text & "', TelOuder2='" & txtTelOuder2.Text & "' WHERE PersID='" & PersID & "'"

            da = New OleDb.OleDbDataAdapter(strSqlUpdate, Conn)
            Dim cb As New OleDb.OleDbCommandBuilder(da)
            da.UpdateCommand = cb.GetUpdateCommand ' Als UPDATE commando
            da.Update(ds, "Zorgboerderij")

        Catch ex As Exception
            MessageBox.Show(ex.Message, "Bewerken Gegevens", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally

            Conn.Close()
            da.Dispose()
        End Try

    End Sub
 
Laatst bewerkt:
Laatst bewerkt:
Martin,
heb diverse pogingen gedaan, zie nu even de bomen in het bos niet meer.
Ben de gehele dag bezig geweest, met zoeken en proberen.
Neem ff een rustpauze, haha
Ik waardeer ten zeerste je antwoorden op mijn vragen.
 
Kijk uit dat je niet overspannen raakt :p

Na lang iets te proberen is het ook inderdaad moeilijker om nog een oplossing te vinden. Vaak help het wel om eerst even iets anders te gaan doen. Als je er dan weer naar kijkt wil het wel een lukken om meteen de oplossing te zien...

MartinJM
 
Martin,
Zo zie je maar, als je hoofd leeg is m.b.t codering, lukt het op een gegeven moment toch wel
Code:
 Private Sub BewerkenGegevens()
        Try
            Conn.Close()
            ds.Clear()
            Dim myUpdateQuery As String
            myUpdateQuery = "UPDATE Gegevens SET Naam='" & txtNaam.Text & "', Voornaam='" & txtVoornaam.Text & "', Voorl='" & txtVoorl.Text _
            & "', Gebdata='" & txtGebdata.Text & "', Gebplaats='" & txtGebplaats.Text & "', Adres='" & txtAdres.Text _
            & "', Huisnr='" & txtHuisnr.Text & "', Postcode='" & txtPostcode.Text & "', Plaats='" & txtPlaats.Text _
            & "', Telefoon='" & txtTelefoon.Text & "', Mobiel='" & txtMobiel.Text & "', School='" & txtSchool.Text _
            & "', SLB='" & txtSLB.Text & "', TelSLB='" & txtTelSLB.Text _
            & "', TelOuder1='" & txtTelOuder1.Text & "', TelOuder2='" & txtTelOuder2.Text _
            & "' WHERE  PersID =" & PersID

            Conn.Open()
            Dim cmd As New OleDb.OleDbCommand(myUpdateQuery, Conn)
            Dim cb As New OleDb.OleDbCommandBuilder(da)
            da.UpdateCommand = cb.GetUpdateCommand ' Als UPDATE commando
            da = New OleDb.OleDbDataAdapter(myUpdateQuery, Conn)
            cmd.ExecuteNonQuery()
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Updaten Gegevens", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally

            Conn.Close()
            da.Dispose()
        End Try

    End Sub
 
Yep, Martin
Bedankt voor zover maar weer.
Je bent een steun en toeverlaat
In ieder geval Prettige Kerstdagen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan