Так что я пытаюсь проверить и посмотреть, все ли места на самолете были забронированы.Query Returns 96, но ResultSet возвращает 0
Я делаю это с помощью метода наблюдения:
public static boolean isAllBooked() {
String sql = "SELECT COUNT(*) FROM SEAT WHERE BOOKED IS NULL";
boolean res = false;
try(Connection conn = getConnection("", "");
PreparedStatement st = conn.prepareStatement(sql)) {
ResultSet rs = st.executeQuery();
if (rs.next()) {
int i = rs.getInt(1);
if(i == 0) {
res = true;
}
} else {
res = false;
}
conn.close();
} catch (SQLException ex) {
System.out.println("[HELPER CLASS] SQL ERROR: " + ex.getMessage());
}
return res;
}
Но по какой-то причине, запрос при использовании в SQLDeveloper возвращает 96, а результат возвращает 0. Я пытался обернуть мою голову вокруг этого, но ни к чему помогло.
Что я здесь делаю неправильно?
У меня была такая же проблема, когда я забыл совершить транзакцию в SQL Developer – hoaz
Возможно, стоит проверить ['ResultSet.wasNull'] (http://docs.oracle.com/javase/7/docs /api/java/sql/ResultSet.html#wasNull()) после вызова 'getInt', чтобы увидеть, был ли результат фактически 0 или null. – andersschuller
@andersschuller Нет. Это не пусто. – OmniOwl