[英]Java JDBC resultSet.next issue
我的resultSet為null
System.out.println("ResultSet :" +rs.next());
輸出:
ResultSet:false
但…
if(rs.next() == false) {//condition }
…返回錯誤:
java.sql.SQLException: Exhausted Resultset
at oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:915)
at oracle.jdbc.driver.OracleResultSet.getInt(OracleResultSet.java:438)
at com.dxc.gameservices.dao.BadgesService.BadgeOne(BadgesService.java:33)
碼:
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery("select * from TABLE Where Column1=1 AND column2=4");
if(rs.next() == false) {
System.out.println("Inside IF");
}
else{
System.out.println("Inside ELSE");
}
此異常意味着您消耗相同結果的兩倍:
java.sql.SQLException:耗盡oracle.jdbc.driver.OracleResultSetImpl.getInt(OracleResultSetImpl.java:915)的結果集
您沒有顯示執行getInt()
的代碼,但是您可能會執行以下操作:
rs.next();
int value = rs.getInt(index);
int anotherValue = rs.getInt(index);
你不能。 您消耗同一行兩次。
您必須調用next()
來檢索游標的下一行:
while (rs.next()) {
int value = rs.getInt(index);
...
}
使用此代碼
if (rs != null) {
while (rs.next()) {
…
}
}
請刪除行System.out.println(“ ResultSet:” + rs.next());。 在嘗試檢入之前,因為下一個元素已被檢查。
同時(rs.next()){}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.