EMPLOYEE
TRAINING MAAZunknown
java
3 years ago
9.2 kB
8
Indexable
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class Menu {
static Scanner scan;
public static void main(String args[]) {
scan = new Scanner(System.in);
while (true) {
System.out.println("----------------------------------------------");
System.out.println("1. Add Employee(empno,ename,sal,desig,deptno)");
System.out.println("2. Update employee salary by empno");
System.out.println("3. Delete employee by empno");
System.out.println("4. Display emp details by deptno");
System.out.println("5. Display all emp details");
System.out.println("0. Exit");
System.out.println("----------------------------------------------");
System.out.println("Enter choice:");
int ch = Integer.parseInt(scan.nextLine());
switch (ch) {
case 1:
addEmp();
break;
case 2:
updateSal();
break;
case 3:
deleteEmp();
break;
case 4:
displayDept();
break;
case 5:
displayAll();
break;
case 0:
System.exit(0);
}
}
}
public static void addEmp() {
try {
System.out.println("Enter empno");
int eno = Integer.parseInt(scan.nextLine());
System.out.println("Enter ename");
String enm = scan.nextLine();
System.out.println("Enter salary");
double sl = Double.parseDouble(scan.nextLine());
System.out.println("Enter desig");
String dsg = scan.nextLine();
System.out.println("Enter deptno");
int dno = Integer.parseInt(scan.nextLine());
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");
PreparedStatement stmt = con.prepareStatement("insert into emp(empno,ename,sal,job,deptno) values(?,?,?,?,?)");
stmt.setInt(1, eno);
stmt.setString(2, enm);
stmt.setDouble(3, sl);
stmt.setString(4, dsg);
stmt.setInt(5, dno);
int noe = stmt.executeUpdate();
if (noe > 0)
System.out.println("Added");
else
System.out.println("Not added");
con.close();
} catch (SQLException e) {
//System.out.println(e.getErrorCode()+"*"+e.getMessage());
if (e.getErrorCode() == 1)
System.out.println("Error:Duplicate entry");
else if (e.getErrorCode() == 1438)
System.out.println("Error: Larger data ");
else if (e.getErrorCode() == 2291)
System.out.println("Error: Invalid deptno");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void updateSal() {
try {
System.out.println("Enter empno");
int eno = Integer.parseInt(scan.nextLine());
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");
PreparedStatement stmt = con.prepareStatement("UPDATE emp SET sal=? WHERE empno=?");
stmt.setInt(2, eno);
//check for existence, repeats in all below
PreparedStatement exist = con.prepareStatement("SELECT count(*) FROM emp WHERE empno=?");
exist.setInt(1, eno);
ResultSet existing = exist.executeQuery();
existing.next();
int exists = existing.getInt(1);
//exist code finish
int noe = 0;
if (exists == 1) {
System.out.println("Enter salary");
double sl = Double.parseDouble(scan.nextLine());
stmt.setDouble(1, sl);
noe = stmt.executeUpdate();
} else
System.out.println("ID doesn't exist");
if (noe > 0)
System.out.println("Updated Salary");
else
System.out.println("Failed Updation");
con.close();
} catch (SQLException e) {
if (e.getErrorCode() == 1438)
System.out.println("Error: Larger data ");
} catch (NumberFormatException e) {
System.out.println("Takes integer and double as input only");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void deleteEmp() {
try {
System.out.println("Enter EMP ID: ");
int eno = Integer.parseInt(scan.nextLine());
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");
PreparedStatement stmt = con.prepareStatement("DELETE FROM emp WHERE empno=?");
PreparedStatement exist = con.prepareStatement("SELECT count(*) FROM emp WHERE empno=?");
stmt.setInt(1, eno);
exist.setInt(1, eno);
ResultSet existing = exist.executeQuery();
existing.next();
int exists = existing.getInt(1);
int noe = 0;
if (exists == 1) {
noe = stmt.executeUpdate();
System.out.println("The record is deleted successfully");
} else {
System.out.println("EMP ID doesn't exist");
}
} catch (SQLException e) {
if (e.getErrorCode() == 1438)
System.out.println("Error: Larger data ");
} catch (NumberFormatException e) {
System.out.println("Takes integer and double as input only");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void displayDept() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");
System.out.println("Enter the Department no.:");
int deptno = Integer.parseInt(scan.nextLine());
PreparedStatement stmt = con.prepareStatement("SELECT * FROM emp WHERE deptno=?");
stmt.setInt(1, deptno);
PreparedStatement exist = con.prepareStatement("SELECT count(*) FROM emp WHERE deptno=?");
exist.setInt(1, deptno);
ResultSet existing = exist.executeQuery();
existing.next();
int exists = existing.getInt(1);
if (exists > 0) {
ResultSet rs = stmt.executeQuery();
while (rs.next())
System.out.println("| " + rs.getInt(1) + " | " + rs.getString(2) + " | " + rs.getString(3) + " | " + rs.getInt(4) + " | " + rs.getString(5) + " | " + rs.getInt(6) + " | " + rs.getInt(7) + " |");
} else {
System.out.println("Department ID doesn't exist.");
}
} catch (SQLException e) {
if (e.getErrorCode() == 1438)
System.out.println("Error: Larger data ");
} catch (NumberFormatException e) {
System.out.println("Takes integer and double as input only");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void displayAll() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "scott", "tiger");
Statement existing = con.createStatement();
ResultSet exist = existing.executeQuery("SELECT count(*) FROM emp");
exist.next();
int exists = exist.getInt(1);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM emp");
if (exists > 0) {
while (rs.next())
System.out.println("| " + rs.getInt(1) + " | " + rs.getString(2) + " | " + rs.getString(3) + " | " + rs.getInt(4) + " | " + rs.getString(5) + " | " + rs.getInt(6) + " | " + rs.getInt(7) + " |");
} else {
System.out.println("No Records in EMP Table");
}
} catch (SQLException e) {
System.out.println(e.getErrorCode() + "*" + e.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}Editor is loading...