Mysql Wert Speichern

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Sinlyu.

    Mysql Wert Speichern

    Hallo,

    Ich habe es geschafft einen wert :

    VB.NET-Quellcode

    1. Label1.Text = "Gold: " & (myData.Item("Gold").ToString)


    In einen Label von meiner mysqldatenbank wieder zugeben, wie kann ich jetzt wen ich die form schliesse oder auf ein button drücke die akutelle zahl mit den wert von der datenbank zu ersezten also z.b ich habe 120 gold und kaufe mir was das 10 kostet das ich dan wen ich wen ich bei phpmyadmin gucke da dan auch noch 10 stehn.

    Danke ;)
    Du hast es scheinbar geschafft einen Select Befehl richtig abzusetzen dann sollte ein Update auch nicht unbedingt das Problem sein.
    Beschäftige dich ein bisschen mit Datenbanken bevor du es versucht mit einer zu Programmieren.

    In dem Link steht alles was du wissen musst.

    Hast du vielleicht schon ein bisschen Code um zu sehen wo es hackt?

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Ic habe bis jetzt das

    VB.NET-Quellcode

    1. Public Sub db_update()
    2. Dim myCommand As New MySqlCommand
    3. Dim myData As MySqlDataReader
    4. Dim conn As MySqlConnection
    5. conn = New MySqlConnection
    6. conn.ConnectionString = "server=db4free.net;" _
    7. & "user id=sinlyu;" _
    8. & "password=****;" _
    9. & "database=mapedit;"
    10. conn.Open()
    11. myData = myCommand.ExecuteReader()
    12. Dim refresh As String = "UPDATE `benutzer` SET `Gold` = '" & gold_txt.Text & "' , 'Holz' = '" & holz_txt.Text & "' WHERE `benutzer`.`ID` = '" & myData.Item("ID").ToString & ""
    13. myCommand.CommandText = refresh
    14. MsgBox("PUFF!")
    15. End Class


    Jetzt bekomme ich immer hier:

    VB.NET-Quellcode

    1. myData = myCommand.ExecuteReader()


    Connection must be vaild and open?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Sinlyu“ ()

    ausführen tust du einen Update mit
    ExecuteNonQuery()

    probier mal

    VB.NET-Quellcode

    1. Try
    2. Dim myCommand As New MySqlCommand
    3. Dim conn As MySqlConnection
    4. conn = New MySqlConnection
    5. conn.ConnectionString = "server=db4free.net;" _
    6. & "user id=sinlyu;" _
    7. & "password=****;" _
    8. & "database=mapedit;"
    9. conn.Open()
    10. Dim refresh As String = "UPDATE `benutzer` SET `Gold` = '" & gold_txt.Text & "' , 'Holz' = '" & holz_txt.Text & "' WHERE `benutzer`.`ID` = '" & myData.Item("ID").ToString & ""
    11. myCommand.CommandText = refresh
    12. myCommand.ExecuteNonQuery()
    13. MsgBox("PUFF!")
    14. conn.Close()
    15. Catch ex As Exception
    16. MessageBox.Show(ex.Message)
    17. End Try


    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten

    VB.NET-Quellcode

    1. Dim myCommand As New MySqlCommand
    2. Dim conn As MySqlConnection
    3. conn = New MySqlConnection
    4. conn.ConnectionString = "server=db4free.net;" _
    5. & "user id=sinlyu;" _
    6. & "password=****;" _
    7. & "database=mapedit;"
    8. conn.Open()
    9. myCommand.CommandText = "UPDATE `benutzer` SET `Gold` = '" & gold_txt.Text & "' , 'Holz' = '" & holz_txt.Text & "' WHERE `benutzer`.`ID` = '" & My.Settings.ID & ""
    10. myCommand.ExecuteNonQuery()
    11. MsgBox("PUFF!")



    myCommand.ExecuteNonQuery() <!Connection must be open and vailed!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Sinlyu“ ()

    Kleiner Flüchtigkeitsfehler von fichz, sowas kann passieren. ;)

    Er hat schlicht in seinem Code-Snipet vergessen die Connection an das Command-Objekt zu übergeben.

    Ergänze in dieser Richtung:

    VB.NET-Quellcode

    1. conn.Open()
    2. myCommand.Connection = conn
    3. myCommand.CommandText = ...


    Das müsste meiner Meinung nach Connection heissen, wenn es das nicht gibt dann guck mal in IntelliSense nach ... könnte auch CommandConnection oder so in der Richtung heissen, bin mir so auf die Schnelle aus dem Bauch raus nicht ganz sicher wie es bei dem Objekt-Modell heisst. ;)

    Gruß

    Rainer
    Gut ;) Danke habe den andren Fehler Gefunden Danke an euch beiden *freu* :thumbsup:

    SQL-Abfrage

    1. myCommand.CommandText = "UPDATE benutzer SET Holz = '" & holz_txt.Text & "'" ' Holz Update

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Sinlyu“ ()

    Klar helfe ich Dir nochmal ... bin ja auch noch online (bezug zu Deiner PN ;) ).

    Also erstens muss das SQL-Statement am Ende zwischen den beiden Gänsefüßchen noch ein Hochkomma enthalten, sonst passt es nicht ... also so: "'". ^^

    Und ansonsten ... Datenbank-Feldnamen dürfen nicht in Hochkommas stehen. ^^

    Hier mal das SQL-Statement wie es funzen müsste (wenn wirklich alle Datenbankfelder auch als Text deklariert sind, ist auch nur eines davon als was anderes z.B. Zahlenwert deklariert funzt es natürlich nicht).

    [MySQL]
    "UPDATE benutzer SET Gold = '" & gold_txt.Text & "' , Holz = '" & holz_txt.Text & "' WHERE ID = '" & My.Settings.ID & "'"[/MYSQL]

    Table-Identifier kannst Du Dir sparen wenn Du im SQL-Statement eh nur ein Table ansprichst, daher habe ich "benutzer.ID" abgewandelt in "ID".

    Gruß

    Rainer

    EDIT: Okay, war zu spät ... aber gut das Du es trotzdem selber rausgefunden hast. ;)

    raist10 schrieb:

    Kleiner Flüchtigkeitsfehler von fichz, sowas kann passieren.

    Er hat schlicht in seinem Code-Snipet vergessen die Connection an das Command-Objekt zu übergeben.

    upsi jop stimmt.

    War gestern schon spät und war auf einem kleinen "NeoCitran-Müdigkeits-Rausch" ^^

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten