Java JDBC resultSet.next issue



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((( { }

最新更新