A default ResultSet object is not updateable and has a cursor that moves forward only. Thus, it is possible to iterate through it only once and only from the first row to the last row. The JDBC 2.0 API has introduced new methods that make it possible to produce ResultSet objects that are scrollable and/or updateable. There are methods that move the cursor to a particular row and that check the position of the cursor. This enables moving the cursor to a particular row so that you can make updates to that row. Scrollable result sets make it easy to create applications containing a graphical interface for browsing result set data.
The following code fragment, in which ‘con’ is a valid Connection object, illustrates how to make a result set that is scrollable and insensitive to updates by others, and that is updateable.
/* create a Statement object, whose ResultSet _objects will bescrollable, will not show changes made by others, _and will be updateable */ Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, _ResultSet.CONCUR_UPDATEABLE); ResultSet rs = stmt.executeQuery("SELECT Name, _Age FROM Employees"); /* say, you now want to update the "Name" column _in the fifth row */ /* move the cursor to the fifth row of rs */ rs.absolute(5); /* update the "Name" column of row 5 to be "Erin" */ rs.updateString("Name", "Erin"); /* update the row in the data source */ rs.updateRow();
Keep in mind, however, that scrollable result sets involve overhead, so you should create them only when your application uses scrolling.