ResultSet Default Type: Forward-only

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) HerongYang.com. 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 scrollable (type TYPE_SCROLL_SENSITIVE or
TYPE_SCROLL_INSENSITIVE).

Table of Contents

 About This Book

 JDBC (Java Database Connectivity) Introduction

 JDK (Java SE) Installation

 Installing and Running Derby (Java DB)

 Derby (Java DB) JDBC Driver

 Derby (Java DB) JDBC DataSource Objects

 Derby (Java DB) - DML Statements

Derby (Java DB) - ResultSet Objects of Queries

 What Is ResultSet?

 ResultSet Cursor and Scrollability

 ResultSet Cursor Initial Position: Before First Row

 Retrieving Column Values with getXXX() Methods

ResultSet Default Type: Forward-only

 Scrollable ResultSet and Moving Cursor Backward

 ResultSet Objects with Update Capability

 insertRow() - Inserting New Rows through ResultSet Objects

 updateXXX() - Updating Column Values for Row Update or Insert

 deleteRow() - Deleting Rows through ResultSet Objects

 Derby (Java DB) - PreparedStatement

 Summary of JDBC Drivers and Database Servers

 Using Connection Pool with JDBC

 Archived Tutorials

 References

 Full Version in PDF/EPUB