Thursday, 5 July 2018

The Planet Food App

Here i will posting links for all UI (better and improved version of sir's)

SPLASH SCREEN-

here screen size is 700*350 px
and the image resource is of size 700*315 px 
35px for the progress bar


download the above image from 
LINK

CODE-
public class Splash_screen_frame extends javax.swing.JFrame {

 //declaring inner class object globally to be accessed by others
    SplashThread sp;
    
    public Splash_screen_frame() 
    {
        initComponents();
        super.setLocationRelativeTo(null);
        
        jProgressBar1.setStringPainted(true);
        sp=new SplashThread();
        sp.start();
    }


    //declaring new class
    class SplashThread extends Thread
    {
        public void run()
        {
            int count=1;
            Random r=new Random();
            while(jProgressBar1.getValue()<jProgressBar1.getMaximum())
            {
                try
                {
                    jProgressBar1.setValue((int)count);
                    Thread.sleep(1200);
                    count=count+r.nextInt(100);
                }
                catch(InterruptedException e)
                {
                    JOptionPane.showMessageDialog(null, "Exception in Thread"+e, "Error", JOptionPane.ERROR_MESSAGE);
                    e.printStackTrace();
                }
            }
            Splash_screen_frame.this.dispose();
            Login_frame login=new Login_frame();
            login.setVisible(true);
        }
    }


}


DIRECTORY STRUCTURE-




LOGIN PAGE -

here screen size is 700*300 px
and the image resource is of size 350*300 px
350px for the login section which is placed over a panel



download the above image from 

CODE-
import Planet_Food.Dao.UserDao;
import Planet_Food.dbUtil.DBConnection;
import Planet_Food.pojo.User;
import Planet_Food.pojo.UserProfile;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
public class Login_frame extends javax.swing.JFrame {

    private String userId;
    private String password;
         
    public Login_frame()
    {
        initComponents();
        this.setLocationRelativeTo(null);
     
    }
 
    public boolean isvalidInput()
    {
        userId=txtUserId.getText();
        char []pwd=txtPassword.getPassword();
        if(userId.isEmpty() || pwd.length==0)
        {
            return false;
        }
        else
        {
            password=String.valueOf(pwd);//convert any type into string
            return true;
        }
     
    }
 
    private String getUserType()
    {
        if(jrAdmin.isSelected())
            return jrAdmin.getText();
        else if(jrCashier.isSelected())
            return jrCashier.getText();
        else
            return null;
    }

                                   

    private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) {                                       
        //LOGIN here
     
        if(isvalidInput())
        {
            String usertype=null;
            if(usertype.equals(null))
            {
                JOptionPane.showMessageDialog(null, "Select a radio button","Error",JOptionPane.ERROR_MESSAGE);
            }
            else
            {
                //if all values are validated
                try
                {
                    User user=new User();
                    user.setUserId(userId);
                    user.setPassword(password);
                    user.setUserType(usertype);
                    String username=UserDao.validateUser(user);
                    if(username!=null)
                    {
                        //everything correct
                        JOptionPane.showMessageDialog(null, "Login Accepted","Wlcome"+username,JOptionPane.INFORMATION_MESSAGE);
                        UserProfile.setUsername(username);
                        UserProfile.setUsertype(usertype);
                        if(usertype.equalsIgnoreCase("admin"))
                        {
                            admin_option_frame adminFrame=new admin_option_frame();
                            adminFrame.setVisible(true);
                        }
                        else
                        {
                            Cashier_option_frame cashierFrame=new Cashier_option_frame();
                            cashierFrame.setVisible(true);
                        }
                        this.dispose();
                     
                    }
                    else
                    {
                        JOptionPane.showMessageDialog(null, "UserId or Password incorrect","Login Denied",JOptionPane.ERROR_MESSAGE);
                    }
                }
                catch(Exception e)
                {
                    JOptionPane.showMessageDialog(null, "DB error: "+e,"Exception",JOptionPane.ERROR_MESSAGE);
                    e.printStackTrace();
                }
             
            }
        }
        else
        {
            JOptionPane.showMessageDialog(null, "UserId or Password incorrect","Incorrect",JOptionPane.ERROR_MESSAGE);
        }
     
    }                                     

    private void btnQuitActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
        DBConnection.closeConnection();
        int ans=0;
            ans=JOptionPane.showConfirmDialog(null, "Are you sure?", "Quitting", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
            if(ans==JOptionPane.YES_OPTION)
            {
                System.exit(0);
            }
    }                                     

}

