Ich lese beim Erstellen des SQL-Kommandos, das executeQuery uebergeben wird, String-Variablen ein. Ich konkateniere sie.
Jetzt ist mir aufgefallen, dass wenn eine String-Variable irgendwo ein Hochkomma enthaelt, das SQL-Kommando keinen Sinn mehr macht. Es wird ein falsches Token gemeldet. Ich wollte ja auch an der Stelle gar kein Hochkomma setzen, aber es befand sich in der String-Variablen.
Wie kann ich (durch welche Zeichen?) es erreichen, dass das Hochkomma aus der String-Variablen ignoriert wird und einfach nur zum restlichen SQL-Kommando konkateniert wird?
Danke im voraus.
Ich habe bei mycgiserver.com einen Account, wo Hypersonic bzw. InstantDB (Beides Java-basierte Datenbanken) angeboten werden.
Ich habe jetzt wie auch damals einfach keine Doku zu HypersonicDB gefunden: Die offizielle Seite hsql.oron.ch funktioniert nicht. Aufgrund dessen habe ich mich damals für InstantDB entschieden.
Bei Javabasierenden DB’s reicht es aber meistens, normale Java-Escape Charakters zu benutzen:
Statt " kommt "
Statt ’ kommt ’
Da der Backslash in Java auch einen Escape Character benötigt, muß man manchmal folgendermaßen ersetzen:
Statt " kommt \"
Statt ’ kommt \’
Ich schalte bei der Behandlung von Parametern immer eine Klasse TStringReplace dazwischen, die mir über eventuelle Hürden durch Ersetzung weiterhilft. Sie ersetzt z.B. auch ENTER-Charachter #13 vollautomatisch durch ein
.
Vielen Dank! Ich kanns momentan nicht probieren, aber ich werde Deine Vorschlaege probieren sobald es moeglich ist.
Wenn Du Dich vorher mit Java beschaeftigt hast, kennst Du Dich vielleicht auch mit meinen beiden anderen Problemen aus.
Koenntest Du einen Blick in die Rubrik „Java“ werfen? Dort findest Du zwei Fragen von mir mit den Titeln „JTable“ und „web link im applet“. Ist nur mal ein Versuch von mir doch noch eine Loesung zu finden, weil mir bisher kein einziger Tipps anbieten konnte. Danke!
Gruss,
Lutz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]