Problem mit Hochkomma bei Speicherung DB via SQL

The_Answer1985

Erfahrenes Mitglied
Hallo zusammen,

in versch. Textfelder werden Daten vom Benutzer erfragt, dabei kann es auch sein, dass er Strings mit Hochkomma ' eingibt.
Diese Daten können aber ebenso aus einer Datenbank abgefragt werden, in der die Strings bereits mit Hochkomma gespeichert sind (bspw. bei französischen Angaben der Fall).

Das Hochkomma macht mir Probleme, denn ich erhalte für jeden String, in dem ein Hochkomma vorkommt, eine SQL Fehlermeldung (Syntaxfehler).

Dabei wird der Inhalt aus dem Textfeld direkt in einen SQL Insert Befehl übergeben. Wie kann ich
- prüfen, ob ein Hochkomma in der Benutzereingabe vorkommt
- den SQL Befehl anpassen, dass das Hochkomma als Inhalt in die DB geschrieben wird und nicht als Bestandteil der Syntax erkannt wird?

Danke für eure Hilfe.

Liebe Grüße
 
Du benutzt am besten ein PreparedStatement, dass ist genau für so was gedacht:

http://java.sun.com/javase/6/docs/api/java/sql/PreparedStatement.html

Das escaped dir deine Eingaben für den gegeben Datentyp automatisch.

Hochkommas sind noch die geringsten Probleme bei sowas....schlimmer sind SQL Injections...also wenn jemand dein SQL Statement verändert um an die Daten aus der DB zu kommen o. ä. Schabbernack zu treiben.
 
Zuletzt bearbeitet:
Zurück