Now Create a package called PlanetFood.pojo

inside this create a java file named as User

CODE inside User-  (pojo)

public class User {
    
    private String userId;
    private String password;
    private String userType;

    public String getUserid() {
        return userId;
    }

    public void setUserId(String userid) {
        this.userId = userId;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getUserType() {
        return userType;
    }

    public void setUserType(String userType) {
        this.userType = userType;
    }
    
}

Now create another class in pojo package named as  UserProfile

public class UserProfile {
    
    private static String username;
    private static String usertype;

    public static String getUsername() {
        return username;
    }

    public static void setUsername(String username) {
        UserProfile.username = username;
    }

    public static String getUsertype() {
        return usertype;
    }

    public static void setUsertype(String usertype) {
        UserProfile.usertype = usertype;
    }
    
}


Now Create a package called PlanetFood.dbUtils

inside this create a java class called DBConnection

Code-

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
public class DBConnection {
   
    private static Connection conn=null;
   
    static
    {
        try{
            Class.forName("oracle.jdbc.driver.OracleDriver");
            conn=DriverManager.getConnection("jdbc:oracle:thin:@//localhost:1521/xe","naman","naman");
            JOptionPane.showMessageDialog(null,"Successfully loaded","Sucess!",JOptionPane.INFORMATION_MESSAGE);
           
        }
        catch(ClassNotFoundException e)
        {
            JOptionPane.showMessageDialog(null,"class not found exception"+ e.getMessage(),"Exception",JOptionPane.ERROR_MESSAGE);
            e.printStackTrace();
        }
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(null,"SQL Exception"+ ex.getMessage(),"Exception",JOptionPane.ERROR_MESSAGE);
            ex.printStackTrace();
        }
       
       
    }
    public static Connection getConnection()
        {
            return(conn);
        }
   
    public static void closeConnection()
    {
        if(conn!=null)
            {
                try{
                    conn.close();
       
                }
                catch(SQLException ex)
                {
                    JOptionPane.showMessageDialog(null,"Error while disconnecting","Exception",JOptionPane.ERROR_MESSAGE);
                   
                }
            }
    }
   
}


Now Create another package called FoodPlanet.Dao

inside this create a java class called UserDao

CODE-

import Planet_Food.dbUtil.DBConnection;
import Planet_Food.pojo.User;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author Naman Khurpia
 */
public class UserDao {
   
    public static String validateUser(User user)throws SQLException
    {
        Connection conn=DBConnection.getConnection();
        String qry="select username from Users where userid=? and password=? and usertype=?";
        PreparedStatement ps=conn.prepareStatement(qry);
       
        ps.setString(1,user.getUserid());
        ps.setString(2,user.getPassword());
        ps.setString(3,user.getUserType());
        ResultSet rs=ps.executeQuery();
        String username=null;
        if(rs.next())//if we user while it will be the same as that of if,  no changes in that
        {
            username=rs.getString(1);
           
        }
        return  username;
    }
   
}





Tuesday, 3 July 2018

The EMP management app(with 5 functionality) 100% COMPLETE AND TESTED

DOWNLOAD THE ENTIRE WORKING PROJECT FROM HERE(netbeans project file)




DOWNLOAD

click on clone or download



OR follow yourself


Follow the steps carefully-


1. create a new netbeans project (name it as emp_management, or anything of your choice)
2. now create a package named as emp.gui (it is named as PROJECTNAME.PACKAGENAME).
3. now create a new JFrame Form and create the UI of the project.
4. before dragging the elements first place a PANEL in the frame and select colors then start placing the elements


