String für die Abfrage in TQry escapen & Bei Query groß und kleinschreibung ignorieren
-
Hallo, Frage 1:
Ich habe ein Textfeld wo der User etwas eingibt, beispiel "Test'scher Test"
Dann bekomme ich bei der SQL abfrage einen Fehler, weil das ' ja nicht escaped wird.
Gibt es dafür eine Funktion?
Wie lautet diese?Frage 2:
Wenn ich in einem Query
WHERE feldname = '"+Edit->Text+"' stehen habe, dann will ich, dass er alles findet, unabhängig von der Groß und Kleinschreibung.
Kann ich das irgendwo einstellen?Ich benutze (für beide Fragen) den BCB6, Paradox 7 Tabellen und ein TQuery zum Abfragen.
-
1. BCB-Funktion: QuotedStr();
2. SQL-Funktion: lower() (abhänigig vom DBMS)
-
zu 1:
Du solltest dann mit Parametern arbeiten: s. TQuery::Paramszu 2: Probier mal
"WHERE UPPER(feldname) = UPPER('" + Edit->Text + "')"UPPER bzw. LOWER gehören zum SQL-Standard
-
zu 1) Wie genau meinst du das?
Geht das auch so:qry->SQL->Add("SELECT * FROM tabelle WHERE LOWER(feld) = LOWER(?)", inhalt);
Zu 2)
Habe ich nicht gewusst, ich habe bisher nur PHP genutzt, da gabs keine Probleme.
Ich hatte da Problem mal in RoR mit Sybase, aber da konnten mir keine 3 Programmierer helfen, obwohl Sie studiert haben, und damit seit Jahren arbeiten...
-
Achja, das QuotedStr funktioniert bei mir nicht, die " werden nicht in \" verwandelt, und so.