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 theexecuteQuery(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.