5. Now create the following UI-

1 option frame- name it as option_frame


2 add employee frame name it as add_emp


3 search emp name it as search_emp


4 view all emp name it as view_all_emp



5. Now we will create a directory structure as following-


(Notice here how the package names are given packagename.source)
please make sure you name your package and java classes as mentioned
dao-data access objects
pojo-plain old java objects

6. create the required package and the required classes as shown in the diagram and create a table in SQL with the command-

create table emp_table(empno number(5),empname varchar2(20), salary number(10));

desc emp_table;

select * from emp_table;

7. now we will start off with pojo (most easiest)

contains the data elements getter and setters

CODE-

public class Emp {
    private int empno;
    private String ename;
    private double sal;

    public int getEmpno() {
        return empno;
    }

    public void setEmpno(int empno) {
        this.empno = empno;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public double getSal() {
        return sal;
    }

    public void setSal(double sal) {
        this.sal = sal;
    }
    
}


8. now we will open a JDBC connection- in dbuits.dbconnection

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
public class DBConnection {
    
    private static Connection conn=null;
    
    static
    {
        try{
            Class.forName("oracle.jdbc.driver.OracleDriver");
            conn=DriverManager.getConnection("jdbc:oracle:thin:@//pc-name:1521/xe","username","password");
            JOptionPane.showMessageDialog(null,"Successfully loaded","Sucess!",JOptionPane.INFORMATION_MESSAGE);
            
        }
        catch(ClassNotFoundException e)
        {
            JOptionPane.showMessageDialog(null,"class not found exception"+ e.getMessage(),"Exception",JOptionPane.ERROR_MESSAGE);
            e.printStackTrace();
        }
        catch (SQLException ex) 
        {
            JOptionPane.showMessageDialog(null,"SQL Exception"+ ex.getMessage(),"Exception",JOptionPane.ERROR_MESSAGE);
            ex.printStackTrace();
        }
        
        
    }
    public static Connection getConnection()//method will return us the connection object when we need it in other classes
        {
            return(conn);
        }
    
    public static void closeConnection()//method will close connection after use
    {
        if(conn!=null)
            {
                try{
                    conn.close();
        
                }
                catch(SQLException ex)
                {
                    JOptionPane.showMessageDialog(null,"Error while disconnecting","Exception",JOptionPane.ERROR_MESSAGE);
                    
                }
            }
    }

}


9. now we will code in EmpDao.java

import emp.dbuitl.DBConnection;
import emp.pojo.Emp;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
//data access objects
public class EmpDao {

    //function for adding the employee
    public static boolean AddEmployee(Emp e)throws SQLException
    {
     
        Connection conn=DBConnection.getConnection();
        PreparedStatement ps=conn.prepareStatement("insert into emp_table values(?,?,?)");
     
        ps.setInt(1,e.getEmpno());
        ps.setString(2,e.getEname());
        ps.setDouble(3,e.getSal());
     
        int count=ps.executeUpdate();
        if(count==0)
        {
            return false;
        }
        else
        {
            return true;
        }
     

    }
 
//function for show all employees
    public static ArrayList<Emp> getAllEmp()throws SQLException
    {
        Connection conn=DBConnection.getConnection();
        ArrayList<Emp> empList=new ArrayList<>();
     
        Statement st=conn.createStatement();
        ResultSet rs=st.executeQuery("select empno,empname,salary from emp_table");
     
        while(rs.next())
        {
         
            Emp e=new Emp();
         
            e.setEmpno(rs.getInt("empno"));       
            e.setEname(rs.getString("empname"));
            e.setSal(rs.getDouble("salary"));
         
            empList.add(e);
         
        }
        return empList;
    }
 
