Access, SQL - Datensatz ändern

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Morphesus.

    Access, SQL - Datensatz ändern

    Hallo zusammen,

    ich habe momentan das Problem das ich bei meiner Access-DB keinen Datensatz ändern kann.
    Ich möchte auf meiner Form per Button klar machen das bei einem Datensatz 5 hinzu addiert werden soll.

    Das ist mein Code:


    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim con As New OleDbConnection Dim cmd As New OleDbCommand ' Dim reader As OleDbDataReader
    3. con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=pers.mdb"
    4. cmd.Connection = con cmd.CommandText = "select * from stats"
    5. Try con.Open() cmd.CommandText = "UPDATE geld set +50 "
    6. Catch ex As Exception MessageBox.Show(ex.Message) MessageBox.Show("Fehler") End Try
    7. con.Close() End SubEnd Class



    VB gibt keine Fehlermeldung aus wenn ich auf den Button drücke.
    Aber es passiert auch nichts in der Datenbank.

    Hat jemand einen Vorschlag wie ich das Regeln könnte?
    Danke im voraus.

    Matze

    PS: Datensätze sind als "Double" angelegt.

    Edit by der_Kurt:
    Bitte in Zukunft auf das korrekte Unterforum achten
    * Topic verschoben *

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    Ich hatte (ein halbes Jahr) SQL in der Schule, und ich wüsste nicht, dass dies so funktioniert. Ich habe allerdings eine kleine Dokumentation geschrieben, vielleicht hilft dir diese weiter.
    goo.gl/xy4Eu


    (Die Datei kann nicht online gelesen werden, sondern muss heruntergeladen werden)

    Gruss
    sandiro
    Hilft leider auch nicht.
    Auch wenn ich das von dir übernehme, gibt er keinen Fehler aus, aber er ändert wieder nichts.

    Vielleicht hilft es weiter wenn ich den weg zeige um Daten anzuzeigen:

    VB.NET-Quellcode

    1. Dim con As New OleDbConnectionDim cmd As New OleDbCommandDim reader As OleDbDataReader
    2. con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=vlife.mdb"
    3. cmd.Connection = concmd.CommandText = "select * from stats"
    4. Trycon.Open()reader = cmd.ExecuteReader()Do While reader.Read()
    5. tslblGeld.Text = reader("geld")tslblBeruf.Text = reader("beruf")
    6. Loopreader.Close()con.Close()Catch ex As ExceptionMessageBox.Show(ex.Message)End Try
    Mensch Leute ^^ Das geht so:

    SQL-Abfrage

    1. UPDATE `deineTabelle` SET `spaltenname1`=`neuerWert` WHERE `spaltenname2`=`wert`

    Also: Dieser Befehl bezieht sich auf die Tabelle 'deineTabelle'. Er setzt den Wert des Feldes der Spalte `spaltenname1` auf `neuerWert` und zwar nur da, wo eine Feld den Wert 'wert' in der Spalte 'spaltenname2' hat.

    Wenn ich dein Statement richtig interpretiert habe müsste das Update Statement so aussehen:

    SQL-Abfrage

    1. UPDATE `stats` SET `geld` = `geld` + 50


    lg Morph