package basicjdbcdemo2; import java.math.BigDecimal; import java.sql.*; import java.util.Properties; import javax.swing.JOptionPane; /** * * @author SEEDAGX */ public class BasicDemo2JFrame extends javax.swing.JFrame { Connection conn; String connUrl = "jdbc:sqlserver://SEEDAGX\\SQLEXPRESS;databaseName=Employee;integratedSecurity=true"; /** Creates new form BasicDemo2JFrame */ public BasicDemo2JFrame() { initComponents(); /* try { Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); conn = d.connect(connUrl, new Properties()); } catch (ClassNotFoundException ex) { System.err.println(ex.getMessage()); } catch (IllegalAccessException ex) { System.err.println(ex.getMessage()); } catch (InstantiationException ex) { System.err.println(ex.getMessage()); } catch (SQLException ex) { System.err.println(ex.getMessage()); } */ } /** 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(); jTextField1 = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); jTextField2 = new javax.swing.JTextField(); jLabel3 = new javax.swing.JLabel(); jTextField3 = new javax.swing.JTextField(); jLabel4 = new javax.swing.JLabel(); 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() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addGap(54, 54, 54) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel4) .addComponent(jLabel3)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTextField4) .addComponent(jTextField3))) .addGroup(layout.createSequentialGroup() .addGap(1, 1, 1) .addComponent(jButton1) .addGap(18, 18, 18) .addComponent(jButton2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton3) .addGap(18, 18, 18) .addComponent(jButton4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jButton5)))) .addGroup(layout.createSequentialGroup() .addGap(55, 55, 55) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel2) .addComponent(jLabel1)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jTextField2) .addComponent(jTextField1)))) .addContainerGap(98, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(27, 27, 27) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(jTextField1, 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(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel2)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3)) .addGap(25, 25, 25) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextField4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4)) .addGap(32, 32, 32) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButton1) .addComponent(jButton2) .addComponent(jButton3) .addComponent(jButton4) .addComponent(jButton5)) .addContainerGap(37, 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: String query = "SELECT * FROM EmployeeDetails WHERE EmpId = ?"; try { Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); conn = d.connect(connUrl, new Properties()); // バインド変数を格納したSQLを発行するため、PreparedStatementを用意する。 PreparedStatement ps = conn.prepareStatement(query); // idに対して値を代入する。この「1」というのは、1番目のバインド変数idを指す。 int iempid = Integer.parseInt(jTextField1.getText()); ps.setInt(1, iempid); // 結果を取得する。 ResultSet 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.getBigDecimal("EmpSalary"))); } } catch(Exception ex) { ex.printStackTrace(); } finally { try { if (conn != null && !conn.isClosed()) { conn.close(); } } catch (SQLException ex) { ex.printStackTrace(); } } }//GEN-LAST:event_jButton1MouseClicked private void jButton2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseClicked // TODO add your handling code here: String query = "INSERT INTO EmployeeDetails VALUES(?, ?, ?, ?)"; try { Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); conn = d.connect(connUrl, new Properties()); // バインド変数を格納したSQLを発行するため、PreparedStatementを用意する。 PreparedStatement ps = conn.prepareStatement(query); // 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); // 結果を取得する。 ResultSet rs = ps.executeQuery(); } catch(Exception ex) { ex.printStackTrace(); } finally { try { if (conn != null && !conn.isClosed()) { conn.close(); } } catch (SQLException ex) { ex.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: String query = "UPDATE EmployeeDetails SET EmpName = ?, EmpDesgn = ?, EmpSalary = ? WHERE EmpId = ?"; try { Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); conn = d.connect(connUrl, new Properties()); // バインド変数を格納したSQLを発行するため、PreparedStatementを用意する。 PreparedStatement ps = conn.prepareStatement(query); // 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); // 結果を取得する。 ResultSet rs = ps.executeQuery(); } catch(Exception ex) { ex.printStackTrace(); } finally { try { if (conn != null && !conn.isClosed()) { conn.close(); } } catch (SQLException ex) { ex.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: String query = "DELETE EmployeeDetails WHERE EmpId = ?"; try { Driver d = (Driver) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); conn = d.connect(connUrl, new Properties()); // バインド変数を格納したSQLを発行するため、PreparedStatementを用意する。 PreparedStatement ps = conn.prepareStatement(query); // idに対して値を代入する。この「1」というのは、1番目のバインド変数idを指す。 int iempid = Integer.parseInt(jTextField1.getText()); ps.setInt(1, iempid); // 結果を取得する。 ResultSet rs = ps.executeQuery(); } catch(Exception ex) { ex.printStackTrace(); } finally { try { if (conn != null && !conn.isClosed()) { conn.close(); } } catch (SQLException ex) { ex.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(BasicDemo2JFrame.class.getName()) .log(java.util .logging .Level .SEVERE, null, ex); } catch (InstantiationException ex) { java.util .logging .Logger .getLogger(BasicDemo2JFrame.class.getName()) .log(java.util .logging .Level .SEVERE, null, ex); } catch (IllegalAccessException ex) { java.util .logging .Logger .getLogger(BasicDemo2JFrame.class.getName()) .log(java.util .logging .Level .SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException ex) { java.util .logging .Logger .getLogger(BasicDemo2JFrame.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 BasicDemo2JFrame().setVisible(true); } }); new BasicDemo2JFrame(); } // 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 }