1

H2 を使用して、最初の要素が ABC で 2 番目の要素が [C@26afa68a] の行を書き込もうとすると、このエラーが発生します。

Syntax error in SQL statement "INSERT INTO USER VALUES(ABC,[[*]C@F4D5BC9) " expected "), DEFAULT, NOT, EXISTS, SELECT, FROM"; SQL statement:INSERT INTO user VALUES(abc,[C@f4d5bc9) [42001-167]

H2 が特殊文字を受け入れるようにする方法があるかどうかはわかりませんが、これに対処する方法を知っておくとよいでしょう。

ありがとう!

4

1 に答える 1

3

PreparedStatement を使用する必要があります。

PreparedStatement prep = conn.prepareStatement("INSERT INTO USER VALUES(?, ?)");
prep.setString(1, "ABC");
prep.setString(2, "[C@f4d5bc9");
prep.executeUpdate();
prep.close();

データをエスケープする必要がないため、PreparedStatement を使用することをお勧めします。ABCand / andが定数の場合[C@f4d5bc9、次を使用できます。

Statement stat = conn.createStatement();
stat.executeUpdate("INSERT INTO USER VALUES('ABC', '[C@f4d5bc9');
stat.close();
于 2012-06-18T20:45:20.263 に答える