Ich verwende eine PreparedStatement
mit Sql wie zum Beispiel:
String sql = "insert into foo (a,b,c) values (?,?,?)";
ps = conn.prepareStatement(sql);
ps.setString(psIndex++, a);
ps.setString(psIndex++, b);
ps.setString(psIndex++, c);
Wenn jedoch eine der Variablen eine leere Zeichenfolge ist, erhält die resultierende Anweisung zwei einfache Anführungszeichen. Wie in: VALUES ('foo','','')
Dann erhalte ich eine Ausnahme, da zwei einfache Anführungszeichen eine Escape-Sequenz sind.
Ich kann nicht glauben, dass ich bei der Suche nichts dazu finden konnte, aber ich konnte es nicht. Was ist hier eigentlich los?