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 Java DB - Derby

 Derby (Java DB) JDBC Driver

 Derby (Java DB) JDBC DataSource Objects

 Java DB (Derby) - DML Statements

Java DB (Derby) - 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

 Java DB (Derby) - PreparedStatement

 Summary of JDBC Drivers and Database Servers

 Using Connection Pool with JDBC

 Archived Tutorials

 References

 Full Version in PDF/EPUB