관리 메뉴

moozi

5/20 컴보2B 자바 본문

카테고리 없음

5/20 컴보2B 자바

moozi 2015. 5. 20. 10:08

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

 

 

public class Member extends JFrame {
 
 JTextArea ta;//목록
 JTextField tfName; //이름
 JTextField tfID; //학번
 JTextField tfDepartment; //학과
 JTextField tfAddress; //주소
 
 Member(){
  setTitle("학생관리");//타이틀  
  
  Container c=getContentPane();
  c.setLayout(new FlowLayout(FlowLayout.LEFT));
  c.setBackground(Color.ORANGE);
  
  c.add(new JLabel("이름"));
  tfName=new JTextField(20);
  c.add(tfName);
  
  c.add(new JLabel("학번"));
  tfID=new JTextField(13);
  c.add(tfID); 
  
  JButton btnSearch=new JButton("Search");
  c.add(btnSearch);
  btnSearch.addActionListener(new ActionListener(){

   @Override
   public void actionPerformed(ActionEvent arg0) {
    try{
     Class.forName("com.mysql.jdbc.Driver");//드라이버로드
     String connStr="jdbc:mysql://localhost:8888/sampledb";
     Connection conn=DriverManager.getConnection(connStr,"root","1234");
     Statement stm=conn.createStatement();
        
     ResultSet rs=stm.executeQuery("select * from student where id='"+tfID.getText()+"'");
     ta.setText("");//목록 초기화
     ta.append("학번\t");
     ta.append("이름\t");
     ta.append("학과\t");
     ta.append("주소\n");
     ta.append("===========================================\n");
     if(rs.next()){
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\t");
      ta.append(rs.getString("address")+"\n");
      
      tfName.setText(rs.getString("name"));
      tfID.setText(rs.getString("id"));
      tfDepartment.setText(rs.getString("dept"));
      tfAddress.setText(rs.getString("address"));
     }
     
     
     
     rs.close();
     stm.close();
     conn.close();
     
    }catch(Exception a){
     a.printStackTrace();//에러메시지출력
    } 
    
   }});
  
  
  c.add(new JLabel("학과"));
  tfDepartment=new JTextField(20);
  c.add(tfDepartment);
  
  c.add(new JLabel("주소"));
  tfAddress=new JTextField(20);
  c.add(tfAddress);
  
  ta=new JTextArea(7,23);
  c.add(new JScrollPane(ta));//스크롤구현  
  
  JButton btnOK=new JButton("Insert");
  c.add(btnOK);
  //버튼에 리스너추가
  btnOK.addActionListener(new ActionListener(){

   @Override
   public void actionPerformed(ActionEvent e) {
    if(tfName.getText().equals("")){
     JOptionPane.showMessageDialog(null, "이름을 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfName.requestFocus();//포커스
     return;//함수종료     
    }
    if(tfDepartment.getText().equals("")){
     JOptionPane.showMessageDialog(null, "학과를 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfDepartment.requestFocus();//포커스
     return;//함수종료     
    }
    if(tfAddress.getText().equals("")){
     JOptionPane.showMessageDialog(null, "주소를 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfAddress.requestFocus();//포커스
     return;//함수종료     
    }    
    
     
    try{
     Class.forName("com.mysql.jdbc.Driver");//드라이버로드
     String connStr="jdbc:mysql://localhost:8888/sampledb";
     Connection conn=DriverManager.getConnection(connStr,"root","1234");
     Statement stm=conn.createStatement();
       
     String sql="insert into student(id,name,dept,address) "
       + " values('"+tfID.getText()+"','"+tfName.getText()+"','"+tfDepartment.getText()+"','"+tfAddress.getText()+"')";
     stm.executeUpdate(sql);
     
     ResultSet rs=stm.executeQuery("select * from student");
     ta.setText("");//목록 초기화
     ta.append("학번\t");
     ta.append("이름\t");
     ta.append("학과\t");
     ta.append("주소\n");
     ta.append("===========================================\n");
     while(rs.next()){
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\t");
      ta.append(rs.getString("address")+"\n");
     }
     
     
     rs.close();
     stm.close();
     conn.close();
     
    }catch(Exception a){
     a.printStackTrace();//에러메시지출력
    }
    
    
   }}); 
  
  JButton btnCancel=new JButton("List");
  btnCancel.addActionListener(new ActionListener(){

   @Override
   public void actionPerformed(ActionEvent e) {
    try{
     Class.forName("com.mysql.jdbc.Driver");//드라이버로드
     String connStr="jdbc:mysql://localhost:8888/sampledb";
     Connection conn=DriverManager.getConnection(connStr,"root","1234");
     Statement stm=conn.createStatement();
        
     ResultSet rs=stm.executeQuery("select * from student");
     ta.setText("");//목록 초기화
     ta.append("학번\t");
     ta.append("이름\t");
     ta.append("학과\t");
     ta.append("주소\n");
     ta.append("===========================================\n");
     while(rs.next()){
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\t");
      ta.append(rs.getString("address")+"\n");
     }
     
     
     rs.close();
     stm.close();
     conn.close();
     
    }catch(Exception a){
     a.printStackTrace();//에러메시지출력
    } 
    
   }});
  c.add(btnCancel);
  
  JButton btnInsert=new JButton("Update");
  c.add(btnInsert);
  btnInsert.addActionListener(new ActionListener(){

   @Override
   public void actionPerformed(ActionEvent e) {
    if(tfName.getText().equals("")){
     JOptionPane.showMessageDialog(null, "이름을 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfName.requestFocus();//포커스
     return;//함수종료     
    }
    if(tfDepartment.getText().equals("")){
     JOptionPane.showMessageDialog(null, "학과를 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfDepartment.requestFocus();//포커스
     return;//함수종료     
    }
    if(tfAddress.getText().equals("")){
     JOptionPane.showMessageDialog(null, "주소를 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfAddress.requestFocus();//포커스
     return;//함수종료     
    }    
    
     
    try{
     Class.forName("com.mysql.jdbc.Driver");//드라이버로드
     String connStr="jdbc:mysql://localhost:8888/sampledb";
     Connection conn=DriverManager.getConnection(connStr,"root","1234");
     Statement stm=conn.createStatement();
       
     String sql="update student set name='"+tfName.getText()+"', dept='"+tfDepartment.getText()+"', address='"+tfAddress.getText()
        +"' where id='"+tfID.getText()+"'";
       
     stm.executeUpdate(sql);
     
     ResultSet rs=stm.executeQuery("select * from student");
     ta.setText("");//목록 초기화
     ta.append("학번\t");
     ta.append("이름\t");
     ta.append("학과\t");
     ta.append("주소\n");
     ta.append("===========================================\n");
     while(rs.next()){
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\t");
      ta.append(rs.getString("address")+"\n");
     }
     
     
     rs.close();
     stm.close();
     conn.close();
     
    }catch(Exception a){
     a.printStackTrace();//에러메시지출력
    }
    
   }});
  
  
  JButton btnDelete=new JButton("Delete");
  c.add(btnDelete);
  btnDelete.addActionListener(new ActionListener(){

   @Override
   public void actionPerformed(ActionEvent e) {
    try{
     Class.forName("com.mysql.jdbc.Driver");//드라이버로드
     String connStr="jdbc:mysql://localhost:8888/sampledb";
     Connection conn=DriverManager.getConnection(connStr,"root","1234");
     Statement stm=conn.createStatement();
       
     String sql="delete from student where id='"+tfID.getText()+"'";
       
     stm.executeUpdate(sql);
     
     ResultSet rs=stm.executeQuery("select * from student");
     ta.setText("");//목록 초기화
     ta.append("학번\t");
     ta.append("이름\t");
     ta.append("학과\t");
     ta.append("주소\n");
     ta.append("===========================================\n");
     while(rs.next()){
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\t");
      ta.append(rs.getString("address")+"\n");
     }
     //입력필드 초기화
     tfName.setText("");
     tfID.setText("");
     tfDepartment.setText("");
     tfAddress.setText("");
     
     
     rs.close();
     stm.close();
     conn.close();
     
    }catch(Exception a){
     a.printStackTrace();//에러메시지출력
    }
    
   }});
  
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//종료
  //setResizable(false);//화면크기조정금지
  setSize(305,335);//가로,세로 사이즈
  setVisible(true);//보이게하기.
  
 }

 
 
 
 public static void main(String[] args) {
  new Member();//생성자호출.인스턴스생성

 }

}

Comments