DemoUpdatableResultSet.java Source code

Java tutorial

Introduction

Here is the source code for DemoUpdatableResultSet.java

Source

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DemoUpdatableResultSet {
    public static Connection getConnection() throws Exception {
        String driver = "oracle.jdbc.driver.OracleDriver";
        String url = "jdbc:oracle:thin:@localhost:1521:databaseName";
        String username = "name";
        String password = "password";
        Class.forName(driver);
        Connection conn = DriverManager.getConnection(url, username, password);
        return conn;
    }

    public static void main(String[] args) {
        ResultSet rs = null;
        Connection conn = null;
        PreparedStatement pstmt = null;
        try {
            conn = getConnection();
            String query = "select id, name, age from employees where age > ?";
            pstmt = conn.prepareStatement(query, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
            pstmt.setInt(1, 20); // set input values
            rs = pstmt.executeQuery(); // create an updatable ResultSet
                                       // update a column value in the current row.
            rs.absolute(2); // moves the cursor to the 2nd row of rs
            rs.updateString("name", "newName"); // updates the 'name' column of row 2 to newName
            rs.updateRow(); // updates the row in the data source
                            // insert column values into the insert row.
            rs.moveToInsertRow(); // moves cursor to the insert row
            rs.updateInt(1, 1234); // 1st column id=1234
            rs.updateString(2, "newName"); // updates the 2nd column
            rs.updateInt(3, 99); // updates the 3rd column to 99
            rs.insertRow();
            rs.moveToCurrentRow();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                rs.close();
                pstmt.close();
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}