SQLQuery Problem mit Anführungszeichen -> gelöst (Close).
-
Hallo,
habe ein Problem, den ich nicht lösen kann.
Hier mein Code Beispiel.SQLQuery1->SQL->Clear(); SQLQuery1->SQL->Add("insert into test_tab (text,text2,text3)values('"+Edit1->Text+"','"+Edit2->Text+"','"+Memo1->Text+"');"); SQLQuery1->ExecSQL(); SQLQuery1->Close();
Soweit so gut, aber wenn ich in Memo oder in Edit -feld zum Beispiel das hier schreibe:
'Hallo',"das ist ein Test".
funktioniert es nicht. Klar wegen Anführungszeichen in SQL text.
Jetzt ist meine Frage gibt es eine möglichkeit das Problem (mit Sonderzeichen) zu lösen (irgendeine einstellungs sache) oder muss man das selber machen?
Also text durch gehen und die sonder zeichen ' -> \' zu ändern.Dank im Voraus.
-
Am einfachsten ginge das wohl mit AnsiQuotedStr().
-
Hallo
Wenn du wissen willst warum das korrekte Umwandeln der Sonderzeichen so wichtig ist dann belies dich zum Thema SQL Injection.
bis bald
akari
-
gelöst mit Params.
Danke.
-
Ja, hast du.
AnsiQuotedStr fügt die Anführungsstriche doch schon hinzu. Du machst es in SQLQuery1->SQL->Add aber nochmal. Einfach dort mal weglassen.
[edit]Gerade eben stand da noch ein Quelltext.[edit]
-
Ahh Ok.