MySQL - Update Funktion wird nicht ausgeführt

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Akanel.

    MySQL - Update Funktion wird nicht ausgeführt

    Moin,
    ich möchte, dass wenn ich einen Button klicke mein Programm einige Daten in eine gehostete MySQL-Datenbank schreibt. Der Code schaut wie folgt aus:

    VB.NET-Quellcode

    1. Imports MySql
    2. Imports MySql.Data
    3. Imports MySql.Data.MySqlClient
    4. Dim Sicherheitsabfrage As Object
    5. Dim con2 As New MySqlConnection
    6. Dim cmd2 As New MySqlCommand
    7. Sicherheitsabfrage = MsgBox("Möchten Sie die Statuszeiten an den Status-Server schicken und die dort vorhandenen Daten überschreiben?", vbYesNo)
    8. If Sicherheitsabfrage = vbYes Then
    9. con2.ConnectionString = "Server=xxxxx.kasserver.com; UID=xxxxx; Password=xxxxx; Database=xxxxx; SSLMode=none"
    10. cmd2.Connection = con2
    11. Try
    12. If txt_status3.Text <> "" Then
    13. cmd2.CommandText = "UPDATE 'status_els' SET 'Status_3' = '" & txt_status3.Text & "' WHERE 'status_els'.'IDN' = " & txt_enr.Text & ";"
    14. End If
    15. con2.Open()
    16. MsgBox("erfolgreich")
    17. Catch ex As Exception
    18. MsgBox(ex.Message)
    19. '//LOGFILE EINTRAG
    20. frm_main.LFD.Timestamp = My.Computer.Clock.LocalTime
    21. frm_main.LFD.User = "root"
    22. frm_main.LFD.Bereich = "SYSTEM"
    23. frm_main.LFD.Meldung = "Fehler: F02/003 (SQL-Datenbankfehler: " & ex.Message & ")"
    24. frm_main.LogFile()
    25. End Try
    26. con2.Close()
    27. End If


    Das Programm meldet "erfolgreich", aber wenn ich in die Datenbank schaue, dann ist dort kein Eintrag vorhanden.

    Als Verweis ist die MySQL.Data.DLL von Oracle in der Version 8.0.16.0 hinterlegt. Ich rufe auch Daten aus der Datenbank ab - dieses funktioniert ohne Probleme.

    Hat jemand bereits ähliche Probleme gehabt oder die Lösung?

    Viele Grüße,
    Basti
    jo, gerne.
    Ansonsten würde ich dich bitten, mal in txt_status3 folgendes einzutragen: 42' --.

    Aber mach zuvor ein Datenbank-Backup, denn anschliessend ist sie kaputt. :P

    Ich schlage dir das vor, weil du ein klassisches Opfer für Must-Know: Sql-Injection bist.

    Im Ernst schlage ich vor, du eignest dir sofort einen Umgang mit Datenbanken an, der SqlInjection unterbindet.

    Meiner Ansicht nach grenzt es ans kriminelle, den Stiefel so fortzusetzen.
    Weil irgendwann wirst du womöglich eine produktive Anwendung erstellen, und wer sie benutzt, womöglich bezahlt hat, oder wirtschaftlich davon irgendwie abhängt, dem kann das Teil von jedem Script-Kiddi unrettbar zerstört werden.
    Nur rein interessehalber, was passiert denn wenn man 42' -- in die Textbox eingibt. Besser gefragt, was löst das in der DB aus?
    Rechtschreibfehler betonen den künstlerischen Charakter des Autors.