File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes JDBC and the fly likes ResultSet.close() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC
Bookmark "ResultSet.close()" Watch "ResultSet.close()" New topic
Author

ResultSet.close()

ben oliver
Ranch Hand

Joined: Mar 28, 2006
Posts: 375
Result rs = ....;
...
..
rs.close();


For "rs.close()",

1. if we know rs is not null, is it possible that "rs" still can not be closed due to some SQLException ?

2. if ResultSet can not be closed for some reason, can we still close a Statement ?
Maximilian Xavier Stocker
Ranch Hand

Joined: Sep 20, 2005
Posts: 381
1. if we know rs is not null, is it possible that "rs" still can not be closed due to some SQLException ?


Yes.

if ResultSet can not be closed for some reason, can we still close a Statement ?

Assuming you mean a SQLException... yes you should still attempt to close the statement (and underlying connection). The exception could be a connection loss but it could mean many other things as well that do not relate to your closing the Statement.
stu derby
Ranch Hand

Joined: Dec 15, 2005
Posts: 333
Originally posted by ben oliver:
Result rs = ....;
...
..
rs.close();


For "rs.close()",

1. if we know rs is not null, is it possible that "rs" still can not be closed due to some SQLException ?

2. if ResultSet can not be closed for some reason, can we still close a Statement ?


1. yes, certainly. Easy example: the database has crashed...
2. sometimes yes, sometimes no. With good networks and a good database and a Java program running on a machine that's not overloaded, it will be incredibly incredibly rare to have a rs.close() error and have its related Statement.close() succeed, so much so that many good programmers will do them all in one try/catch. However, it a situation with intermittent network or OS problems it becomes more likely, and many good programmers will therefore put each of them in their own try/catch blocks.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: ResultSet.close()