Connecting JdbcRowSet with a Predefined ResultSet Object

This section describes how to connect a JdbcRowSet object to a database server with a predefined ResultSet object.

Another way to connect a JdbcRowSet object to a database server is to pass a predefined ResultSet object to the JdbcRowSetImpl constructor. Here is a sample sequence of method calls:

// Create a Connection object
  Connection con = DriverManager.getConnection("connection_url");

// Execute a SQL statement to generate a Result object
  Statement sta = con.createStatement();
  ResultSet res = sta.executeQuery("SQL_statement");

// Creating a JdbcRowSet object with a connection object
  JdbcRowSet jrs = new JdbcRowSetImpl(res);

// Ready to retrieve column values
  jrs.next();
  String val = jrs.getString(1)

Here is a sample program that connects a JdbcRowSet object to Oracle server with a predefined ResultSet object:

/* OracleRowSetResultSet.java
 * Copyright (c) HerongYang.com. All Rights Reserved.
 */
import java.sql.*;
public class OracleRowSetResultSet {
  public static void main(String [] args) {
    Connection con = null;
    try {

// Create a Connection object
      con = DriverManager.getConnection(
        "jdbc:oracle:thin:Herong/TopSecret@//localhost:1521/XE");

// Execute a SQL statement to generate a Result object
      Statement sta = con.createStatement();
      ResultSet res = sta.executeQuery(
        "SELECT 'Hello world!' FROM DUAL");

// Pass the Connection object to the new JdbcRowSet object
      javax.sql.rowset.JdbcRowSet jrs
        = new com.sun.rowset.JdbcRowSetImpl(res);

// Get the result
      jrs.next();
      System.out.println("Result: "+jrs.getString(1));

// Close resources
      jrs.close();
      res.close();
      sta.close();
      con.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

com.sun.rowset.JdbcRowSetImpl class is no longer accessible in newer versions of JDK. You can only use the sample in over JDK versions:

herong> Progra~1\java\jdk1.8.0_45\bin\java \
   -cp .;ojdbc6.jar OracleRowSetResultSet.java

OracleRowSetResultSet.java:21:
warning: com.sun.rowset.JdbcRowSetImpl is Sun proprietary API
and may be removed in a future release
        = new com.sun.rowset.JdbcRowSetImpl(con);
                            ^
1 warning

herong> Progra~1\java\jdk1.8.0_45\bin\java \
   -cp .;ojdbc6.jar OracleRowSetResultSet

Result: Hello world!

Table of Contents

 About This Book

 JDBC (Java Database Connectivity) Introduction

 JDK (Java SE) Installation

 Oracle Express Edition Installation on Windows

 Oracle JDBC Drivers

Oracle - Reference Implementation of JdbcRowSet

 Overview of RowSet Objects

 Installation of JdbcRowSet Reference Implementation

 Connecting JdbcRowSet to Database Servers

 Connecting JdbcRowSet with a Connection URL

 Connecting JdbcRowSet with a Predefined Connection Object

Connecting JdbcRowSet with a Predefined ResultSet Object

 Connecting JdbcRowSet with JNDI Directory Service

 JdbcRowSet Query Statement with Parameters

 Inserting Rows with JdbcRowSet Objects

 Oracle - PreparedStatement

 Oracle - JBDC CallableStatement

 Oracle CLOB (Character Large Object) - TEXT

 Oracle BLOB (Binary Large Object) - BLOB

 Archived Tutorials

 References

 Full Version in PDF/EPUB