jQuery in Action, 2nd edition*
The moose likes JDBC and the fly likes Need to close statement object? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "Need to close statement object?" Watch "Need to close statement object?" New topic

Need to close statement object?

Mike London
Ranch Hand

Joined: Jul 12, 2002
Posts: 1034
When I create a query using a connection and returning a ResultSet via anexecuteQuery(), do I need to worry about closing the local variable statement object in the method that creates the ResultSet, IF I close the ResultSet in the calling method once I'm done with it?

It seems the answer is "no" since closing the statement object removes the results from the ResultSet.

Still, I wanted to see if I should do things in a different order or whatever.

Thanks in advance for any replies.

Scott Selikoff
Saloon Keeper

Joined: Oct 23, 2005
Posts: 3697

You should also close result set, statements, and connections (in that order) as soon as your are done with them since this allows the garbage collector to make optimum use of memory and connections.

In fact, most people will tell you that such things should be closed inside a finally block (connections in particular) to make absolutely sure your application does not accidentally leave connections open in cases where your application throws an exception.
[ September 18, 2007: Message edited by: Scott Selikoff ]

My Blog: Down Home Country Coding with Scott Selikoff
Mike London
Ranch Hand

Joined: Jul 12, 2002
Posts: 1034
Thanks very much for your reply!!!

Much appreciated.

I agree. Here's the link: http://aspose.com/file-tools
subject: Need to close statement object?
Similar Threads
Statement, ResultSet
ResultSet after DB closed
SQL Exception?
Too Many Client Tasks
Prepared Statement not closing cursor