관리 메뉴

moozi

haksa 3.16 본문

TIS_2018/응용sw2018_1기

haksa 3.16

moozi 2018. 3. 19. 09:37

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 Haksa extends JFrame{
 
 Connection conn;
 JTextArea ta;
 JTextField tfName;
 JTextField tfDepartment;
 JTextField tfAddress;
 
 public Haksa() {
  this.setTitle("학사관리 시스템");
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  Container c=getContentPane();
  c.setLayout(new FlowLayout());
  
  // 새로 추가된 내용. 학번.
  c.add(new JLabel("학번"));
  JTextField tfID=new JTextField(14);
  c.add(tfID);
  
  JButton btnSearch=new JButton("검색");
  c.add(btnSearch);
  btnSearch.addActionListener(new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent arg0) {
    try {
     
     Statement stmt=conn.createStatement();
     
     ResultSet rs=stmt.executeQuery("select * from student where id='"+tfID.getText()+"'");
       
     //ta초기화
     ta.setText("");
     
     ta.append("id\t");
     ta.append("name\t");
     ta.append("dept\n");
     ta.append("=========================================\n");
     
     if(rs.next()) {      
      tfID.setText(rs.getString("id"));
      tfName.setText(rs.getString("name"));
      tfDepartment.setText(rs.getString("dept"));
      
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\n");
     }
     
    }catch(Exception e) {
     e.printStackTrace();
    }
    
   }});
  
  
  c.add(new JLabel("이름"));
  tfName=new JTextField(20);
  c.add(tfName);
  c.add(new JLabel("학과"));
  tfDepartment=new JTextField(20);
  c.add(tfDepartment);
  c.add(new JLabel("주소"));
  JTextField tfAddress=new JTextField(20);
  c.add(tfAddress);
  
  //목록
  ta=new JTextArea(7,23);
  c.add(new JScrollPane(ta));
  
  //버튼추가
  JButton btnInsert=new JButton("등록");
  c.add(btnInsert);
  btnInsert.addActionListener(new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent e) {
    //필수입력항목체크
    if(tfID.getText().equals("")) {
     JOptionPane.showMessageDialog(null, "학번을 입력하세요");
     return;//함수종료
    }
    if(tfName.getText().equals("")) {
     JOptionPane.showMessageDialog(null, "이름을 입력하세요");
     return;//함수종료
    }
    if(tfDepartment.getText().equals("")) {
     JOptionPane.showMessageDialog(null, "학과를 입력하세요");
     return;//함수종료
    }
    
    try {
     Statement stmt=conn.createStatement();
     
     stmt.executeUpdate("insert into student values('"+tfID.getText()+"','"+tfName.getText()+"','"+tfDepartment.getText()+"')");
     ResultSet rs=stmt.executeQuery("select * from student order by name");
     
     //ta초기화
     ta.setText("");
     
     ta.append("id\t");
     ta.append("name\t");
     ta.append("dept\n");
     ta.append("=========================================\n");
     
     while(rs.next()) {
      
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\n");
     }
     
    }catch(Exception ex) {
     ex.printStackTrace();
    }
    
    
    
   }});
    
  JButton btnSelect=new JButton("목록");
  c.add(btnSelect);
  btnSelect.addActionListener(new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent arg0) {
    try {
     
     Statement stmt=conn.createStatement();
     
     ResultSet rs=stmt.executeQuery("select * from student");
     ta.append("id\t");
     ta.append("name\t");
     ta.append("dept\n");
     ta.append("=========================================\n");
     
     while(rs.next()) {
      
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\n");
     }
     
    }catch(Exception e) {
     e.printStackTrace();
    }
    
    
   }});
  
  JButton btnUpdate=new JButton("수정");
  c.add(btnUpdate);
  btnUpdate.addActionListener(new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent e) {
    try {    
     
     Statement stmt=conn.createStatement();
     
     
     stmt.executeUpdate("update student set name='"+tfName.getText()+"', dept='"+tfDepartment.getText()+"' where id='"+tfID.getText()+"'");
          
     ResultSet rs=stmt.executeQuery("select * from student where id='"+tfID.getText()+"'");
     //ta초기화
     ta.setText("");
     
     ta.append("id\t");
     ta.append("name\t");
     ta.append("dept\n");
     ta.append("=========================================\n");
     
     while(rs.next()) {
      System.out.print(rs.getString("id")+"\t");
      System.out.print(rs.getString("name")+"\t");
      System.out.println(rs.getString("dept"));
      
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\n");
     }
     
    }catch(Exception ex) {
     ex.printStackTrace();
    }
    
   }});
  
  JButton btnDelete=new JButton("삭제");
  c.add(btnDelete);
  btnDelete.addActionListener(new ActionListener() {

   @Override
   public void actionPerformed(ActionEvent e) {
    //필수입력항목체크
    if(tfID.getText().equals("")) {
     JOptionPane.showMessageDialog(null, "학번을 입력하세요");
     return;//함수종료
    }
    //삭제여부 확인
    int result=JOptionPane.showConfirmDialog(null, "삭제하시겠습니까?","삭제",JOptionPane.YES_NO_OPTION);
    if(result==JOptionPane.YES_OPTION) {
     try {    
      
      Statement stmt=conn.createStatement();
      stmt.executeUpdate("delete from student where id='"+tfID.getText()+"'");
           
      ResultSet rs=stmt.executeQuery("select * from student where id='"+tfID.getText()+"'");
      
      //입력필드초기화
      tfID.setText("");
      tfName.setText("");
      tfDepartment.setText("");
      tfAddress.setText("");
      
      //ta초기화
      ta.setText("");
      
      ta.append("id\t");
      ta.append("name\t");
      ta.append("dept\n");
      ta.append("=========================================\n");
      
      while(rs.next()) {
       System.out.print(rs.getString("id")+"\t");
       System.out.print(rs.getString("name")+"\t");
       System.out.println(rs.getString("dept"));
       
       ta.append(rs.getString("id")+"\t");
       ta.append(rs.getString("name")+"\t");
       ta.append(rs.getString("dept")+"\n");
      }
      
     }catch(Exception ex) {
      ex.printStackTrace();
     }
    }
    
    
   }});
  
  
  this.setSize(300,350);
  this.setVisible(true);
  
  try {
   //Class.forName("com.mysql.jdbc.Driver");
   //conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sampledb","root","1234");
   Class.forName("oracle.jdbc.driver.OracleDriver");
   conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","hr","1234");
  } catch (Exception e1) {
   // TODO Auto-generated catch block
   e1.printStackTrace();
  }
 }
 public static void main(String[] args) {
  new Haksa();

 }

}

'TIS_2018 > 응용sw2018_1기' 카테고리의 다른 글

자바미니프로젝트  (0) 2018.03.19
3/19 BookRent  (0) 2018.03.19
자바연습문제15  (0) 2018.03.16
haksa 1/31  (0) 2018.03.16
정규화  (0) 2018.03.15
Comments