This section describes ResultSet default type: forward-only, which supports only next() method to move the cursor forward one row at a time.
Another way to move the cursor to the first row on a new ResultSet object
is to call res.first(). But first() is not supported on ResultSet objects of the default type, TYPE_FORWARD_ONLY.
The following sample program shows you the error message
that you will get if you call first() on forward only ResultSet objects:
/**
* DerbyResultSetFirst.java
* Copyright (c) 2007 by Dr. Herong Yang. All rights reserved.
*/
import java.sql.*;
public class DerbyResultSetFirst {
public static void main(String [] args) {
Connection con = null;
try {
con = DriverManager.getConnection(
"jdbc:derby://localhost/TestDB");
Statement sta = con.createStatement();
// Catch the ResultSet object
ResultSet res = sta.executeQuery("SELECT * FROM Profile");
// first() is not allowed on forward-only ResultSet objects
res.first();
// Try to get column values
String firstName = res.getString("FirstName");
String lastName = res.getString("LastName");
// Close ResultSet
res.close();
sta.close();
con.close();
} catch (Exception e) {
System.err.println("Exception: "+e.getMessage());
}
}
}
Run this program to see the error if res.first() is called on forward only ResultSet objects:
Exception: This method should only be called on ResultSet objects
that are scrol lable (type TYPE_SCROLL_SENSITIVE or
TYPE_SCROLL_INSENSITIVE).