0
私はPrepareStmtに数値を渡そうとしますが、このエラーが発生します。私は私の問題を控えめにすることはできません。なぜ "java.sql.SQLException:無効な列インデックス"が表示されるのですか?
問合せ:
private static final String SQL_FIND_ALL_CALENDARS = "SELECT * FROM calendar WHERE idCall > '?';";
機能:他のクラスで
private List<Calendar> findAll(Connection con) throws SQLException {
List<Calendar> calendar = new ArrayList<Calendar>();
PreparedStatement prsmt = null;
ResultSet rs = null;
try {
prsmt = con.prepareStatement(SQL_FIND_ALL_CALENDARS);
prsmt.setInt(1, TestOracleJDBC.idCall);
rs = prsmt.executeQuery();
while (rs.next()) {
Calendar calendar2 = extractCalendar(rs);
calendar.add(calendar2);
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
rs.close();
prsmt.close();
}
return calendar;
}
私のパラメータ:
public static int idCall = 1;
3つのこと:(a)は、あなたの 'extractCalendar'メソッドが何をするのでしょうか? (b)クエリにセミコロンを使用しないでください。(c)何か助けにならなかった場合は、どうか説明してください。コードが何をしたいのか、そして現在何をしたいのかを説明してください。 –