My resultSet is null
System.out.println("ResultSet :" +rs.next());
输出:
结果集:假
但。。。
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: Exhausted Resultset at 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((( { }