JDBC Tutorials - Herong's Tutorial Examples - v3.12, by Dr. Herong Yang
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 scrol lable (type TYPE_SCROLL_SENSITIVE or TYPE_SCROLL_INSENSITIVE).
Table of Contents
JDBC (Java Database Connectivity) Introduction
Installing and Running Java DB - Derby
Derby (Java DB) JDBC DataSource Objects
Java DB (Derby) - DML Statements
►Java DB (Derby) - ResultSet Objects of Queries
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
MySQL JDBC Driver (MySQL Connector/J)
MySQL - Reference Implementation of JdbcRowSet
MySQL - JBDC CallableStatement
MySQL CLOB (Character Large Object) - TEXT
MySQL BLOB (Binary Large Object) - BLOB
Oracle Express Edition Installation on Windows
Oracle - Reference Implementation of JdbcRowSet
Oracle - JBDC CallableStatement
Oracle CLOB (Character Large Object) - TEXT
Oracle BLOB (Binary Large Object) - BLOB
Microsoft SQL Server Express Edition
Microsoft JDBC Driver for SQL Server
Microsoft JDBC Driver - Query Statements and Result Sets
Microsoft JDBC Driver - DatabaseMetaData Object
Microsoft JDBC Driver - DDL Statements
Microsoft JDBC Driver - DML Statements
SQL Server - PreparedStatement
SQL Server CLOB (Character Large Object) - TEXT
SQL Server BLOB (Binary Large Object) - BLOB
JDBC-ODBC Bridge Driver - sun.jdbc.odbc.JdbcOdbcDriver
JDBC-ODBC Bridge Driver - Flat Text Files
JDBC-ODBC Bridge Driver - MS Access
JDBC-ODBC Bridge Driver - MS SQL Server
Summary of JDBC Drivers and Database Servers