查询返回96但ResultSet返回0

时间:2014-05-02 21:24:44

标签: java sql jdbc

所以我想检查并查看飞机上的所有座位是否都已预订。

我使用以下方法执行此操作:

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.我试图绕过这个但是无济于事。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

你可能已经尝试了这些但是想到仍然不会受伤。

  1. 确保从数据库SQLDeveloper中使用的应用程序访问相同的数据库。
  2. 尝试在调试器中逐步执行代码。如果由于某种原因无法调试,请添加更多日志语句。
  3. 你的getConnection()方法在做什么。检查未经检查的异常或SQLException以外的异常抛出和吞噬的可能性。因为您的方法只处理SQLException。
  4. 我希望它可以帮助您解决问题。 :)