Caused by: java.sql.SQLException: ローにありません。
at ianywhere.ml.jdbcodbc.jdbc3.IIResultSet.getInt(Native Method)
at ianywhere.ml.jdbcodbc.jdbc3.IResultSet.getInt(IResultSet.java:464)
... 2 more
まったく意味がわからないメッセージなので、どうしたものかと思い該当部分のコードを見る。
ResultSet rs = statement.executeQuery();
int n = rs.getInt(1); // ← ここでSQLException
rs.close();
結果を一行しか返さないSQL文だったのですっかり油断していた。
原因は
ResultSet.next()
が抜けていただけでした。正しくは…
ResultSet rs = statement.executeQuery();
int n;
if (rs.next()) {
n = rs.getInt(1);
}
rs.close();
これに気づく間、SQLを変えてみたり試行錯誤してました。
適切なエラーメッセージはとても大事です。
0 件のコメント:
コメントを投稿