6 Stimmen

Wie lassen sich Sonderzeichen, die in einer SQL-Abfrage verwendet werden, entkommen?

Gibt es eine Java-Bibliothek zum Escapen von Sonderzeichen aus einem String, der in eine SQL-Abfrage eingefügt werden soll.

Ich schreibe immer wieder Code, um verschiedene Dinge zu escapen, aber immer stolpere ich über ein neues Problem. Eine Bibliothek, die sich um alle oder die meisten Möglichkeiten kümmert, wäre also sehr nützlich.

EDIT: Ich benutze MySQL (falls das einen Unterschied macht).

7voto

Maurice Perry Punkte 32127

Gut... jdbc. Geben Sie die Zeichenfolgen als Parameter weiter und hängen Sie sie nicht an den Abfragezeichenfolge an

1voto

Ankur Punkte 48689

Ein wenig mehr Recherche führt mich zu diesem Punkt:

http://devwar.blogspot.com/2010/06/how-to-escape-special-characters-in.html

Was darauf hinweist, apache.commons.lang.StringEscapeUtils zu verwenden, das werde ich ausprobieren

0voto

Ryan Webb Punkte 304

Ich weiß, dass dies ein langer Thread ist, aber mit der commonslang-Bibliothek gibt es eine Methode namens escapeSql(String). Außerdem werden bei der Verwendung von PreparedStatement automatisch die problematischen SQL-Zeichen escapes.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X