    //function for update employee
    public static boolean UpdateEmployee(Emp e) throws SQLException
    {
        Connection conn=DBConnection.getConnection();
        PreparedStatement ps=conn.prepareStatement("update emp_table set empname=? , salary=? where empno=?");
     
        ps.setString(1,e.getEname());
        ps.setDouble(2,e.getSal());
        ps.setInt(3,e.getEmpno());
                 
        int c=ps.executeUpdate();   
        return c != 0;//returns true if c is 1
     
    }
 
//function for delete employee
    public static boolean DeleteEmp(int enumber)throws SQLException
    {
        Connection conn=DBConnection.getConnection();
        PreparedStatement ps=conn.prepareStatement("Delete from emp_table where empno=?");
        ps.setInt(1,enumber);
        int c=ps.executeUpdate();
     
        return c!=0;
    }
 

//function to perform search
    public static Emp SearchEmp(int enumber)throws SQLException,NullPointerException
    {
        Emp e=null;
        Connection conn=DBConnection.getConnection();
        //PreparedStatement ps=conn.prepareStatement("select empname , salary,empno from emp_table where empno=?");
        //ps.setInt(1, enumber);
        Statement st=conn.createStatement();
        ResultSet rs=st.executeQuery("select empname , salary,empno from emp_table where empno="+enumber);
     
     
     
        while(rs.next())
        {
            e=new Emp();
            e.setEname(rs.getString("empname"));
            e.setSal(rs.getDouble("salary"));
        }
     
        return e;
     
    }

}


10. now we will code in GUI-

Option frame-

CODE- //copy paste correctly i have removed initComponents(none of your business) from my code-

import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
public class optionFrame extends javax.swing.JFrame {


    public optionFrame() {
        initComponents();
        this.setLocationRelativeTo(this);
    }

    


