diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBType.java')
-rw-r--r-- | plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBType.java | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBType.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBType.java index 686db7f100..81f1d9c953 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBType.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/db/DBType.java @@ -114,14 +114,35 @@ public enum DBType { if (value instanceof String || value instanceof Character) { + builder.append("'"); if (value instanceof String) { - value = ((String)value).replaceAll("'", "\\'"); + /* + * Stefan Winkler <stefan.winkler-et@fernuni-hagen.de> 2008-04-01 (no April's joke!) changed \\' to \\\\' + * because at least with MySQL \\' is not enough for some reason - the \\ get eaten up somewhere on the way + * :-( + */ + + String str = (String)value; + for (int i = 0; i < str.length(); i++) + { + char c = str.charAt(i); + if (c == '\'') + { + builder.append("\\\'"); + } + else + { + builder.append(c); + } + } + } + else + { + builder.append(value); } builder.append("'"); - builder.append(value); - builder.append("'"); } else { |