sql

Determine if a ResultSet is updatable

With this example we are going to demonstrate how to determine if a ResultSet is updatable. An updatable ResultSet is a table of data representing a database result set, that can be updated by others. In short, to determine if a ResultSet is updatable you should:

  • Load the JDBC Driver, using the forName(String className) API method of the Class. In this example we use the MySQL JDBC driver.
  • Create a Connection to the database. Invoke the getConnection(String url, String user, String password) API method of the DriverManager to create the connection.
  • Get a result set containing all data from a specific table. Create a Statement, using the createStatement() API method of the Connection. Execute the query to the database, using the executeQuery(String sql) API method of the Statement. The results of the query are set in a ResultSet.
  • In order to check if the ResultSet is updatable, use the getConcurrency() API method. If it is equal to CONCUR_UPDATABLE then the ResultSet is updatable.

Let’s take a look at the code snippet that follows:

package com.javacodegeeks.snippets.core;

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

public class DetermineUpdatableResultSet {
 
  public static void main(String[] args) {

    Connection connection = null;
    try {

  // Load the MySQL JDBC driver

  String driverName = "com.mysql.jdbc.Driver";

  Class.forName(driverName);


  // Create a connection to the database

  String serverName = "localhost";

  String schema = "test";

  String url = "jdbc:mysql://" + serverName +  "/" + schema;

  String username = "username";

  String password = "password";

  connection = DriverManager.getConnection(url, username, password);

  

  System.out.println("Successfully Connected to the database!");

  
    } catch (ClassNotFoundException e) {

  System.out.println("Could not find the database driver " + e.getMessage());
    } catch (SQLException e) {

  System.out.println("Could not connect to the database " + e.getMessage());
    }

    try {


  // Get a result set containing all data from test_table

  Statement statement = connection.createStatement();

  ResultSet results = statement.executeQuery("SELECT * FROM test_table");


  // Get concurrency of the result set

  int concurrency = results.getConcurrency();


  if (concurrency == ResultSet.CONCUR_UPDATABLE) {


System.out.println("Result set is updatable");

  } else {


System.out.println("Result set is not updatable");

  }

    } catch (SQLException e) {

  System.out.println("Could not execute statement " + e.getMessage());
    }

  }
}

Example Output:

Successfully Connected to the database!
Result set is not updatable

 
This was an example of how to determine if a ResultSet is updatable in Java.

Ilias Tsagklis

Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
Back to top button