    private void dotaskActionPerformed(java.awt.event.ActionEvent evt) {                                       
        
        if(jrbAddEmp.isSelected())
        {
            add_empoyee_frame add=new add_empoyee_frame();
            add.setVisible(true);
            this.dispose();
        }
        else if (jrbSearchEmp.isSelected())
        {
            Search_frame search=new Search_frame();
            search.setVisible(true);
            this.dispose();
        }
        else if(jrbShowAllEmp.isSelected())
        {
            Showall_frame show=new Showall_frame();
            show.setVisible(true);
            this.dispose();
        }
        else if(jrbUpdateEmp.isSelected())
        {
            UpdateEmp_frame update=new UpdateEmp_frame();
            update.setVisible(true);
            this.dispose();
        }
        else if(jrbDeleteEmp.isSelected())
        {
            DeleteEmp_frame delete=new DeleteEmp_frame();
            delete.setVisible(true);
            this.dispose();
        }
        else if(jrbQuit.isSelected())
        {
            int ans=0;
            ans=JOptionPane.showConfirmDialog(null, "Are you sure?", "Quitting", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
            if(ans==JOptionPane.YES_OPTION)
            {
                System.exit(0);
            }    
            
        }
        else
        {
            JOptionPane.showMessageDialog(null,"Please select an option","Error",JOptionPane.ERROR_MESSAGE);
        }
        
    }         


11. now we will code in  add employee-


CODE- (Copy paste correctly)

import emp.dao.EmpDao;
import emp.dbuitl.DBConnection;
import emp.pojo.Emp;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
public class add_empoyee_frame extends javax.swing.JFrame {

    public add_empoyee_frame() {
        initComponents();
        this.setLocationRelativeTo(this);
        //DBConnection.getConnection();
    }
    
                                   

    private void AddEmpActionPerformed(java.awt.event.ActionEvent evt) {                                       

        if(validateInput()==false)
        {
            JOptionPane.showMessageDialog(null,"Please enter all details","Input not entered",JOptionPane.ERROR_MESSAGE);
            return;
        }
        else
        {
            try
            {
                Emp e=new Emp();
                int empNo=Integer.parseInt(txtEmpNo.getText());
                String eName=txtEmpName.getText();
                double sal=Double.parseDouble(txtSal.getText());
                e.setEmpno(empNo);
                e.setEname(eName);
                e.setSal(sal);
                
                if(EmpDao.AddEmployee(e))//a method that returns true if all correct values inserted
                {
                    JOptionPane.showMessageDialog(null, "Record inserted Successfully","Success!",JOptionPane.INFORMATION_MESSAGE);
                }
                else
                {
                    JOptionPane.showMessageDialog(null,"Please enter correct values","Input incorrect",JOptionPane.ERROR_MESSAGE);
                }
                        
            }
            catch(SQLException e)
            {
                JOptionPane.showMessageDialog(null,"SQL Exception ","Exception",JOptionPane.ERROR_MESSAGE);
            }
        }
        
        
        
    }                                      

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        //back button
        optionFrame option=new optionFrame();
        option.setVisible(true);
        this.dispose();
        
    }                                        

    

//create at end    
    private boolean validateInput()
    {
        if(txtEmpNo.getText().isEmpty() || txtEmpName.getText().isEmpty() || txtSal.getText().isEmpty())
        {
            return false;
        }
        else
        {
            return true;
        }

    }
    
                  
}


12. Now we will create a new page for view all employees

for that we will code in DAO (as it doesn't interact with the user)
and creation of the object is minimized.


CODE- for viewing all employee  we will code in GUI frame ShowAllEmp


import emp.dao.EmpDao;
import emp.pojo.Emp;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
public class Showall_frame extends javax.swing.JFrame {


    public Showall_frame() {
        initComponents();
        this.setLocationRelativeTo(this);
    }

                                     

    private void btnShowAllEmpActionPerformed(java.awt.event.ActionEvent evt) {                                              
        //show all recortds
        try {
           
            
                    ArrayList<Emp> empList=EmpDao.getAllEmp();
                    
                    if(empList.isEmpty())
                        {
                            JOptionPane.showMessageDialog(null,"This table has no records","Empty Table",JOptionPane.INFORMATION_MESSAGE);
                        }
                        else
                        {
                            String str=new String();
                            txtAllEmp.setText("");
                            str="EMPNO \t ENAME \t SALARY\n\n";
                            for(Emp e:empList)
                            {
                                str=str+e.getEmpno()+"\t"+e.getEname()+"\t"+e.getSal()+"\n";
                            }
                            txtAllEmp.setText(str);
                        }
            }
        catch(SQLException e)
        {
            JOptionPane.showMessageDialog(null,"SQLException here","Exception",JOptionPane.ERROR_MESSAGE);
        }

      
    }
              
}


13. For Update employees-

CODE-

import emp.dao.EmpDao;
import emp.pojo.Emp;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
public class Update_emp_frame extends javax.swing.JFrame {

    public Update_emp_frame() {
        
        initComponents();
        this.setLocationRelativeTo(this);
    }

   
    private void btnUpdateEmpActionPerformed(java.awt.event.ActionEvent evt) {                                             
//update butoon
        if(validateInput()==false)
        {
            JOptionPane.showMessageDialog(null,"Please enter Emp number to update details","Input not entered",JOptionPane.ERROR_MESSAGE);
            return;
        }
        else
        {
            try
            {
                Emp e=new Emp();
                int empNo=Integer.parseInt(txtEmpNo.getText());
                String eName=txtEmpName.getText();
                double sal=Double.parseDouble(txtSal.getText());
                
                e.setEmpno(empNo);
                e.setEname(eName);
                e.setSal(sal);
                
                if(EmpDao.UpdateEmployee(e))//a method that returns true if all correct values inserted
                {
                    JOptionPane.showMessageDialog(null, "Record updated Successfully","Success!",JOptionPane.INFORMATION_MESSAGE);
                }
                else
                {
                    JOptionPane.showMessageDialog(null,"Please enter correct values","Input incorrect",JOptionPane.ERROR_MESSAGE);
                }
            }
            catch(SQLException e)
            {
                JOptionPane.showMessageDialog(null,"SQL Exception here"+e.getMessage(),"Exception",JOptionPane.ERROR_MESSAGE);
            }
            catch(NumberFormatException e)
            {
                JOptionPane.showMessageDialog(null,"NumberFormat Exception ","Exception",JOptionPane.ERROR_MESSAGE);
            }
                
        }
        // TODO add your handling code here:
    }                                            

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        optionFrame option=new optionFrame();
        option.setVisible(true);
        this.dispose();
    }                                        


        
    //at the bottom
    
    private boolean validateInput()
    {
        if(txtEmpNo.getText().isEmpty())
        {
            return false;
        }
        else
        {
            return true;
        }

    }
            
}

14. To create delete frame

CODE-

import emp.dao.EmpDao;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
public class DeleteEmp_frame extends javax.swing.JFrame {

