my code is :
Statement testSt = null;
ResultSet rset = null;
String query = "select jid FROM playjdbc WHERE jid=56";
try {
testSt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
if (!testSt.execute(query)) {
System.out.println("jid doesnt exist!");
} else {
rset = testSt.getResultSet();
rset.first();
int jidValue = rset.getInt(1); // exception cause
System.out.println("jid is = " + jidValue);
}
}
rset.getInt(1) line causing this exception , but
when i ran same query in my database it returned data .
stack trace :
java.sql.SQLException: Exhausted Resultset
at oracle.jdbc.driver.ScrollableResultSet.getOracleObject(ScrollableResultSet.java:623)
at oracle.jdbc.driver.ScrollableResultSet.getInt(ScrollableResultSet.java:776)
at oracle.jdbc.driver.UpdatableResultSet.getInt(UpdatableResultSet.java:666)
The boolean result from
Statement.execute()is false if the statement returns an update count or if the statement is of a type that does not return aResultSet. The Javadoc is slightly ambiguous in its language.Instead of
rset.first()you need to dorset.first()is used only when moving back to the first row in a ResultSet that is notFORWARD_ONLY.