MYSQL Abfrage Falsch?

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Patrick1993.

    MYSQL Abfrage Falsch?

    Hallo,

    Ich möchte derzeit eine Registrierung in mein Programm einbauen nach dem Tutorial.
    Nur habe ich das Problem das meine Abfrage eventl falsch ist ?

    VB.NET-Quellcode

    1. myCommand.CommandText = "INSERT INTO benutzer(Benutzername, Passwort, Email, ftpserver, ftpuser, ftppass, ftp, localpfad, inhaber, Servername)" _
    2. & "VALUES('" & benutzer & "','" & passwort & "','" & TextBox8.Text & "',' - ',' - ','False', '" & TextBox5.Text & "\" & "','-','-')"


    Beim Debuggen bekommt MYSQL immer ein Fehler:

    Quellcode

    1. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '')' at line 1


    Liegt es auch eventl an dem Server?
    Ich habe mal alles Weggelassen aus Benutzername, Passwort und Email
    dann hat es jedoch geklappt.

    Hoffe ihr könnt mir helfen.
    Danke!
    Hochachtungsvoll
    MindFreak

    versuchs mal so:

    SQL-Abfrage

    1. myCommand.CommandText = "INSERT INTO benutzer (Benutzername, Passwort, Email, ftpserver, ftpuser, ftppass, ftp, localpfad, inhaber, Servername)" _
    2. & "VALUES('" & benutzer & "','" & passwort & "','" & TextBox8.Text & "',' - ',' - ','False', '" & TextBox5.Text & "','-','-','-')"
    der fehler ist das du die VALUES als kommentare hast

    Patrick1993 schrieb:

    der fehler ist das du die VALUES als kommentare hast
    Das sehe ich nicht.
    Da kommt lediglich der Forums-Parser etwas durcheinander.

    Du verwendest mySQL.
    Sicherheitshalber solltest du die Feldnamen in BackQuotes angeben.
    Also `Benutzername`, `Passwort`, `Email`...
    Das dürfte aber hier nicht das Problem sein

    Vielleicht steht aber auch in einer deiner Variablen oder Textboxen ein Zeichen, das den SQL-Befehl durcheinander bringt.
    Gib doch mal den CommandText in einer Messagebox oder einer Textbox aus, dann siehst du vermutlich ganz schnell, wo sich der SQL-Parser verhaspelt.

    Als erstes würde ich aber wirklich den Tipp aus Post#2 versuchen (ein Blank nach dem Tabellennamen).
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    VB.NET-Quellcode

    1. cmd.CommandText = "INSERT INTO Benutzer(Name, Alter, EMail) VALUES ('" & txt_name.text & "', '" & txt_alter.text & "', '" & txt_name.Text & "')" 'Der Befehl für die DB


    Das is einfach drauf los geschrieben.
    Nimm den Code und tu ihn anpassen.
    Mir sind keine anderen Namen etcpp eingefallen und wolte auch nicht den ganzen Code von dir umschreiben.
    Also einfach den Code Kopieren,Einfügen und anpassen. Dann sollte es gehen