We clarified this in JDBC 4 spec
Once a ResultSet has been closed, any attempt to access any of its
methods with
the exception of the isClosed method will result in a SQLException being
thrown. ResultSetMetaData instances that were created by a ResultSet that
has been closed are still accessible.
Knut Anders Hatlen wrote:
> I discovered that the client driver throws SQLException if
> getConcurrency() is called on a closed ResultSet, whereas embedded
> does not throw exception. Which behaviour is correct? The JDBC javadoc
> just says:
>
> Throws:
> SQLException - if a database access error occurs
>
> I see other methods, like getWarnings(), where the javadoc explicitly
> states that an exception should be thrown if the ResultSet is closed:
>
> Throws:
> SQLException - if a database access error occurs or this method
> is called on a closed result set
>
>
|