package javacrud; import java.math.BigDecimal; import java.sql.DriverManager; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.JOptionPane; /** * * @author SEEDAGX */ public class JavaCRUD extends javax.swing.JFrame { //変数定義 Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; //DB接続情報を設定する String path = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; // 接続パス String id = "scott"; //ログインID String pw = "tiger"; //ログインパスワード /** Creates new form JavaCRUD */ public JavaCRUD() { initComponents(); } /** 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") private void initComponents() {//GEN-BEGIN:initComponents jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jTextField2 = new javax.swing.JTextField(); jTextField3 = new javax.swing.JTextField(); jTextField4 = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); jButton3 = new javax.swing.JButton(); jButton4 = new javax.swing.JButton(); jButton5 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabel1.setText("EmpId"); jLabel2.setText("EmpName"); jLabel3.setText("EmpDesgn"); jLabel4.setText("EmpSalary"); jButton1.setText("SELECT"); jButton1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jButton1MouseClicked(evt); } }); jButton2.setText("INSERT"); jButton2.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jButton2MouseClicked(evt); } }); jButton3.setText("UPDATE"); jButton3.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jButton3MouseClicked(evt); } }); jButton4.setText("DELETE"); jButton4.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jButton4MouseClicked(evt); } }); jButton5.setText("RESET"); jButton5.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jButton5MouseClicked(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(66, 66, 66) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jButton1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton3) .addGap(18, 18, 18) .addComponent(jButton4) .addGap(18, 18, 18) .addComponent(jButton5)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel4) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel1) .addComponent(jLabel2))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(jTextField2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 262, Short.MAX_VALUE) .addComponent(jTextField1, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTextField4))) .addGroup(layout.createSequentialGroup() .addComponent(jLabel3) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 261, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(115, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(44, 44, 44) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel1)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(20, 20, 20) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(39, 39, 39) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton1) .addComponent(jButton2) .addComponent(jButton3) .addComponent(jButton4) .addComponent(jButton5)) .addContainerGap(36, Short.MAX_VALUE)) ); pack(); }//GEN-END:initComponents private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseClicked // TODO add your handling code here: //SQL文を定義する String sql = "SELECT * FROM EmployeeDetails WHERE EmpId = ?"; try { //JDBCドライバをロードする Class.forName("oracle.jdbc.driver.OracleDriver"); //DBへのコネクションを作成する conn = DriverManager.getConnection(path, id, pw); //実行するSQL文とパラメータを指定する ps = conn.prepareStatement(sql); // idに対して値を代入する。この「1」というのは、1番目のバインド変数idを指す。 int iempid = Integer.parseInt(jTextField1.getText()); ps.setInt(1, iempid); //SELECTを実行する rs = ps.executeQuery(); //取得した結果を全件出力する while(rs.next()) { jTextField1.setText(String.valueOf(rs.getInt("EmpId"))); jTextField2.setText(rs.getString("EmpName")); jTextField3.setText(rs.getString("EmpDesgn")); jTextField4.setText(String.valueOf(rs.getFloat("EmpSalary"))); } } catch(Exception ex) { //例外発生時の処理 ex.printStackTrace(); //エラー内容をコンソールに出力する } finally { //クローズ処理 if(rs != null) { try { rs.close(); if(ps != null) ps.close(); if(conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }//GEN-LAST:event_jButton1MouseClicked private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseClicked // TODO add your handling code here: //SQL文を定義する String sql = "INSERT INTO EmployeeDetails VALUES(?, ?, ?, ?)"; try { //JDBCドライバをロードする Class.forName("oracle.jdbc.driver.OracleDriver"); //DBへのコネクションを作成する conn = DriverManager.getConnection(path, id, pw); //実行するSQL文とパラメータを指定する ps = conn.prepareStatement(sql); // idに対して値を代入する。この「1」というのは、1番目のバインド変数idを指す。 int iempid = Integer.parseInt(jTextField1.getText()); ps.setInt(1, iempid); ps.setString(2, jTextField2.getText()); ps.setString(3, jTextField3.getText()); BigDecimal dempsal = new BigDecimal(jTextField4.getText()); ps.setBigDecimal(4, dempsal); //SELECTを実行する rs = ps.executeQuery(); } catch(Exception ex) { //例外発生時の処理 ex.printStackTrace(); //エラー内容をコンソールに出力する } finally { //クローズ処理 if(rs != null) { try { rs.close(); if(ps != null) ps.close(); if(conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } JOptionPane.showMessageDialog(this, "データの挿入が完了しました。", "確認", JOptionPane.INFORMATION_MESSAGE); }//GEN-LAST:event_jButton2MouseClicked private void jButton3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton3MouseClicked // TODO add your handling code here: //SQL文を定義する String sql = "UPDATE EmployeeDetails SET EmpName = ?, EmpDesgn = ?, EmpSalary = ? WHERE EmpId = ?"; try { //JDBCドライバをロードする Class.forName("oracle.jdbc.driver.OracleDriver"); //DBへのコネクションを作成する conn = DriverManager.getConnection(path, id, pw); //実行するSQL文とパラメータを指定する ps = conn.prepareStatement(sql); // idに対して値を代入する。この「1」というのは、1番目のバインド変数idを指す。 ps.setString(1, jTextField2.getText()); ps.setString(2, jTextField3.getText()); BigDecimal dempsal = new BigDecimal(jTextField4.getText()); ps.setBigDecimal(3, dempsal); int iempid = Integer.parseInt(jTextField1.getText()); ps.setInt(4, iempid); //SELECTを実行する rs = ps.executeQuery(); } catch(Exception ex) { //例外発生時の処理 ex.printStackTrace(); //エラー内容をコンソールに出力する } finally { //クローズ処理 if(rs != null) { try { rs.close(); if(ps != null) ps.close(); if(conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } JOptionPane.showMessageDialog(this, "データの更新が完了しました。", "確認", JOptionPane.INFORMATION_MESSAGE); }//GEN-LAST:event_jButton3MouseClicked private void jButton4MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton4MouseClicked // TODO add your handling code here: //SQL文を定義する String sql = "DELETE EmployeeDetails WHERE EmpId = ?"; try { //JDBCドライバをロードする Class.forName("oracle.jdbc.driver.OracleDriver"); //DBへのコネクションを作成する conn = DriverManager.getConnection(path, id, pw); //実行するSQL文とパラメータを指定する ps = conn.prepareStatement(sql); // idに対して値を代入する。この「1」というのは、1番目のバインド変数idを指す。 int iempid = Integer.parseInt(jTextField1.getText()); ps.setInt(1, iempid); //SELECTを実行する rs = ps.executeQuery(); } catch(Exception ex) { //例外発生時の処理 ex.printStackTrace(); //エラー内容をコンソールに出力する } finally { //クローズ処理 if(rs != null) { try { rs.close(); if(ps != null) ps.close(); if(conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } JOptionPane.showMessageDialog(this, "データの削除が完了しました。", "確認", JOptionPane.INFORMATION_MESSAGE); }//GEN-LAST:event_jButton4MouseClicked private void jButton5MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton5MouseClicked // TODO add your handling code here: jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); }//GEN-LAST:event_jButton5MouseClicked /** * @param args the command line arguments */ public static void main(String args[]) { /* Set the Nimbus look and feel */ // /* 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(JavaCRUD.class.getName()) .log(java.util .logging .Level .SEVERE, null, ex); } catch (InstantiationException ex) { java.util .logging .Logger .getLogger(JavaCRUD.class.getName()) .log(java.util .logging .Level .SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util .logging .Logger .getLogger(JavaCRUD.class.getName()) .log(java.util .logging .Level .SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util .logging .Logger .getLogger(JavaCRUD.class.getName()) .log(java.util .logging .Level .SEVERE, null, ex); } // /* Create and display the form */ java.awt .EventQueue .invokeLater(new Runnable() { public void run() { new JavaCRUD().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JButton jButton3; private javax.swing.JButton jButton4; private javax.swing.JButton jButton5; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField2; private javax.swing.JTextField jTextField3; private javax.swing.JTextField jTextField4; // End of variables declaration//GEN-END:variables }