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;
}
}