3.How to Edit-Update data from the database?


Steps:

1.     Create a Program.java and type the codes below:
class Program
{
    public static void main(String[] args)
    {
        EmployeesModel EmployeeModel = new EmployeesModel(MSAccessDB.Connect());
        EmployeesView EmployeeView = new EmployeesView(EmployeeModel);
        EmployeesController EmployeeController = new EmployeesController(EmployeeModel, EmployeeView);
    }

}

2.     Create PersonsModel.java and type the codes below:
class PersonsModel
{
    private String name;
    private String address;
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
    public String getAddress() { return address; }
    public void setAddress(String address) { this.address = address; }
    public PersonsModel()
    {
        setName("Mario Silvano");
        setAddress("Cebu City");
    }
    public String toString()
    {
        return "\nName: " + getName() +
                  "\nAddress:" + getAddress();
    }
}

3.     Create EmployeesModel.java and type the codes below:
import java.sql.*;
import java.util.*;
import java.io.*;
class EmployeesModel extends PersonsModel{
        private int id;
        Connection db;

        public int getId(){return id;}
        public void  setId(int id){this.id=id;}

        public EmployeesModel(){ }

        public EmployeesModel(Connection db){
                        this.db=db;
                        }
        public boolean isFound(int id){
                        String sql="SELECT * FROM Employees WHERE id="+id;
                        ResultSet rs = MSAccessDB.Search(sql,db);
                        boolean found=false;

                        try{
                                        while(rs.next()){found=true;}
                        }catch(Exception ex){ex.printStackTrace();}
                        return found;
        }

        public boolean update(EmployeesModel Employee){
                        String sql = "UPDATE Employees SET EmpName='"+Employee.getName()+"'"+
                                                                         ",EmpAddress='"+Employee.getAddress()+"'"+
                                                                         " WHERE id="+Employee.getId();
                        return MSAccessDB.Update(sql,db);
        }

        public String toString(){
                                        return "\nID="+getId()+super.toString();
                        }

        }
4.     Create EmployeesView.java and type the codes below:
class EmployeesView
{

    EmployeesModel EmployeeModel;

    public EmployeesModel getEmployeeModel()
    {
        return EmployeeModel;
    }
    public void setEmployeeModel(EmployeesModel EmployeeModel)
    {
        this.EmployeeModel = EmployeeModel;
    }
    public EmployeesView() { }
    public EmployeesView(EmployeesModel EmployeeModel)
    {
        setEmployeeModel(EmployeeModel);
    }

    public void menu(){
                                                                Console.out.println("Menu-----");
                                                                Console.out.println("[3]Edit/Update");
                                                                Console.out.println("[5]Quit");
                                                                Console.out.print("Select Menu[1-5]: ");
                                        }

    public void id(){Console.out.print("Input ID:");}
    public void name(){Console.out.print("Input Name:");}
    public void address(){Console.out.print("Input Address:");}
    public void updatedSuccessfully(){Console.out.println("Updated Successfully...");}
    public void errMsg(){Console.out.println("Error Encountered...");}
    public void notFoundMsg(){Console.out.println("Not Found...");}
}

5.     Create EmployeesController.java and type the codes below:
class EmployeesController
{

    private EmployeesModel EmployeeModel;
    private EmployeesView EmployeeView;
    private int option;

    public int getOption() { return option; }
    public EmployeesModel getEmployeeModel()
    {
        return EmployeeModel;
    }
    public void setEmployeeModel(EmployeesModel EmployeeModel)
    {
        this.EmployeeModel = EmployeeModel;
    }

    public EmployeesView getEmployeeView()
    {
        return EmployeeView;
    }
    public void setEmployeeView(EmployeesView EmployeeView)
    {
        this.EmployeeView = EmployeeView;
    }
    public void setOption(int option) { this.option = option; }

    public EmployeesController() { }

    public EmployeesController(EmployeesModel EmployeeModel, EmployeesView EmployeeView)
    {
        setEmployeeModel(EmployeeModel);
        setEmployeeView(EmployeeView);
        MenuUI();
    }

    private void MenuUI(){
                        do{
                                        EmployeeView.menu();
                                        setOption(Console.in.readIntegerInput());
                                        switch(getOption()){
                                        case 3:
                                                        edit();
                                        break;
                                        }
                        }while(getOption()!=5);
        }

    private EmployeesModel Employee(){
                        EmployeesModel Employee=new EmployeesModel();
                        EmployeeView.name();
                        Employee.setName(Console.in.readStringInput());
                        EmployeeView.address();
                        Employee.setAddress(Console.in.readStringInput());
                        return Employee;
                        }
    private void edit(){
                                        EmployeeView.id();
                                        int id = Console.in.readIntegerInput();
                                        boolean found=EmployeeModel.isFound(id);
                                        if(found==true){
                                                        EmployeesModel Employee=Employee();
                                                        Employee.setId(id);
                                                        boolean result=EmployeeModel.update(Employee);
                                                        if(result)EmployeeView.updatedSuccessfully();
                                                        else EmployeeView.errMsg();
                                        }
                                        else{EmployeeView.notFoundMsg();}

                        }
}

6.     Create MSAccessDB.java and type the codes below:
import java.sql.*;
class MSAccessDB{
        public static Connection Connect(){
        Connection conn=null;
        try{
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=EmployeesDB.mdb;";
        conn = DriverManager.getConnection(database, "", "");
}catch(Exception ex){ex.printStackTrace();}

        return conn;
        }
                                public static boolean Update(String sql,Connection db){
                                                return Execute(sql,db);
                                                }
                                public static ResultSet Search(String sql,Connection db){
                                                return Query(sql,db);
                                }

                                private static boolean Execute(String sql,Connection db){
                                                try{
                                                                Statement s = db.createStatement();
                                                                s.execute(sql);
                                                                s.close();
                                                                return true;
                                                                }catch(Exception ex){
                                                                ex.printStackTrace();
                                                                return false;
                                                }
                                }

                                private static ResultSet Query(String sql,Connection db){
                                                ResultSet rs=null;
                                                try{
                                                                Statement s = db.createStatement();
                                                                s.execute(sql);
                                                                rs = s.getResultSet();
                                                                }catch(Exception ex){
                                                                ex.printStackTrace();
                                                                }
                                                return rs;
                                }
}
7.     Create a Console.java and type the codes below:
import java.io.*;
class Console{
                                public static class out{
                                                public static void print(String str){System.out.print(str);}
                                                public static void println(String str){System.out.println(str);}
                                                public static void println(Object obj){System.out.println(obj);}
                                }

                                public static class                in{
                                                static int readIntegerInput(){
                                                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                                                                int input=0;
                                                                try{input=Integer.parseInt(br.readLine());}
                                                                catch(Exception ex){out.println("Error: "+ex.getMessage());System.exit(1);}
                                                return input;
                                                                                }
                                                static String readStringInput(){
                                                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                                                String input="";
                                                try{input=br.readLine();}
                                                catch(Exception ex){out.println("Error: "+ex.getMessage());System.exit(1);}
                                                return input;
                                }
          }
}
8.     Put your code to the test, nice jobJ

No comments:

Post a Comment