HarrJ

dAY 25

Aug 31st, 2023
993
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 10.70 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6.  
  7. package day23;
  8.  
  9. import java.awt.Color;
  10. import java.sql.Connection;
  11. import java.sql.DriverManager;
  12. import java.sql.PreparedStatement;
  13. import java.sql.ResultSet;
  14. import javax.swing.JOptionPane;
  15. import javax.swing.JTable;
  16. import javax.swing.table.DefaultTableModel;
  17.  
  18. /**
  19.  *
  20.  * @author ahlle
  21.  */
  22. public class Day25ADelete extends javax.swing.JFrame {
  23.  
  24.     /** Creates new form Day25ADelete */
  25.     public Day25ADelete() {
  26.         initComponents();
  27.     }
  28.  
  29.     @SuppressWarnings("unchecked")
  30.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  31.     private void initComponents() {
  32.  
  33.         jLabel1 = new javax.swing.JLabel();
  34.         jScrollPane1 = new javax.swing.JScrollPane();
  35.         jTable1 = new javax.swing.JTable();
  36.         jButton1 = new javax.swing.JButton();
  37.         lblKey = new javax.swing.JLabel();
  38.  
  39.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  40.         addWindowListener(new java.awt.event.WindowAdapter() {
  41.             public void windowOpened(java.awt.event.WindowEvent evt) {
  42.                 formWindowOpened(evt);
  43.             }
  44.         });
  45.  
  46.         jLabel1.setBackground(new java.awt.Color(255, 255, 255));
  47.         jLabel1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
  48.         jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  49.         jLabel1.setText("Day 25 Table(date, varchar, decimal, boolean) DELETE");
  50.  
  51.         jTable1.setModel(new javax.swing.table.DefaultTableModel(
  52.             new Object [][] {
  53.  
  54.             },
  55.             new String [] {
  56.                 "dt_id", "date", "note", "number", "boolean"
  57.             }
  58.         ) {
  59.             Class[] types = new Class [] {
  60.                 java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.Double.class, java.lang.Boolean.class
  61.             };
  62.             boolean[] canEdit = new boolean [] {
  63.                 false, false, false, false, false
  64.             };
  65.  
  66.             public Class getColumnClass(int columnIndex) {
  67.                 return types [columnIndex];
  68.             }
  69.  
  70.             public boolean isCellEditable(int rowIndex, int columnIndex) {
  71.                 return canEdit [columnIndex];
  72.             }
  73.         });
  74.         jTable1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
  75.         jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
  76.             public void mouseReleased(java.awt.event.MouseEvent evt) {
  77.                 jTable1MouseReleased(evt);
  78.             }
  79.         });
  80.         jScrollPane1.setViewportView(jTable1);
  81.  
  82.         jButton1.setBackground(java.awt.Color.red);
  83.         jButton1.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
  84.         jButton1.setForeground(java.awt.Color.white);
  85.         jButton1.setText("Delete");
  86.         jButton1.addActionListener(new java.awt.event.ActionListener() {
  87.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  88.                 jButton1ActionPerformed(evt);
  89.             }
  90.         });
  91.  
  92.         lblKey.setText("0");
  93.  
  94.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  95.         getContentPane().setLayout(layout);
  96.         layout.setHorizontalGroup(
  97.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  98.             .addGroup(layout.createSequentialGroup()
  99.                 .addGap(29, 29, 29)
  100.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  101.                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  102.                         .addComponent(jScrollPane1)
  103.                         .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 681, Short.MAX_VALUE))
  104.                     .addGroup(layout.createSequentialGroup()
  105.                         .addComponent(lblKey)
  106.                         .addGap(18, 18, 18)
  107.                         .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 157, javax.swing.GroupLayout.PREFERRED_SIZE)))
  108.                 .addContainerGap(31, Short.MAX_VALUE))
  109.         );
  110.         layout.setVerticalGroup(
  111.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  112.             .addGroup(layout.createSequentialGroup()
  113.                 .addContainerGap()
  114.                 .addComponent(jLabel1)
  115.                 .addGap(18, 18, 18)
  116.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 250, javax.swing.GroupLayout.PREFERRED_SIZE)
  117.                 .addGap(18, 18, 18)
  118.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  119.                     .addComponent(jButton1)
  120.                     .addComponent(lblKey))
  121.                 .addContainerGap(76, Short.MAX_VALUE))
  122.         );
  123.  
  124.         pack();
  125.     }// </editor-fold>                        
  126.  
  127.     private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
  128.         getAllRows(jTable1);
  129.     }                                
  130.  
  131.     private void jTable1MouseReleased(java.awt.event.MouseEvent evt) {                                      
  132.         int tableRow = jTable1.getSelectedRow();
  133.         lblKey.setText(String.valueOf(jTable1.getValueAt(tableRow, 0)));
  134.     }                                    
  135.  
  136.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  137.         int result = JOptionPane.showConfirmDialog(this,"Are you sure you want to DELETE the row?", "DELETE",
  138.                JOptionPane.YES_NO_OPTION,
  139.                JOptionPane.WARNING_MESSAGE);
  140.         if (result == JOptionPane.YES_OPTION) {
  141.             //JOptionPane.showMessageDialog(this,"Yes is selected");                                          
  142.             String address = "jdbc:mysql://127.0.0.1:3306/db_mng_batch5";
  143.             String userName = "root";
  144.             String passWord = "";
  145.            
  146.             int rowsAffected = 0;
  147.             String outputMessage;
  148.             int id = Integer.parseInt(lblKey.getText());
  149.            
  150.             String sqlQuery = "DELETE FROM tbl_date_sample WHERE dt_id=?;";
  151.  
  152.             try {
  153.                 Connection conn = DriverManager.getConnection(
  154.                         address,userName,passWord);
  155.                 PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  156.  
  157.                 stmt.setInt(1, id);
  158.  
  159.                 rowsAffected = stmt.executeUpdate();
  160.                
  161.                 switch (rowsAffected) {
  162.                     case 1:
  163.                         outputMessage = "Row deleted";
  164.                         break;
  165.                     default:
  166.                         outputMessage = "There is a problem. Please try again";
  167.                 }
  168.  
  169.                 conn.close();
  170.             } catch (Exception e) {
  171.                 outputMessage = "Connection\n"+e.toString();
  172.             }
  173.             getAllRows(jTable1);
  174.             JOptionPane.showMessageDialog(this, outputMessage);
  175.         }
  176.     }                                        
  177.  
  178.     /**
  179.      * @param args the command line arguments
  180.      */
  181.     public static void main(String args[]) {
  182.         /* Set the Nimbus look and feel */
  183.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  184.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  185.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  186.          */
  187.         try {
  188.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  189.                 if ("Nimbus".equals(info.getName())) {
  190.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  191.                     break;
  192.                 }
  193.             }
  194.         } catch (ClassNotFoundException ex) {
  195.             java.util.logging.Logger.getLogger(Day25ADelete.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  196.         } catch (InstantiationException ex) {
  197.             java.util.logging.Logger.getLogger(Day25ADelete.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  198.         } catch (IllegalAccessException ex) {
  199.             java.util.logging.Logger.getLogger(Day25ADelete.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  200.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  201.             java.util.logging.Logger.getLogger(Day25ADelete.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  202.         }
  203.         //</editor-fold>
  204.  
  205.         /* Create and display the form */
  206.         java.awt.EventQueue.invokeLater(new Runnable() {
  207.             public void run() {
  208.                 new Day25ADelete().setVisible(true);
  209.             }
  210.         });
  211.     }
  212.    
  213.     private void getAllRows(JTable tableUsed){
  214.         DefaultTableModel tableModel = (DefaultTableModel)tableUsed.getModel();
  215.         tableModel.setRowCount(0); // pang delete ng laman ng table
  216.         String address = "jdbc:mysql://127.0.0.1:3306/db_mng_batch5";
  217.         String userName = "root";
  218.         String passWord = "";
  219.         String sqlQuery = "SELECT * FROM tbl_date_sample;";
  220.         // REMOVE  ORDER BY fld_pid DESC LIMIT 0,15  TO SHOW ALL ROWS
  221.         try {
  222.             Connection conn = DriverManager.getConnection(
  223.                     address,userName,passWord);
  224.             PreparedStatement stmt = conn.prepareStatement(sqlQuery);
  225.            
  226.             ResultSet rs = stmt.executeQuery();
  227.            
  228.             while (rs.next()) {
  229.                 tableModel.addRow(new Object[]{
  230.                     rs.getInt(1)
  231.                     ,rs.getString(2)
  232.                     ,rs.getString(3)
  233.                     ,rs.getDouble(4)
  234.                     ,rs.getBoolean(5)
  235.                 });
  236.             }
  237.            
  238.             conn.close();
  239.         } catch (Exception e) {
  240.             System.out.println(e.getMessage());
  241.         }
  242.     }
  243.  
  244.     // Variables declaration - do not modify                    
  245.     private javax.swing.JButton jButton1;
  246.     private javax.swing.JLabel jLabel1;
  247.     private javax.swing.JScrollPane jScrollPane1;
  248.     private javax.swing.JTable jTable1;
  249.     private javax.swing.JLabel lblKey;
  250.     // End of variables declaration                  
  251.  
  252. }
  253.  
  254. //CREATE TABLE tbl_date_sample
  255. //  ( dt_id INT NOT NULL AUTO_INCREMENT
  256. //  , date_rec DATE NOT NULL
  257. //  , dt_note VARCHAR(35) NOT NULL
  258. //  , dt_number DECIMAL(20,4) NOT NULL
  259. //  , dt_boolean BOOLEAN NOT NULL
  260. //  , PRIMARY KEY (dt_id)
  261. //) ENGINE = InnoDB;
  262.  
Advertisement
Add Comment
Please, Sign In to add comment