今天在JSP頁面中,提交查詢后,結果集不能返回last(),
例如:java.sql.SQLException: 對只轉發結果集的無效操作;
原因是在Statement的屬性中缺少,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY
在百度上查了一下
分析: 異常出現于移動結果集的指針時,原因是在生成statement對象的時候提供的參數不同
無參數的那個方法使用的是默認參數,statement執行后得到的結果集類型為 ResultSet.TYPE_FORWARD_ONLY.這種類型的結果集只能通過rs.next();方法逐條讀取,使用其他方法就會報異常. 如果想執行一些復雜的移動結果集指針的操作就要使用其他參數了
順便簡單介紹一下各個參數:
1. ResultSet.TYPE_FORWARD_ONLY (略)
2. ResultSet.TYPE_SCROLL_INSENSITIVE 雙向滾動,但不及時更新,就是如果數據庫里的數據修改過,并不在ResultSet中反應出來。
3. ResultSet.TYPE_SCROLL_SENSITIVE 雙向滾動,并及時跟蹤數據庫里的更新,以便更改ResultSet中的數據。
4. ResultSet.CONCUR_READ_ONLY 只讀取ResultSet
5. ResultSet.CONCUR_UPDATABLE 用ResultSet更新數據庫
posted on 2008-04-10 16:59
湘江夜游神 閱讀(110)
評論(0) 編輯 收藏 所屬分類:
JSP