Scrollable, Updateable Result Sets

With JDBC 1.0, all result sets could scroll only forward and were read-only. With JDBC 2.0, result sets can scroll in both directions and position the cursor randomly. They are also updateable. To implement this functionality, the Connection object’s createStatement( ) method was overloaded with the following signature:

Statement createStatement(
 int resultSetType,
 int resultSetConcurrency)

For resultSetType, there are three possible ResultSet constants you can use:

TYPE_FORWARD_ONLY

A forward-only cursor.

TYPE_SCROLL_INSENSITIVE

A scrollable, positionable result set that is not sensitive to changes made to the database while the ResultSet object is open. You would have to create a new ResultSet object to see changes made to the database.

TYPE_SCROLL_SENSITIVE

A scrollable, positionable result set that can see changes made to the database while the ResultSet object is open. Changes made at the database level to any of the column values in the result set are visible.

For resultSetConcurrency, there are two possible ResultSet constants you can use:

CONCUR_READ_ONLY

A read-only ResultSet

CONCUR_UPDATABLE

An updateable ResultSet

Since scrollability and sensitivity are independent of updateability, we end up with six possible ResultSet categories:

Forward-only/read-only
Forward-only/updateable
Scroll-insensitive/read-only
Scroll-insensitive/updateable
Scroll-sensitive/read-only
Scroll-sensitive/updateable

Oracle implements scrollability by using a client-side ...

Get Java Programming with Oracle JDBC now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.