insertRow() - Inserting New Rows through ResultSet Objects

This section describes how to insert rows into target tables through ResultSet objects.

A ResultSet object with update capability can also be used to insert new rows into database tables. All you need to do are:

I wrote the following sample program to test this feature:

 * Copyright (c) All Rights Reserved.
import java.sql.*;
public class DerbyResultSetInsertRow {
  public static void main(String [] args) {
    Connection con = null;
    try {
      con = DriverManager.getConnection("jdbc:derby://localhost/TestDB");

// Create a Statement for scrollable ResultSet
      Statement sta = con.createStatement(

// Catch the ResultSet object
      ResultSet res = sta.executeQuery(
        "SELECT * FROM Profile WHERE 1=2");

// Check ResultSet's updatability
      if (res.getConcurrency() == ResultSet.CONCUR_READ_ONLY) {
        System.out.println("ResultSet non-updatable.");
      } else {
        System.out.println("ResultSet updatable.");

// Move the cursor to the insert row

// Set the new first name and last name
      res.updateString("FirstName", "Lucy");
      res.updateString("LastName", "Harrington");
      res.updateString("Point", "123.456");
      res.updateString("BirthDate", "1977-07-07");
      res.updateString("ModTime", "2007-01-01 01:01:01.001");

// Store the insert into database

// Move the cursor back to the current row

      System.out.println("Row inserted ok.");

// Close ResultSet and Statement

    } catch (Exception e) {
      System.err.println("Exception: "+e.getMessage());

Also notice that I used "1=2" as the WHERE condition to purposely generate an empty ResultSet object. The program executed correctly:

ResultSet updatable.
Row inserted ok.

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


 Full Version in PDF/EPUB