[Java – Database] Movies Reservation Program2 | day_29

2021.04.23일_29

<Movie Manager_2. 예약 조회>

//2. 예약 확인 public void check Movies(){ystem.out.println(“◐ 예매 내역 조회 ◑”);//영화 이름 영화 제목 상영관 시간 인원 ID조회//1. 예매 ID확인 시스템. out.print(“예매 ID▷”);tring inputId=scan.next();//2. 예매 코드 확인 시스템. out.print(“예매 코드 ▷”);tring inputRecode=scan.next(List;1)이 레코드밖에 없으니 스트링이 표시되므로, 레코드가 1개 tRecode);if(reInfoCheck.size()>0){for(int i=0;i<reInfoCheck.size();i++){ystem.out.print(reInfoCheck. get(i)+”|”);//각각 인덱스에 포함된 내용을 출력(인덱스 0=영화 이름, 1=상영관…)}else{시스템. out.println(“예매 이력이 발견되지 않습니다.”);}ystem.out.println(“”);}

데이터베이스에 있는 테이블을 SELECT 할 때 한 필드를 사용하는 것이 아니라 다섯 필드를 모두 사용하면 수신할 레코드가 하나밖에 없으므로 클래스 타입 Array List가 아닌 String 타입 Array List를 사용한다.그리고 for문을 통해 각각 인덱스에 포함된 내용을 출력한다. < MovieDao_ 2. 예약조회 >

데이터베이스에 있는 테이블을 SELECT 할 때 한 필드를 사용하는 것이 아니라 다섯 필드를 모두 사용하면 수신할 레코드가 하나밖에 없으므로 클래스 타입 Array List가 아닌 String 타입 Array List를 사용한다.그리고 for문을 통해 각각 인덱스에 포함된 내용을 출력한다. < MovieDao_ 2. 예약조회 >

스트링 타입 배열에 가져온 SELECT 쿼리문 데이터를 저장 5개 테이블을 조인하여 만든 쿼리문이기 때문에 자바에서 바로 만들면 어려울 수 있다.데이터베이스부터 먼저 접속해서 가져오면 된다.”잘 만들어진 쿼리 글을 잘 옮기는 것도 매우 중요하다”고 선생님께서 말씀하신 것처럼 가져올 때 그대로 긁어오면 오류가 발생할 수 있다. 귀찮더라도 부분별로 나눠주자.그리고 가장 중요한 글자를 연결할 때 맨 뒤에 띄어쓰기! 하지 않으면 글자가 붙어 오류남 입력된 아이디와 코드를 where절에 넣고 데이터를 검색 후 저장할 때 추가 문구는 각각의 컬럼 위치에 +”로 추가할 수 있다.<Movie Manager_3. 예약 취소>

publicvoidCancelMovies(){ystem.out.print▷”;tringinputId=scan.next();//2.매ystem코system.out.print예매”▷”;tringinputRecode=scan.next();ntdeleteRe=dao.deleteRe(inputId,inputRecode);if(deleteRe>0){ystem.out.println(“매매취소);다니.”delete를”);}else{ystem.out.println(“[id예/ID/드]다요);”세코[시주)”input”);}}

예매 취소는 int타입 변수에 delete 쿼리 글에 대한 결과를 받아온다.쿼리문 실행이 안되서 결과값이 0이면 실패했다는 문구출력 <MovieDao_3. 예약취소>

publicintdeleteRe(StringinputId,StringinputRecode){tringsql=”RE_ID=?ANDRE_CODE=?”;ntdeleteResult=0;try{stmt=con.prepareStation(sql);stmt.setString(1,inputId);stmt.setString(2,inputRecode);eleeResult=pst.executeUpdate();}catch(SQLExceptione){.printStackTrace();}returndeleteResult;}

DELETE 쿼리문 실행 조건으로 입력된 아이디와 코드를 넣어준다.<Movie Manager_4. 전체 예약 목록 조회>

publicvoidreservationList(){ystem.out.println”◐”);체”◑”;rrayList<Reservation>reList=dao.getReservationList();for(inti=0;i<reList.size();i++){yystem.out.println(reList.get(i)})。toString();}}

관리자 조회용 전체 예약 목록 (RESERVATION 테이블 조회) < MovieDao_ 4. 전체 예약 목록 조회>

publicArrayList<Reservation>getReservationList(){tringsql=”SELECT*FROMRESERVATION”;rrayList<Reservation>reList=newArrayList<Reservation>();예약 reservationre;try{stmt=con.prepareStation(sql);s=pstmt.executeQuery();while(rs.next(){e=newReservation();e.setRe_cicode(rs.getString(1);e.setRe_thname(rs.getString(2);e.setRe_start(rs.getString(3);e.setRe_number(rs.getString(5);e.setRe_(rs.getString(6);exception)}전체 리스트를 조회하는 것이므로 클래스 타입 배열에 저장한다.마지막으로 배열에 입력한 변수를 넣는 것을 잊지 말자 <+글자와 숫자가 합쳐진 코드 >//7)예약 코드의 생성(R001, R002, R003, R004-문자는 고장 숫자만 변경)tring max Recode=dao.get Recode();tring reCode=”R”;//=1if(max Recode==null){eCode=reCode+”00″+1;//’R’+’00’+1=’R001′}else{// 받아 온 예약 코드’R001’을 끊고>>’1’만 남긴다.axRecode=maxRecode.substring(1);//’001’숫자 부분 인덱스만 남기고 자른 nt num=Integer.parse Int(maxRecode)+1;//’001′>001>1if(num<10){eCode=reCode+”00″+num;}else if(num<100){eCode=reCode+”0″+num;}else{eCode=reCode+num;}}R과 001~999의 숫자가 합쳐진 코드 진행을 처음에 코드에 값이 없다면 그대로 String유형의 변수에 null값을 수령’R’+’00’+1=’R001’방식으로 진행한다. 만약 null값이 아니면 maxRecode.substring(1)을 통해서 문자 부분을 제거.substring(index);문자를 하나하나의 인덱스에 저장[‘001’숫자 부분 인덱스만 남기고 자르다] Integer.parseInt(maxRecode)+1이후 문자를 숫자 유형으로 변경해서 채워1을 한다[‘001’>001>1+1]if(num<10){reCode=reCode+”00″+num;}[그 값이 10보다 작을 경우는 전에 R00을 달아]elseif(num<100){reCode;”+”+”>

error: Content is protected !!