Advertisement
Guest User

Untitled

a guest
Jul 4th, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.49 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.sql.Statement;
  9.  
  10. import javax.swing.*;
  11. import javax.swing.event.ChangeEvent;
  12. import javax.swing.event.ChangeListener;
  13.  
  14. import java.sql.*;
  15.  
  16. public class EmployeeEdit extends JPanel{
  17.     JLabel labelCode = new JLabel("Employee Code");
  18.     JLabel labelName = new JLabel("Employee Name");
  19.     JLabel labelSalary = new JLabel("Employee Salary");
  20.     JTextField textCode = new JTextField(10);
  21.     JTextField textName = new JTextField(20);
  22.     JTextField textSalary = new JTextField(10);
  23.     JButton edit = new JButton("Edit");
  24.     JButton refresh = new JButton("Refresh");
  25.     ResultSet resultSet = null;
  26.     Connection con = null;
  27.     String tableName = "EmpTable";
  28.     int NumRows = 0;
  29.     int currentSpinVal;
  30.     public EmployeeEdit(){
  31.  
  32.         con = null;
  33.         try {
  34.             con = getConnection();
  35.  
  36.             NumRows = countRows(con, tableName);
  37.             System.out.println("rowCount=" + NumRows);
  38.             Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
  39.             resultSet = stmt.executeQuery("SELECT * FROM EmpTable");
  40.             SpinnerModel model = new SpinnerNumberModel(1, 1, NumRows, 1);
  41.             JSpinner box = new JSpinner(model);
  42.             box.addChangeListener(new SpinnerListener());
  43.             add(box);
  44.             } catch (Exception e) {
  45.                 e.printStackTrace();
  46.                 System.exit(1);
  47.             }
  48.                 add(labelCode);
  49.                 add(textCode); 
  50.                 add(labelName);
  51.                 add(textName);
  52.                 add(labelSalary);
  53.                 add(textSalary);
  54.                
  55.                 try {
  56.                     resultSet.absolute(1);
  57.                     textCode.setText(resultSet.getString(2));
  58.                     textName.setText(resultSet.getString(3));
  59.                     textSalary.setText(resultSet.getString(4));
  60.                 } catch (SQLException e2) {
  61.                     e2.printStackTrace();
  62.                 }
  63.  
  64.                
  65.                 add(refresh);
  66.                 refresh.addActionListener(new ActionListener() {
  67.                        
  68.                     public void actionPerformed(ActionEvent e)
  69.                     {
  70.                         try {
  71.                             Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
  72.                             resultSet = stmt.executeQuery("SELECT * FROM EmpTable");
  73.                             NumRows = countRows(con, tableName);
  74.                             EmployeeEdit.this.revalidate();
  75.                         } catch (SQLException e1) {
  76.                             e1.printStackTrace();
  77.                         }
  78.                     }
  79.                 });    
  80.                 add(edit);
  81.                 edit.addActionListener(new ActionListener() {
  82.                        
  83.                     public void actionPerformed(ActionEvent e)
  84.                     {
  85.                         try {
  86.                             resultSet.absolute(currentSpinVal);
  87.                             resultSet.updateString(2, textCode.getText());
  88.                             resultSet.updateString(3, textName.getText());
  89.                             resultSet.updateString(4, textSalary.getText());
  90.                             resultSet.updateRow();
  91.                             System.out.println("Row " + currentSpinVal + " updated!");
  92.                            
  93.                         } catch (SQLException e1) {
  94.                             e1.printStackTrace();
  95.                         }
  96.                     }
  97.                 });    
  98.     }
  99.    
  100.       public static Connection getConnection() throws Exception {
  101.             String url = "jdbc:mysql://mer.hosted.nfoservers.com:3306/";
  102.             String dbName = "mer_junk";
  103.             String driverName = "com.mysql.jdbc.Driver";
  104.             String userName = "NO";
  105.             String password = "BAD";
  106.             System.out.println("Connected");
  107.             Class.forName(driverName).newInstance();
  108.             Connection con = DriverManager.getConnection(url+dbName, userName, password);
  109.            
  110.             return con;
  111.       }
  112.      
  113.       public static int countRows(Connection con, String tableName) throws SQLException {
  114.             Statement stmt = null;
  115.             ResultSet rs = null;
  116.             int rowCount = -1;
  117.             try {
  118.                 stmt = con.createStatement();
  119.                 rs = stmt.executeQuery("SELECT COUNT(*) FROM " + tableName);
  120.                 rs.next();
  121.                 rowCount = rs.getInt(1);
  122.             } finally {
  123.                 rs.close();
  124.                 stmt.close();
  125.             }
  126.             return rowCount;
  127.       }
  128.      
  129.       public class SpinnerListener implements ChangeListener{
  130.  
  131.         public void stateChanged(ChangeEvent e) {
  132.             JSpinner spinner = (JSpinner) e.getSource();
  133.             Object value = spinner.getValue();
  134.             try {
  135.                 currentSpinVal = (Integer) value;
  136.                 resultSet.absolute((Integer) value);
  137.                 textCode.setText(resultSet.getString(2));
  138.                 textName.setText(resultSet.getString(3));
  139.                 textSalary.setText(resultSet.getString(4));
  140.             } catch (SQLException e1) {
  141.                 e1.printStackTrace();
  142.             }
  143.  
  144.                        
  145.         }
  146.          
  147.       }
  148.      
  149.  
  150.      
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement