140 likes | 448 Views
2008 시스템 프로젝트 결과 발표. 동양공업전문대학 네트워크정보통신과 김형준 (koyote8@hanmail.net) 장유진 (jyj0448@hanmail.net). 목 차. Introduce 전체 클래스 구성 DB 구성 각 메뉴구성 ( 회원 , 비디오 , 대여 / 반납 ) 추가학습사항 결론. Introduce. 프로젝트 제목 : 비디오대여 관리 프로그램. DB 를 이용하여 회원관리와 비디오 관리 , 대여 / 반납 기능을 수행하는 프로그램. 전체 클래스 구성. DB 구성 [1/3].
E N D
2008 시스템 프로젝트 결과 발표 동양공업전문대학 네트워크정보통신과 김형준(koyote8@hanmail.net) 장유진(jyj0448@hanmail.net)
목 차 • Introduce • 전체 클래스 구성 • DB구성 • 각 메뉴구성(회원,비디오,대여/반납) • 추가학습사항 • 결론
Introduce • 프로젝트 제목 : 비디오대여 관리 프로그램 DB를 이용하여 회원관리와 비디오 관리, 대여/반납 기능을 수행하는 프로그램
DB 구성 [1/3] 기본키 : 회원 id 검색과 삭제,수정의 조건 id를 검색할때 이름을 인수로 받아 해당 id를 추출함
DB 구성 [2/3] 기본키 : 비디오code 검색과 삭제,수정의 조건 code를 검색할때 title을 인수로 받아 해당 code를 추출함
DB 구성 [3/3] 기본키 : 비디오code 대여,반납의 조건 id를 검색할때 이름을 인수로 받아 해당 id를 추출함
회원부분 입력된 이름을 인수로 하여 user 테이블을 검색하여 결과를 Jtable에 출력 (select * from user where name= 입력된이름) 전체보기는 user 테이블의 모든 데이터를 출력 (select * from user) user 테이블에 입력된 회원id가 존재하면 중복 id로 간주 (select id from user where id=입력id) 중복체크를 통과하고 비어있는 TextField가 없을 경우 user테이블에 삽입 (insert into user values (…)) 입력된 회원id를 조건으로 user 테이블에서 삭제 (delete from user where id= 입력id) 왼쪽 결과 데이터를 선택한 뒤 수정불가능한 id,이름 을 제외한 원하는 Field를 user 테이블에서 수정 (update user set … where id= 선택된id)
비디오부분 입력된 제목을 인수로 하여 video 테이블을 검색하여 결과를 Jtable에 출력 (select * from video where title= 입력된제목) 전체보기는 video 테이블의 모든 데이터를 출력 (select * from video) 입력된 비디오code를 조건으로 video 테이블에서 삭제 (delete from video where code= 입력code) 비어있는 TextField가 없을 경우 video테이블에 삽입 (insert into video values (…)) 왼쪽 결과 데이터를 선택한 뒤 수정불가능한 code를 제외한 원하는 Field를 video 테이블에서 수정 (update video set … where code= 선택된code)
반납/대여부분 입력된 이름을 인수로 하여 lend 테이블을 검색하여 결과를 각각의 Jtable에출력 (select * from [lend/user] where name= 입력된제목) 대여목록은 lend 테이블의 모든 데이터를 출력 (select * from lend) 비어있는 TextField가 없을 경우 lend테이블에 삽입 id 를 인수로 user테이블의 name을 가져오고 code를 인수로 video테이블의 title을 가져와서 삽입 비디오 코드를 인수로 연체정보를 보여준 뒤 lend 테이블에서 삭제 (delete from lend where code= 쓰여진 비디오코드)
추가학습사항 [1/2] • JTable 스트링 배열이나 벡터객체만을 인수로 받음 isCellEditable메소드의 반환형을 false 로 오버라이딩하여 입력을 막음 DefaultTableModel 객체를 사용하여 수정,검색,삭제 등을 효과적으로 이용 데이터 추가: DefaultTableModel.addRow(data); 데이터 삭제: int rowCount = model.getRowCount(); for(int i=0;i<rowCount;i++){model.removeRow(0);}
추가학습사항 [2/2] • 날짜계산 Date 클래스의 getTime() 메소드Calendar.getTime().getTime() 연체일 구하기: 1970년 1월 1일부터 특정 시간까지의 일수를 구할 수 있는 Date클래스의 getTime() 메소드를 이용 (현재까지의 일 수) - (반납기한까지의 일 수) = 연체일 (일수 구하기)= Date.getTime()/86400000)
결 론 • 어려웠던 점 • JTable 을 이용하여 출력하기 • 인터페이스 디자인 • 의견 절충 • 혼자가 아닌 둘이서 서로를 신뢰하고 협력하여 무엇인가를 만든다는 것에 너무도 많은 것을 배웠습니다. 3년간의 짧은 대학생활의 마지막을 이렇듯 유익하고 즐거웠던 프로젝트로 마치게 되어 기쁩니다.
Q&A 김형준 (koyote8@hanmail.net) 장유진 (jyj0448@hanmail.net)