09 - Java JDBC Update

JDBC Update Table Example

We can use java jdbc update statements in a java program to update the data for a Table.
Below is a program showing the use of jdbc executeupdate (uses jdbc update query) to update a table.

The return value for a jdbc sql update is an int that indicates how many rows of a table
were updated.
For instance in a statement like

int n = stmt.executeUpdate();

For my website I am creating the following 2 tables (Employee, Orders) as a part of the JDBC update table statement.

Employee_ID is the primary key which forms a relation between the 2 tables.

 

CREATE TABLE Employees (
Employee_ID INTEGER,
Name VARCHAR(30)
);

Employees: 

Employee_ID

Name

6323

Hemanth

5768

Bob

1234

Shawn

5678

Michaels

Orders:

CREATE TABLE Orders (
Prod_ID INTEGER,
ProductName VARCHAR(20),
Employee_ID INTEGER
);

Prod_ID

Product Name

Employee_ID

543

Belt

6323

432

Bottle

1234

876

Ring

5678

Below is a jdbc update example

import javax.swing.JOptionPane;
import java.sql.*;
public class JDBCProgram{

   static String userid="scott", password = "tiger";
   static String url = "jdbc:odbc:bob";
   // String url = "jdbc:mySubprotocol:myDataSource"; ?
   static Statement stmt;
   static Connection con;
   public static void main(String args[]){

     do{
            choice = getChoice();
            if (choice != 0){
                getSelected(choice);
            }
        }
        while ( choice !=  0);
            System.exit(0);
    }

    public static int getChoice()
    {
        String choice;
        int ch;
        choice = JOptionPane.showInputDialog(null,
            "1. Create Employees Table\n"+
            "2. Create Products Table\n"+
            "3. Insert data into Employees Table\n"+
            "4. Insert data into Orders Table\n"+
            "5. Retrieve data for Employees Table\n"+
            "6. Retrieve data for Orders Table\n"+
            "7. Update Employees Table\n"+
            "0. Exit\n\n"+
            "Enter your choice");
        ch = Integer.parseInt(choice);
        return ch;
    }

    public static void getSelected(int choice){
        if(choice==1){
            createEmployees();
        }
        if(choice==2){
            createOrders();
        }
        if(choice==3){
            insertEmployees();
        }
        if(choice==4){
            insertOrders();
        }
        if(choice==5){
            retrieveEmployees();
        }
        if(choice==6){
            retrieveOrders();
        }
        if(choice==7){
            updateEmployees();    //Uses JDBC Update Statement
        }
    }

    public static Connection getConnection()
    {

      try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            //Class.forName("myDriver.ClassName"); ?
           } catch(java.lang.ClassNotFoundException e) {
            System.err.print("ClassNotFoundException: ");
            System.err.println(e.getMessage());
           }

      try {
            con = DriverManager.getConnection(url,
                userid, password);
          } catch(SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
          }
         
            return con;
    }

    /*CREATE TABLE Employees (
            Employee_ID INTEGER,
            Name VARCHAR(30)
        );*/

    public static void createEmployees()
    {
        Connection con = getConnection();

        String createString;
        createString = "create table Employees (" +
                            "Employee_ID INTEGER, " +
                            "Name VARCHAR(30))";
        try {
            stmt = con.createStatement();
               stmt.executeUpdate(createString);
            stmt.close();
            con.close();

           } catch(SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
           }
          JOptionPane.showMessageDialog(null,"Employees Table Created");
     }

     /*CREATE TABLE Orders (
            Prod_ID INTEGER,
            ProductName VARCHAR(20),
            Employee_ID INTEGER
        );*/


     public static void createOrders()
     {
        Connection con = getConnection();

        String createString;
        createString = "create table Orders (" +
                        "Prod_ID INTEGER, " +
                        "ProductName VARCHAR(20), "+
                        "Employee_ID INTEGER )";


        try {
               stmt = con.createStatement();
               stmt.executeUpdate(createString);

               stmt.close();
               con.close();

             } catch(SQLException ex) {
               System.err.println("SQLException: " + ex.getMessage());
            }
           JOptionPane.showMessageDialog(null,"Orders Table Created");
     }
     /*Employee_ID     Name
         6323         Hemanth
         5768         Bob
         1234         Shawn
         5678         Michaels */
    public static void insertEmployees()
    {
      Connection con = getConnection();

      String insertString1, insertString2, insertString3, insertString4;
      insertString1 = "insert into Employees values(6323, 'Hemanth')";
      insertString2 = "insert into Employees values(5768, 'Bob')";
      insertString3 = "insert into Employees values(1234, 'Shawn')";
      insertString4 = "insert into Employees values(5678, 'Michaels')";

      try {
            stmt = con.createStatement();
            stmt.executeUpdate(insertString1);
            stmt.executeUpdate(insertString2);
            stmt.executeUpdate(insertString3);
            stmt.executeUpdate(insertString4);

            stmt.close();
            con.close();

          } catch(SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
          }
          JOptionPane.showMessageDialog(null,"Data Inserted into Employees Table");
     }

     /*    Prod_ID     ProductName     Employee_ID
             543     Belt             6323
             432     Bottle             1234
             876     Ring            5678
    */
    public static void insertOrders()
    {
        Connection con = getConnection();

        String insertString1, insertString2, insertString3, insertString4;
        insertString1 = "insert into Orders values(543, 'Belt', 6323)";
        insertString2 = "insert into Orders values(432, 'Bottle', 1234)";
        insertString3 = "insert into Orders values(876, 'Ring', 5678)";

        try {
            stmt = con.createStatement();
               stmt.executeUpdate(insertString1);
               stmt.executeUpdate(insertString2);
               stmt.executeUpdate(insertString3);

               stmt.close();
               con.close();

              } catch(SQLException ex) {
               System.err.println("SQLException: " + ex.getMessage());
        }
         JOptionPane.showMessageDialog(null,"Data Inserted into Orders Table");
    }  

    public static void retrieveEmployees(){
        Connection con = getConnection();
        String result = null;
        String selectString;
        selectString = "select * from Employees";
        result ="Employee_ID\t\tName\n";
        try {
            stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(selectString);
            while (rs.next()) {
                int id = rs.getInt("Employee_ID");
                String name = rs.getString("Name");
                result+=id+"\t\t"+ name+"\n";
            }
              stmt.close();
              con.close();
            } catch(SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
        }
        JOptionPane.showMessageDialog(null, result);
    }

    public static void retrieveOrders(){
        Connection con = getConnection();
        String result = null;
        String selectString;
        selectString = "select * from Orders";
        result ="Prod_ID\t\tProductName\t\tEmployee_ID\n";
        try {
            stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery(selectString);
            while (rs.next()) {
                int pr_id = rs.getInt("Prod_ID");
                String prodName = rs.getString("ProductName");
                int id = rs.getInt("Employee_ID");
                result +=pr_id+"\t\t"+ prodName+"\t\t"+id+"\n";
            }
            stmt.close();
            con.close();

           } catch(SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
        }
        JOptionPane.showMessageDialog(null, result);
    }

    public static void updateEmployees(){
        Connection con = getConnection();

        String updateString1;
        updateString1 = "update Employees set name = 'hemanthbalaji'
        where Employee_id = 6323";

        try {
               stmt = con.createStatement();
               stmt.executeUpdate(updateString1);

               stmt.close();
               con.close();
       } catch(SQLException ex) {
            System.err.println("SQLException: " + ex.getMessage());
        }
         JOptionPane.showMessageDialog(null,"Data Updated into Employees Table");
    }
}//End of class

 

 

 

Like us on Facebook