    public DeleteEmp_frame() {
        initComponents();
        this.setLocationRelativeTo(this);
    }

    private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                          

    if(txtEmpNo.getText().isEmpty())
    {
        JOptionPane.showMessageDialog(null,"Please enter the emp no","Input not entered",JOptionPane.ERROR_MESSAGE);
    }
    else
    {
        try {
        int empno=Integer.parseInt(txtEmpNo.getText());
        
            if(EmpDao.DeleteEmp(empno))
            {
                JOptionPane.showMessageDialog(null, "Record Successfully Deleted","Success!",JOptionPane.INFORMATION_MESSAGE);
            }
            else
            {
                JOptionPane.showMessageDialog(null, "Record deosn't exist","Error!",JOptionPane.ERROR_MESSAGE);
            }
        } 
        catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, "SQL Exception","Exception",JOptionPane.ERROR_MESSAGE);
        }
    }
        
        
        
        
    }                                         

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        optionFrame option=new optionFrame();
        option.setVisible(true);
        this.dispose();
    }                                        


15. Now for Searching

CODE-

import emp.dao.EmpDao;
import emp.pojo.Emp;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
public class Search_frame extends javax.swing.JFrame {


    public Search_frame() {
        
        initComponents();
        this.setLocationRelativeTo(this);
    }

                                               

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        
       //back
       
               optionFrame option=new optionFrame();
        option.setVisible(true);
        this.dispose();
    }                                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        if(txtEmpNumber.getText().isEmpty())
        {
            JOptionPane.showMessageDialog(null,"Please enter emp name","Input not entered",JOptionPane.ERROR_MESSAGE);
        }
        else
        {
            try 
            {
                
                int e=Integer.parseInt(txtEmpNumber.getText());
                Emp emp=EmpDao.SearchEmp(e);
                if(emp==null)
                {
                    JOptionPane.showMessageDialog(null,"No Record Exist","Norecord",JOptionPane.INFORMATION_MESSAGE);
                }
                else
                {
                txtEmpName.setText(emp.getEname());
                txtSalary.setText(Double.toString(emp.getSal()));//converting the received double into string by calling toString()
                }
            } 
            catch (SQLException ex) 
            {
                JOptionPane.showMessageDialog(null,"SQL Exception here","Exception",JOptionPane.ERROR_MESSAGE);
            }
        }
}
        
        


HOPE THE CODE IS COMPLETE !! Obviously it is.

HAPPY CODING !!

Monday, 2 July 2018

Employee management App using netbeans

Points to be noted if error occurs-

1. please make sure you import the correct files i.e. only
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
other methods will definitely interfere with the code

2.please make sure that you add the ojdbc14.jar file from the property of project

to do this follow-
-right click on the project name
-goto last option PROPERTIES
-then click on LIBRARIES and ADD JAR
-specify the path to ojdbc14.jar file usually it is -C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar


3. please make sure you make no stupid spelling mistakes (you are grown up, act like one).

4. please don't bother your friends rather share the link - LINK

Happy Coding !!


Diagram/UI of the application-


DONWLOAD THE CODE FILE-


CODE (100% tested and working)-

package employee_management_app;

import java.awt.event.WindowEvent;
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.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author Naman Khurpia
 */
public class employee_management extends javax.swing.JFrame {

