Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 영어
- 안드로이드개발
- 안드로이드 개발 2.0
- 안드로이드 개발 2.0 강좌
- Form Stuff
- 스카이 안드로이드폰 시리우스 K양 동영상
- 안드로이드2.0개발
- android
- 안드로이드2.0
- 구글안드로이드
- 안드로이드
- 안드로이드폰
- 하루 한마디 영어
- 아이폰 배경화면
- 아이폰 바탕화면
- 안드로이드 바탕화면
- 안드로이드 개발 강좌
- 안드로이드 2.0 개발
- 안드로이드 배경화면
- 구글 안드로이드 개발
- 안드로이드 개발
- MapView
- 하루한마디영어
- 인기있는 블로그 만들기
- 스카이 안드로이드폰 시리우스
- SKY 시리우스
- sky 시리우스폰
- 구글 안드로이드
- 스마트폰 배경화면
- objective-c
Archives
- Today
- Total
moozi
04/07 haksa 본문
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
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.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class Haksa2 extends JFrame{
JTextField tfId=null;
JTextField tfName=null;
JTextField tfDepartment=null;
JTextField tfAddress=null;
JTextArea taList=null;
JButton btnInsert=null;
JButton btnSelect=null;
JButton btnUpdate=null;
JButton btnDelete=null;
JButton btnSearch=null;
Connection conn=null;
Statement stmt=null;
JTable table=null;
DefaultTableModel model=null;
public Haksa2() {
this.setTitle("학사관리");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//DB Connection
try {
//oracle jdbc드라이버 로드
Class.forName("oracle.jdbc.driver.OracleDriver");// jdbc driver load
//Connection
conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","ora_user","hong");// 연결
System.out.println("연결완료");
stmt=conn.createStatement();
}catch(Exception e) {
e.printStackTrace();
}
//DB Close. 윈도우가 종료될 때 실행.
this.addWindowListener(new WindowListener() {
@Override
public void windowOpened(WindowEvent e) {}
@Override
public void windowClosing(WindowEvent e) {
try {
if(conn!=null) {
conn.close();
}
}catch(Exception e1) {
e1.printStackTrace();
}
}
@Override
public void windowClosed(WindowEvent e) {}
@Override
public void windowIconified(WindowEvent e) {}
@Override
public void windowDeiconified(WindowEvent e) {}
@Override
public void windowActivated(WindowEvent e) {}
@Override
public void windowDeactivated(WindowEvent e) {}
});
Container c=this.getContentPane();
c.setLayout(new FlowLayout());
c.add(new JLabel("학번"));
this.tfId=new JTextField(14);
c.add(this.tfId);
this.btnSearch=new JButton("검색");
c.add(this.btnSearch);
this.btnSearch.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
stmt=conn.createStatement();
//목록초기화
model.setNumRows(0);//모델의 행의 수 0
ResultSet rs=stmt.executeQuery("select * from student where id='"+tfId.getText()+"'");
while(rs.next()) {
tfName.setText(rs.getString("name"));
tfDepartment.setText(rs.getString("dept"));
String[] row=new String[3];
row[0]=rs.getString("id");
row[1]=rs.getString("name");
row[2]=rs.getString("dept");
model.addRow(row);
}
rs.close();
stmt.close();
}catch(Exception e1) {
e1.printStackTrace();
}
}});
c.add(new JLabel("이름"));
this.tfName=new JTextField(20);
c.add(this.tfName);
c.add(new JLabel("학과"));
this.tfDepartment=new JTextField(20);
c.add(this.tfDepartment);
c.add(new JLabel("주소"));
this.tfAddress=new JTextField(20);
c.add(this.tfAddress);
String[] colName= {"학번","이름","학과"};//컬럼명
this.model=new DefaultTableModel(colName,0);//모델
this.table=new JTable(this.model);//테이블에 모델적용
this.table.setPreferredScrollableViewportSize(new Dimension(250,200));//테이블크기
c.add(new JScrollPane(this.table));
//테이블의 특정행을 선택해서 TextField에 값을 입력
this.table.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
//이벤트가 발생한 컴포넌트(table)을 구한다.
table=(JTable)e.getComponent();
//table의 모델을 구한다.
model=(DefaultTableModel)table.getModel();
//현재 선택된 행의 컬럼값을 구한다
tfId.setText((String)model.getValueAt(table.getSelectedRow(), 0)); //학번
tfName.setText((String)model.getValueAt(table.getSelectedRow(), 1)); //이름
tfDepartment.setText((String)model.getValueAt(table.getSelectedRow(), 2)); //학과
}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
@Override
public void mouseExited(MouseEvent e) {}
});
this.btnInsert=new JButton("등록");
c.add(this.btnInsert);
this.btnInsert.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Statement stmt=conn.createStatement();
//insert
stmt.executeUpdate("insert into student(id,name,dept) values('"+tfId.getText()+"','"+tfName.getText()+"','"+tfDepartment.getText()+"')");
//목록초기화
model.setNumRows(0);//model의 행의 수 0
ResultSet rs=stmt.executeQuery("select * from student");
while(rs.next()) {
String[] row=new String[3];
row[0]=rs.getString("id");
row[1]=rs.getString("name");
row[2]=rs.getString("dept");
model.addRow(row);
}
rs.close();
stmt.close();
}catch(Exception e1) {
e1.printStackTrace();
}
JOptionPane.showMessageDialog(null, "등록되었습니다");
}});
this.btnSelect=new JButton("목록");
c.add(this.btnSelect);
this.btnSelect.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Statement stmt=conn.createStatement();
//목록초기화
model.setNumRows(0);//model의 행의수를 0으로.
ResultSet rs=stmt.executeQuery("select * from student");
while(rs.next()) {
String[] row=new String[3];
row[0]=rs.getString("id");
row[1]=rs.getString("name");
row[2]=rs.getString("dept");
model.addRow(row);
}
rs.close();
stmt.close();
}catch(Exception e1) {
e1.printStackTrace();
}
}});
this.btnUpdate=new JButton("수정");
c.add(this.btnUpdate);
this.btnUpdate.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Statement stmt=conn.createStatement();
//update
stmt.executeUpdate("update student set name='"+tfName.getText()+"',dept='"+tfDepartment.getText()+"' where id='"+tfId.getText()+"'");
//목록초기화
model.setNumRows(0);//model의 행의 수 0
ResultSet rs=stmt.executeQuery("select * from student where id='"+tfId.getText()+"'");
while(rs.next()) {
String[] row=new String[3];
row[0]=rs.getString("id");
row[1]=rs.getString("name");
row[2]=rs.getString("dept");
model.addRow(row);
}
rs.close();
stmt.close();
}catch(Exception e1) {
e1.printStackTrace();
}
}});
this.btnDelete=new JButton("삭제");
c.add(this.btnDelete);
this.btnDelete.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int result=JOptionPane.showConfirmDialog(null, "삭제하시겠습니까?","알림",JOptionPane.YES_NO_OPTION);
System.out.println(result);
if(result==JOptionPane.YES_OPTION) {
//삭제처리
try {
Statement stmt=conn.createStatement();
//delete
stmt.executeUpdate("delete from student where id='"+tfId.getText()+"'");
//목록초기화
model.setNumRows(0);//행의 수 0
ResultSet rs=stmt.executeQuery("select * from student");
while(rs.next()) {
String[] row=new String[3];
row[0]=rs.getString("id");
row[1]=rs.getString("name");
row[2]=rs.getString("dept");
model.addRow(row);
}
rs.close();
stmt.close();
}catch(Exception e1) {
e1.printStackTrace();
}
}
}});
this.setSize(300, 500);
this.setVisible(true);
}
public static void main(String[] args) {
new Haksa2();
}
}
'TIS_2021 > 인공지능2021_1기' 카테고리의 다른 글
04/07 haksa3 (0) | 2021.04.07 |
---|---|
04/07 bookrent (0) | 2021.04.07 |
04/06 haksa (0) | 2021.04.06 |
oracle 연결 (0) | 2021.04.06 |
년도,상품별 판매갯수합계 판매되지 않은 상품도 출력하기 (0) | 2021.03.31 |
Comments