Jsp--java.sqlsqlException結果集已耗盡


java連接Oracle數據庫,從ResultSet中獲取數據出現java.sqlsqlException結果集已耗盡

1、檢查數據庫事務是否提交

2、ResultSet.next()方法的錯誤使用

  當返回一條語句時:可以rs.next()判斷有無值,rs==null,這樣沒有效果

  返回多條語句時要使用while()循環

因為用類java.sql.Statement的executequery()方法查詢的結果集永遠不會返回null,可以用rs.next()方法來判斷有沒結果集,

  因為一個結果集最初將游標定位在第一行的前面。而不用rs==null,這樣沒有效果。

現在詳細解說一下resultset的next()方法,每調用一次,游標后移一個,當resultset游動到最后一行,再調用next()方法會返回false,

  並且游標也到了最后一行的后面!要是再調用next()的話就會出現異常!!!!!!

public User login(String username, String password) {
        String sql = "select * from u_user where username = ? and password = ?";
        ResultSet rs = JdbcUtils.executeQuery(sql, username, password);
        User user = null;
            try {
                if (rs.next()) {
                    user = new User();
                    user.setUsername(rs.getString("username"));
                    user.setPassword(rs.getString("password"));
                    user.setGrade(rs.getInt("grade"));
                    return user;
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } finally {
                JdbcUtils.close(rs);
            }
        return user;
    }

3、是否關閉Connection連接,關閉ResultSet結果集


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM