|Contents | Prev | Next||JDBCTM Guide: Getting Started|
Connection.isClosed()method is only guaranteed to return true after
Connection.closed()has been called.
Connection.isClosed()cannot be called, in general, to determine if a database connection is valid or invalid. A typical JDBC client can determine that a connection is invalid by catching the exception that is thrown when a JDBC operation is attempted.
Statement.setCursorName()method provides a way for an application to specify a cursor name for the cursor associated with the next result set produced by a statement. A result set's cursor name can be retrieved by calling
Statement.setCursorName()is called prior to creating a result set, then
ResultSet.getCursorName()should always return the value specified in
We note that calling
Statement.setCursorName() prior to creating a result set does
not mean that the result set is updatable, in other words, positioned update or delete may
not be allowed on a result set even if
Statement.setCursorName() was called. By default
in JDBC, a result set is read-only.
The only use for a cursor name in JDBC is to embed it in a SQL statement of the form
UPDATE ... WHERE CURRENT OF <cursor>
The cursor name provides a way to do a positioned update or delete. To enable positioned update and delete on a result set, a select query of the form
SELECT FOR UPDATE... FROM ... WHERE ...
should be used to create the result set. If
Statement.setCursorName() is not called to
specify a cursor name, then the JDBC driver or underlying DBMS must generate a cursor
name when a
SELECT FOR UPDATE statement is executed, if positioned update/delete
null if the result set is
Statement.setCursorName() was not called to specify a cursor name.
ResultSetobject that is created by a metadata operation is only required to be forward-only. Scrollability is not required for result sets produced by