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