    /**
     * Creates new form employee_management
     */
     Connection conn=null;
    public employee_management() throws SQLException {
        initComponents();  //THIS METHOD's BODY IS OF NO USE IGNORE
//here i have inserted a method to open a connection
        initdb();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                       
    private void initComponents() {

//THIS ENTIRE BODY IS INIT COMPONENTS PLEASE DO NOT PAY ATTENTION TO IT


        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        empnumber = new javax.swing.JTextField();
        empname = new javax.swing.JTextField();
        salary = new javax.swing.JTextField();
        deptnumber = new javax.swing.JTextField();
        add = new javax.swing.JButton();
        show = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        displaying_area = new javax.swing.JTextArea();
        clear = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jPanel1.setBackground(new java.awt.Color(0, 0, 0));

        jLabel1.setBackground(new java.awt.Color(0, 0, 0));
        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        jLabel1.setForeground(new java.awt.Color(240, 240, 240));
        jLabel1.setText("EMPLOYEE MANAGEMENT APP");

        jLabel2.setForeground(new java.awt.Color(240, 240, 240));
        jLabel2.setText("EMP NUMBER");

        jLabel3.setForeground(new java.awt.Color(255, 255, 255));
        jLabel3.setText("EMP NAME");

        jLabel4.setForeground(new java.awt.Color(255, 255, 255));
        jLabel4.setText("SALARY");

        jLabel5.setForeground(new java.awt.Color(255, 255, 255));
        jLabel5.setText("DEPT NUMBER");

        empnumber.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                empnumberActionPerformed(evt);
            }
        });

        salary.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                salaryActionPerformed(evt);
            }
        });

        deptnumber.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                deptnumberActionPerformed(evt);
            }
        });

        add.setText("Add employee");
        add.setToolTipText("");
        add.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                addActionPerformed(evt);
            }
        });

        show.setText("Employee Records");
        show.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                showActionPerformed(evt);
            }
        });

        displaying_area.setColumns(20);
        displaying_area.setRows(5);
        jScrollPane1.setViewportView(displaying_area);

        clear.setText("Clear");
        clear.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                clearActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(87, 87, 87)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(add)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(show)
                        .addGap(28, 28, 28)
                        .addComponent(clear)
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel3)
                            .addComponent(jLabel4)
                            .addComponent(jLabel5)
                            .addComponent(jLabel2))
                        .addGap(29, 29, 29)
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(empnumber)
                                .addComponent(empname)
                                .addComponent(deptnumber, javax.swing.GroupLayout.DEFAULT_SIZE, 121, Short.MAX_VALUE))
                            .addComponent(salary, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(0, 0, Short.MAX_VALUE))))
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(163, 163, 163)
                        .addComponent(jLabel1))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(56, 56, 56)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 416, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(41, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(37, 37, 37)
                .addComponent(jLabel1)
                .addGap(31, 31, 31)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(empnumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(empname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(salary, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5)
                    .addComponent(deptnumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(add)
                    .addComponent(show)
                    .addComponent(clear))
                .addGap(18, 18, 18)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(18, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                     

    private void empnumberActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
    }                                       

    private void deptnumberActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
    }                                       

    private void salaryActionPerformed(java.awt.event.ActionEvent evt) {                                     
        // TODO add your handling code here:
    }                                   

//THIS IS WHERE WE START CODING-(ADD BUTTON)


    private void addActionPerformed(java.awt.event.ActionEvent evt) {                                 
        //on pressing add button
        int num=0,sal=0,dept=0;
       String number=empnumber.getText();
       String name=empname.getText();
       String sala=salary.getText();
       String deptn=deptnumber.getText();

//received the text in string form
     
     
       try{
       num=Integer.parseInt(number);
       sal=Integer.parseInt(sala);
       dept=Integer.parseInt(deptn);

//checking if any of the text contains string

       }
       catch(NumberFormatException e)
       {
           JOptionPane.showMessageDialog(null,"Please enter digits only","Error",JOptionPane.ERROR_MESSAGE);
       }
         try {
             String snum,ssal,sdept;
             snum=Integer.toString(num);
             ssal=Integer.toString(sal);
             sdept=Integer.toString(dept);
             PreparedStatement ps=conn.prepareStatement("insert into emp values(?,?,?,?)");
         ps.setString(1,snum);
         ps.setString(2,name);
         ps.setString(3,ssal);
         ps.setString(4,sdept);
       
         int ans=ps.executeUpdate();
         if(ans==0)
                JOptionPane.showMessageDialog(null,"SQL Exception while input","Result",JOptionPane.NO_OPTION);
            else
                JOptionPane.showMessageDialog(null,ans+"rows updated" ,"Result",JOptionPane.NO_OPTION);
       
         } catch (SQLException ex)
         {
             JOptionPane.showMessageDialog(null,"SQL Exception while input"+ ex.getMessage(),"Exception",JOptionPane.ERROR_MESSAGE);
         }
     
     
    }                                 

    private void showActionPerformed(java.awt.event.ActionEvent evt) { 


                displaying_area.setText("");      //making textbox empty before clicking         
   
//initializing the string with null
        String empno=null,name=null,sal=null,deptno=null;
         try {
             Statement st=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
             ResultSet rs=st.executeQuery("select empno,empname,sal,deptno from emp");
             int count=0;
             while(rs.next())
                {
                    empno=rs.getString("empno");
                    name=rs.getString("empname");
                    sal=rs.getString("sal");
                    deptno=rs.getString("deptno");
                    count++;
                    displaying_area.append(empno+"\t"+name+"\t"+sal+"\t"+deptno+"\n");
                } 
           
           
         } catch (SQLException ex) {
             JOptionPane.showMessageDialog(null,"SQL Exception while fetching"+ ex.getMessage(),"Exception",JOptionPane.ERROR_MESSAGE);
         }
     
    }                                 

    private void clearActionPerformed(java.awt.event.ActionEvent evt) {                                   
     
        empnumber.setText("");
        empname.setText("");
        salary.setText("");
        deptnumber.setText("");
     
     
    }                                   

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(employee_management.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(employee_management.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(employee_management.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(employee_management.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    new employee_management().setVisible(true);
                } catch (SQLException ex) {
                    Logger.getLogger(employee_management.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        });
    }

    // Variables declaration - do not modify                   
    private javax.swing.JButton add;
    private javax.swing.JButton clear;
    private javax.swing.JTextField deptnumber;
    private javax.swing.JTextArea displaying_area;
    private javax.swing.JTextField empname;
    private javax.swing.JTextField empnumber;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField salary;
    private javax.swing.JButton show;
    // End of variables declaration                 

    private void initdb() throws SQLException{
 
    try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
    }
    catch(ClassNotFoundException e)
    {
            JOptionPane.showMessageDialog(null,"driver not loaded "+ e.getMessage(),"Exception",JOptionPane.ERROR_MESSAGE);
    }
 
    try{
         
            conn=DriverManager.getConnection("jdbc:oracle:thin:@//pc-name:1521/xe","username","password");
           
         
         
    }
    catch(SQLException e)
    {
        JOptionPane.showMessageDialog(null,"SQL Exception 2"+ e.getMessage(),"Exception",JOptionPane.ERROR_MESSAGE);
    }
 
}
 
//this function is called whenever you press the X button(top right corner) to close the frame
//here i am using this to close the connection
    public void windowClosing(WindowEvent e)
    {
        if(conn!=null)
            {
                try{
                    conn.close();
                 
                    System.out.println("Disconnected from DB successfully");
                }
                catch(SQLException ex)
                {
                    JOptionPane.showMessageDialog(null,"Error while disconnecting","Exception",JOptionPane.ERROR_MESSAGE);
                 
                }
            }
    }
 
}




/////////////////////////don't copy this/////////////////////



GPT4ALL - A new LLaMa (Large Language Model)

posted 29th March, 2023 - 11:50, GPT4ALL launched 1 hr ago  What if we use AI generated prompt and response to train another AI - Exactly th...