HarrJ

Day 26 update DELETE row search table

Oct 13th, 2023 (edited)
1,156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.55 KB | None | 0 0
  1. // ang silbi nito para makuha ang laman ng row para sa update/delete
  2.     private void btnForUpdateDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                                  
  3.         int tableRow = jTable1.getSelectedRow();
  4.         lblNumID.setText(jTable1.getValueAt(tableRow, 0).toString());
  5.         txtString1.setText(jTable1.getValueAt(tableRow, 1).toString());
  6.         cmbString2.setSelectedItem(jTable1.getValueAt(tableRow, 2).toString());
  7.         txtNum1.setText(jTable1.getValueAt(tableRow, 3).toString());
  8.         txtNum2.setText(jTable1.getValueAt(tableRow, 4).toString());
  9.         String dateIn;
  10.         try {
  11.             dateIn = jTable1.getValueAt(tableRow, 5).toString();
  12.         } catch (Exception e) {
  13.             Date date = new Date();  
  14.             SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
  15.             dateIn = formatter.format(date);
  16.         }
  17.         txtDate.setText(dateIn);
  18.         // para i enable ang update or delete button
  19.         toUpdateDelete();
  20.     }
  21. // ginawa para mapigilan ma add ulit ang i a update na row
  22.     public void toUpdateDelete() {
  23.         btnAddRow1.setEnabled(false);
  24.         btnForUpdateDelete.setEnabled(false);
  25.         btnConfirmUpdate.setEnabled(true);
  26.         btnConfirmDelete.setEnabled(true);
  27.     }
  28.  
  29. // button na mag ra run ng update:
  30.     private void btnConfirmUpdateActionPerformed(java.awt.event.ActionEvent evt) {                                                
  31. // -----setup
  32.         Day25MethodInfoList callMethod = new Day25MethodInfoList();
  33.         String boxMessage = "";
  34.         int boxIcon = 0;
  35. // -----continuation of the setup inside try catch
  36.         try {
  37.             String txt1;
  38.             String txt2;
  39.             int num1;
  40.             double num2;
  41.             java.sql.Date dateIn;
  42.             int rowID;
  43.            
  44.             txt1 = txtString1.getText();
  45.             txt2 = cmbString2.getSelectedItem().toString();
  46.             num1 = Integer.parseInt(txtNum1.getText());
  47.             num2 = Double.parseDouble(txtNum2.getText());
  48.             dateIn = java.sql.Date.valueOf(txtDate.getText());
  49.             rowID = Integer.parseInt(lblNumID.getText());
  50. // ---------execution
  51.             int result = callMethod.updateRow(txt1, txt2, num1, num2, dateIn, rowID);
  52. // ---------printing a result
  53.             switch (result) {
  54.                 case 1:
  55.                     boxMessage = "Row Updated";
  56.                     boxIcon = JOptionPane.INFORMATION_MESSAGE;
  57.                 break;
  58.                 case 0:
  59.                     boxMessage = "Update Failed";
  60.                     boxIcon = JOptionPane.WARNING_MESSAGE;
  61.                 break;
  62.                 case -1:
  63.                     boxMessage = "Connection Error";
  64.                     boxIcon = JOptionPane.ERROR_MESSAGE;
  65.                 break;
  66.             }
  67.         } catch (Exception e) {
  68.             boxMessage = "One of the input is invalid";
  69.             boxIcon = JOptionPane.ERROR_MESSAGE;
  70.         }
  71.         callMethod.getAllRows(jTable1);
  72.         // para malinis ulit ang mga text box
  73.         cleanForm();
  74.         JOptionPane.showMessageDialog(this, boxMessage
  75.                 , "Input Result", boxIcon);
  76.     }
  77.  
  78. // pang linis lang talaga ng mga text box
  79.     public void cleanForm() {
  80.         lblNumID.setText("0");
  81.         txtString1.setText("");
  82.         cmbString2.setSelectedIndex(0);
  83.         txtNum1.setText("");
  84.         txtNum2.setText("");
  85.         Date date = new Date();  
  86.         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");  
  87.         String strDate= formatter.format(date);  
  88.         txtDate.setText(strDate);
  89.         btnAddRow1.setEnabled(true);
  90.         btnForUpdateDelete.setEnabled(true);
  91.         btnConfirmUpdate.setEnabled(false);
  92.         btnConfirmDelete.setEnabled(false);
  93.     }
  94.  
  95. // ang method na nag a update ng row mismo
  96.     public int updateRow(String txt1, String txt2, int num1, double num2, java.sql.Date dateIn, int ID){
  97.         int rowsAffected = 0;
  98.         String sqlQuery = "UPDATE tbl_infolist SET fld_text1=?, fld_text2=?, fld_num_i=?"
  99.                 + ", fld_num_d=?, fld_date_manual=?, fld_date_auto=CURRENT_TIMESTAMP WHERE fld_id=?";
  100.        
  101.         try {
  102.             Connection conn = DriverManager.getConnection(address, userName, passWord);
  103.             PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  104.            
  105.             stmt.setString(1, txt1);
  106.             stmt.setString(2, txt2);
  107.             stmt.setInt(3, num1);
  108.             stmt.setDouble(4, num2);
  109.             stmt.setDate(5, dateIn);
  110.             stmt.setInt(6, ID);
  111.            
  112.             rowsAffected = stmt.executeUpdate();
  113.            
  114.             conn.close();
  115.         } catch (Exception e) {
  116.             rowsAffected = -1;
  117.             System.out.println(e.getMessage());
  118.         }
  119.        
  120.         return rowsAffected;
  121.     }
  122.  
  123.     public void getAllRows(JTable tableIn) {
  124.         DefaultTableModel tblModel = (DefaultTableModel) tableIn.getModel();
  125.         tblModel.setRowCount(0);
  126.         String sqlQuery = "SELECT * FROM tbl_infolist;";
  127.        
  128.         try {
  129.             Connection conn = DriverManager.getConnection(address, userName, passWord);
  130.             PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  131.            
  132.             ResultSet rs = stmt.executeQuery();
  133.             //result set starts with 1 or field name
  134.             while (rs.next()) {
  135.                 Object[] newRow = {
  136.                     rs.getInt(1)
  137.                     ,rs.getString(2)
  138.                     ,rs.getString(3)
  139.                     ,rs.getInt(4)
  140.                     ,rs.getDouble(5)
  141.                     ,rs.getString(6)
  142.                     ,rs.getString(7)};
  143.                 tblModel.addRow(newRow);
  144.             }
  145.             conn.close();
  146.         } catch (Exception e) {
  147.             Object[] error = new Object[7];
  148.             error[0] = "Connection error:\n" + e.getMessage();
  149.             tblModel.addRow(error);
  150.         }
  151.     }
  152.  
  153. // --------DELETE----------------------
  154. private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {                                          
  155.         Day25MethodInfoList callMethod = new Day25MethodInfoList();
  156.         String boxMessage = "";
  157.         int boxIcon = 0;
  158.        
  159.         int tableRow = jTable1.getSelectedRow();
  160.         int ID = Integer.valueOf(jTable1.getValueAt(tableRow, 0).toString());
  161.         String txt1 = jTable1.getValueAt(tableRow, 1).toString();
  162.         String txt2 = jTable1.getValueAt(tableRow, 2).toString();
  163.        
  164.         String deleteInfo = "ID: " + ID
  165.                 + "\nText1: " + txt1
  166.                 + "\nText2: " + txt2;
  167.         int result = JOptionPane.showConfirmDialog(this
  168.                 , String.format("Do you want to delete:%n%s",deleteInfo)
  169.                 , "DELETING ROW"
  170.                 , JOptionPane.YES_NO_OPTION
  171.                 , JOptionPane.WARNING_MESSAGE);
  172.         if (result == JOptionPane.YES_OPTION) {
  173.             int rowDeleted = callMethod.deleteRow(ID);
  174.             switch (rowDeleted) {
  175.                 case 1:
  176.                     boxMessage = "Row Deleted";
  177.                     boxIcon = JOptionPane.INFORMATION_MESSAGE;
  178.                 break;
  179.                 case 0:
  180.                     boxMessage = "Delete Failed";
  181.                     boxIcon = JOptionPane.WARNING_MESSAGE;
  182.                 break;
  183.                 case -1:
  184.                     boxMessage = "Connection Error";
  185.                     boxIcon = JOptionPane.ERROR_MESSAGE;
  186.                 break;
  187.             }
  188.             JOptionPane.showMessageDialog(this, boxMessage
  189.                     , "Input Result", boxIcon);
  190.         }
  191.         callMethod.getAllRows(jTable1);
  192.     }    
  193. //  YUNG METHOD:
  194.     public int deleteRow(int ID){
  195.         int rowsAffected = 0;
  196.         String sqlQuery = "DELETE FROM tbl_infolist WHERE fld_id=?";
  197.        
  198.         try {
  199.             Connection conn = DriverManager.getConnection(address, userName, passWord);
  200.             PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  201.            
  202.             stmt.setInt(1, ID);
  203.            
  204.             rowsAffected = stmt.executeUpdate();
  205.            
  206.             conn.close();
  207.         } catch (Exception e) {
  208.             rowsAffected = -1;
  209.             System.out.println(e.getMessage());
  210.         }
  211.        
  212.         return rowsAffected;
  213.     }
  214.  
  215. // --------SELECT WHERE----------------------
  216. //code ng search button
  217.     private void btnSearchActionPerformed(java.awt.event.ActionEvent evt) {                                          
  218.         String refColumn = cmbSearchCol.getSelectedItem().toString();
  219.         String refValue = txtSearchVal.getText();
  220.                            
  221.         Day26MethodInfoList callMethod = new Day26MethodInfoList();
  222.         callMethod.getAllRows(jTable1, refColumn, refValue);
  223.     }      
  224.  
  225. //  YUNG METHOD:
  226. // PANG VARCHAR NA FIELD LANG TONG WHERE NA ITO
  227.     public void getAllRows(JTable tableIn,String refColumn, String refValue) {
  228.         DefaultTableModel tblModel = (DefaultTableModel) tableIn.getModel();
  229.         tblModel.setRowCount(0);
  230.         String searchField = "fld_text1";
  231.         String searchValue = "%"+refValue+"%";
  232.         // yung mga case ay yung nasa pilian na combo box
  233.         switch (refColumn) {
  234.             case "Text1":
  235.                 searchField = "fld_text1";
  236.                 break;
  237.             case "Text2":
  238.                 searchField = "fld_text1";
  239.                 break;
  240.         }
  241.        
  242.         String sqlQuery = String.format("SELECT * FROM tbl_infolist"
  243.                 + " WHERE LOWER(%s) LIKE LOWER(?) ;",searchField);
  244.        
  245.         try {
  246.             Connection conn = DriverManager.getConnection(address, userName, passWord);
  247.             PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  248.             //lalagyan ng laman yung ? placeholder
  249.             stmt.setString(1, searchValue);
  250.            
  251.             ResultSet rs = stmt.executeQuery();
  252.             //result set starts with 1 or field name
  253.             while (rs.next()) {
  254.                 Object[] newRow = {
  255.                     rs.getInt(1)
  256.                     ,rs.getString(2)
  257.                     ,rs.getString(3)
  258.                     ,rs.getInt(4)
  259.                     ,rs.getDouble(5)
  260.                     ,rs.getString(6)
  261.                     ,rs.getString(7)};
  262.                 tblModel.addRow(newRow);
  263.             }
  264.             conn.close();
  265.         } catch (Exception e) {
  266.             Object[] error = new Object[7];
  267.             error[0] = "Connection error:\n" + e.getMessage();
  268.             tblModel.addRow(error);
  269.         }
  270.     }
  271.  
Advertisement
Add Comment
Please, Sign In to add comment