- - PR -
where区を指定すると、executeがエラーになる
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-02-27 23:22
こんばんは。
以下のようなソースを実行すると、ps.executeQuery()の箇所でエラーになり、 System.out.println("aaa")が表示されません。 --- Connection con = getConnection(); PreparedStatement ps = null; ResultSet rs = null; String query = "select user_id from user_tbl where user_id = ?"; try { // 参照用の設定 con.setReadOnly(true); con.setAutoCommit(false); ps = con.prepareStatement(query); ps.execute("SET NAMES 'sjis'"); ps.setString(1, userID); // ユーザID System.out.println("query = " + SELECT_USER_ID); System.out.println(" user_id = [" + userID + "]"); rs = ps.executeQuery(); System.out.println("aaa"); String getUserID = null; int num = 0; if (rs.next()) { getUserID = rs.getString("user_id"); System.out.println("result user_id = " + getUserID); } } catch (SQLException e) { throw new DataAccessException(e); } finally { close(rs); close(ps); } } --- しかし、queryを以下のように変更すると、問題なく実行できます。 query = "select user_id from user_tbl"; where区を指定している場合に、ログに出力されるクエリをコピペで貼り付けて、 DBから検索実行可能なことは確認しています。 executeQueryでエラーになる理由をご存知の方、よろしくお願いします。 |
|
投稿日時: 2006-02-27 23:37
まず、エラー関連で質問する際は、
スタックトレースやエラーメッセージを貼り付けましょう。 また、環境(JDK/RDB/OS)も書くようにしましょう。 |
1