Edit1->Text an MySQL übergeben. Wie? (Zeos)



  • Guten Tag,

    Ich will den Inhalt eines Textfeldes in meine Datenbank schreiben. Benütze den BCB 5 und die Zeos komponenten. Habe mehere sachen ausprobiert aber komme einfach nicht drauf.

    ZQuery1->SQL->Text="INSERT INTO tabelle (Spalte) VALUES (Edit1->Text)";
    

    So klappts nicht 🙂 und auch wenn ich das Feld zuerst auslese gehts nicht:

    String x = Edit1->Text;
    ...VALUES (x)
    

    Verbindung zur DB... ist hergestellt. wenn ich das x ich 'x' schreibe wird es auch eingetragen 😉

    Hoffe mir kann einer helfen.

    gruß
    Ich



  • Du musst den Text in einfache Anführungszeichen setzen UND vor allem den Inhalt des Edits benutzen.

    ZQuery1->SQL->Text="INSERT INTO tabelle (Spalte) VALUES ('" + Edit1->Text + "')";
    


  • super danke so klappts, habs immer ohne das + probiert 😕



  • Hallo

    SQL Injection

    bis bald
    akari



  • akari schrieb:

    Hallo

    SQL Injection

    bis bald
    akari

    Danke, daruf werde ich später eingehen.

    Ich komm einfach nicht mit der Syntax zurecht... Gibts irgendwo eine Hilfe wo diese in Verbindung mit zeos/c++ erklärt ist?

    Stehe nämlich wieder vor einem Problem:

    SELECT something FROM tbl_name WHERE DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= date_col;
    

    gibt folgenden Fehler aus:
    SQL ERROR: 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 ') <= date_col' at line 2.

    Wo muss ich nun was setzen?
    Danke, gruß
    Ich



  • Was ist date_col? Wenn das eine Variable aus deinem Programm ist, dann musst du den SQL-String nach dem gleichen Prinzip zusammenbauen wie oben mit Edit->Text.



  • Mhm danke du hast mich auf die lösung gebracht 🙂 date_col ist die spalte mit dem Datum, dort hatte ich einen Fehler.


Anmelden zum Antworten