java.sql.SQLException: Exhausted Resultset error
28,198
Solution 1
Try as
if (rs! = null) {
while (rs.next()) {
returnValue = rs.getString("display_name");
}
......
Solution 2
Try:
returnValue = rs.next() ? rs.getString("display_name") : null;
You don't need to check if the rs
is null. It won't be - assuming the executeQuery()
returned rather than raising an exception. (Though the returned result set might have 0 rows).
You also don't need to loop over the result set, assuming you really know that you expect back a single row. (Though, given the query, that seems unlikely.)
Author by
user2335123
Updated on September 23, 2020Comments
-
user2335123 over 3 years
I'm facing the problem with this exception java.sql.SQLException: Exhausted Resultset in following code. I'm sure my query returns only one value. Even If I don't use rs.next(); it throws the error java.sql.SQLException: ResultSet.next was not called. Could you please help?
FYI, I'm using the another result set in main where this menthod from another class is called. will it affect?
Thanks
public static String getdispname(Connection conn, String resname) throws SQLException, Exception { //String resname = ""; String returnValue = ""; String querystring = ""; //Query to select the displayname from resid querystring += "select distinct display_name"; querystring += " from cust_rally_team_member"; querystring += " where display_name like '%"+ resid +"%'"; // Create select statement Statement stmt = conn.createStatement(); try { // Execute statement ResultSet rs = stmt.executeQuery(querystring); if (rs!= null) { while (rs.next()) { returnValue = rs.getString("display_name"); } catch (SQLException ex) { throw new SQLException(ex); } catch (Exception ex) { throw new Exception(ex); } // Close statement finally { stmt.close(); } return returnValue;