JDBC Tutorials - Herong's Tutorial Notes
Dr. Herong Yang, Version 2.11

Executing "Update" Statements - executeUpdate()

This section describes how to execute 'update' SQL statements like DDL statements, or DML statements.

JDBC supports two basic types of statement executions:

  • Query Statement Execution - executeQuery() - Executes a SQL SELECT statement and returns a ResultSet object.
  • Update Statement Execution - executeUpdate() - Executes a SQL DDL or DML statement and returns 0 or the number of affected rows.

Note executing update statements requires higher security permissions. I am assuming that your login has been granted enough permissions to follow my tutorials.

DDL (Data Definition Language) statements are used to create, alter or drop database objects like tables, views, indexes, or stored procedures. Here is a sample Java program that uses an executeUpdate() method to create a simple table in the current database:

/**
 * ExecuteUpdate.java
 * Copyright (c) 2007 by Dr. Herong Yang. All rights reserved.
 */
import java.sql.*;
public class ExecuteUpdate {
  public static void main(String [] args) {
    Connection con = null;
    try {

      Class.forName(
        "com.microsoft.sqlserver.jdbc.SQLServerDriver");
      con = DriverManager.getConnection(
          "jdbc:sqlserver://localhost:1269;"
        + "user=sa;password=HerongYang;"
        + "database=AdventureWorksLT");

// Executing update statements
      Statement sta = con.createStatement(); 
      int count = sta.executeUpdate(
        "CREATE TABLE HerongTest (Name VARCHAR(20), Age INT)");
      System.out.println("Return value from executeUpdate(): "+count); 
      System.out.println("Table created."); 
      sta.close();

      con.close();
    } catch (java.lang.ClassNotFoundException e) {
      System.err.println("ClassNotFoundException: "
        +e.getMessage());
    } catch (SQLException e) {
      System.err.println("SQLException: "
        +e.getMessage());
    }
  }
}

If you run this program, a new table will be created in the current database on the SQL Server, and you will get a output message like this:

Return value from executeUpdate(): 0
Table created.

But if you run it again, you will get a SQLException because the same table can not be created twice:

SQLException: There is already an object named 'HerongTest' 
in the database.

Sections in This Chapter

Executing "Update" Statements - executeUpdate()

"CREATE SCHEMA" Statements

"CREATE TABLE" Statements

"ALTER TABLE" Statements

"DROP TABLE" Statements

Dr. Herong Yang, updated in 2007
Executing "Update" Statements - executeUpdate()