package ch22;

import java.awt.BorderLayout;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Rectangle;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.sql.*;

public class Ch2204 extends JFrame
{
 //가장쉬운 이벤트.
 //무명클래스 사용.
 //폼에게 전개..
 //Winform 솔루션 -> 웹으로 개발 X...(재사용 가능성 거의 없음)
 //초보자에게 만들기 쉬우나, 재활용 거의 불가능.
 private static final long serialVersionUID = 1L;

 private JPanel jContentPane = null;

 private JLabel jLabel = null;

 private JTextField txtID = null;

 private JLabel jLabel1 = null;

 private JTextField txtName = null;

 private JTextField txtEmail = null;

 private JTextField txtPwd = null;

 private JLabel jLabel2 = null;

 private JLabel jLabel21 = null;

 private JButton btnAdd = null;

 /**
  * This is the default constructor
  */
 public Ch2204()
 {
  super();
  initialize();
 }

 /**
  * This method initializes this
  *
  * @return void
  */
 private void initialize()
 {
  this.setSize(300, 200);
  this.setContentPane(getJContentPane());
  this.setTitle("JFrame");
 }

 /**
  * This method initializes jContentPane
  *
  * @return javax.swing.JPanel
  */
 private JPanel getJContentPane()
 {
  if (jContentPane == null)
  {
   jLabel21 = new JLabel();
   jLabel21.setBounds(new Rectangle(30, 110, 61, 21));
   jLabel21.setText("비밀번호");
   jLabel2 = new JLabel();
   jLabel2.setBounds(new Rectangle(30, 80, 41, 21));
   jLabel2.setText("이메일");
   jLabel1 = new JLabel();
   jLabel1.setBounds(new Rectangle(30, 50, 41, 21));
   jLabel1.setText("이름");
   jLabel = new JLabel();
   jLabel.setBounds(new Rectangle(29, 19, 42, 22));
   jLabel.setText("ID");
   jContentPane = new JPanel();
   jContentPane.setLayout(null);
   jContentPane.add(jLabel, null);
   jContentPane.add(getTxtID(), null);
   jContentPane.add(jLabel1, null);
   jContentPane.add(getTxtName(), null);
   jContentPane.add(jLabel2, null);
   jContentPane.add(getTxtEmail(), null);
   jContentPane.add(jLabel21, null);
   jContentPane.add(getTxtPwd(), null);
   jContentPane.add(getBtnAdd(), null);
  }
  return jContentPane;
 }

 /**
  * This method initializes txtID
  *  
  * @return javax.swing.JTextField
  */
 private JTextField getTxtID()
 {
  if (txtID == null)
  {
   txtID = new JTextField();
   txtID.setBounds(new Rectangle(80, 20, 161, 22));
  }
  return txtID;
 }

 /**
  * This method initializes txtName
  *  
  * @return javax.swing.JTextField
  */
 private JTextField getTxtName()
 {
  if (txtName == null)
  {
   txtName = new JTextField();
   txtName.setBounds(new Rectangle(80, 50, 161, 21));
  }
  return txtName;
 }

 /**
  * This method initializes txtEmail
  *  
  * @return javax.swing.JTextField
  */
 private JTextField getTxtEmail()
 {
  if (txtEmail == null)
  {
   txtEmail = new JTextField();
   txtEmail.setBounds(new Rectangle(80, 80, 161, 21));
  }
  return txtEmail;
 }

 /**
  * This method initializes txtPwd
  *  
  * @return javax.swing.JTextField
  */
 private JTextField getTxtPwd()
 {
  if (txtPwd == null)
  {
   txtPwd = new JTextField();
   txtPwd.setBounds(new Rectangle(100, 110, 141, 21));
  }
  return txtPwd;
 }

 /**
  * This method initializes btnAdd
  *  
  * @return javax.swing.JButton
  */
 private JButton getBtnAdd()
 {
  if (btnAdd == null)
  {
   btnAdd = new JButton();
   btnAdd.setBounds(new Rectangle(150, 140, 91, 21));
   btnAdd.setText("추가");
   btnAdd.addActionListener(new java.awt.event.ActionListener()
   {
    public void actionPerformed(java.awt.event.ActionEvent e)
    {
     // TODO Auto-generated Event stub actionPerformed()
     
     PreparedStatement pstmt = null;
     Connection conn = null;
     try
     {
      Class.forName("oracle.jdbc.driver.OracleDriver");
      conn = DriverManager.getConnection
      (
       "jdbc:oracle:thin:@localhost:1521:ORCL","jsp","jsp"
      );
     
      String sql = "insert into admin(id,name,pwd,email) values (?,?,?,?)";
      pstmt=conn.prepareStatement(sql);
      pstmt.setString(1, txtID.getText());
      pstmt.setString(2, txtName.getText());
      pstmt.setString(3, txtPwd.getText());
      pstmt.setString(4, txtEmail.getText());
     
      int rows=pstmt.executeUpdate();
      if(rows>0)
      {
      txtID.setText("");
      txtName.setText("");
      txtPwd.setText("");
      txtEmail.setText("");
      }
      JOptionPane.showConfirmDialog( null, rows+"행이 추가되었습니다.");      
     }
     catch (ClassNotFoundException e1)
     {
      // TODO 자동 생성된 catch 블록
      e1.printStackTrace();
     }
     catch (SQLException e1)
     {
      // TODO 자동 생성된 catch 블록
      e1.printStackTrace();
     }
     finally
     {
      try
      {
       pstmt.close();
       conn.close();
      }
      catch (SQLException e1)
      {
       // TODO 자동 생성된 catch 블록
       e1.printStackTrace();
      }
     
     }
    }
   });
  }
  return btnAdd;
 }

}

Posted by 말없제이
,