! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

쿼리를 활용하여 데이터 validation 체크 > Q&A | 토론

본문 바로가기

Builder빌더 쿼리를 활용하여 데이터 validation 체크

페이지 정보

작성자 nykim 작성일 2023-08-07 14:15 조회 351회 댓글 0건
제품 버전 : 9.0.3.0

본문

회의실 예약 시스템을 만들고 있습니다.


이미 등록된 시간에 대해서 중복 신청을 막기위해 쿼리를 활용해서 validation 체크를 하려고 합니다.


예약일자가 같고, 시작시간/종료시간이 기존의 시간 내에 포함이 된다면

등록이 불가하게 만들고싶습니다.

그리고 예약된 시간을 간트차트처럼 막대 그래프로 표현하고 싶습니다.


하지만 리스트뷰 내의 값을 단 건만 가져올 수 있고, 다 건을 가져올 수 없어서 포럼 내의 정보로는 알 수가 없습니다.


예약일자로 조회했을 때 나오는 시작시간/종료시간 의 array 값을 알고 싶습니다.

예약된 시간을 간트차트처럼 막대그래프로 표현하는 방법도 궁금합니다.




 



 

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

1 답변

Builder빌더 Re: 쿼리를 활용하여 데이터 validation 체크

추천0 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 GCK낸시 작성일 2023-08-08 09:36 댓글 0건

본문

첨부파일

안녕하세요. 그레이프시티입니다.


문의하신 사항에 대한 답변은 아래와 같습니다.


문의사항 1. 예약일자가 같고, 시작시간/종료시간이 기존의 시간 내에 포함이 된다면

등록이 불가하게 만드는 방법


1. 서버단 명령을 추가합니다.

a9267c1d32df9581de7068ff42dfaca4_1691452305_4015.png
2. 예약페이지에서 입력받는 내용들을 서버단 명령의 파라미터로 설정합니다.

a9267c1d32df9581de7068ff42dfaca4_1691452358_8248.png
3. 명령을 설정합니다. 

 1)아래와 같이 첫번쨰 명령을 설정합니다. 

    명령선택: 트랜잭션 생성하기 

a9267c1d32df9581de7068ff42dfaca4_1691452440_9114.png


 2)트랜잭션 생성하기의 하위 명령들을 설정합니다.

  • 명령선택 :  파라미터 설정 
  • 파라미터 이름 : 예약파라미터
  • 파라미터 값: 데이터베이스 참조
  • 테이블 : 차량예약
  • 선택: 데이터수
  • 쿼리 :   예약할 수 있는 조건을 아래 그림과 같이 설정합니다.

a9267c1d32df9581de7068ff42dfaca4_1691452709_5882.png

3) 명령설정 : 조건문 만들기 

  • IF 조건식  :     예약된 것이 있을 때의 조건
    • 파라미터 : 예약파라미터      
    • 연산자: 보다큼
    • 값 : 0

a9267c1d32df9581de7068ff42dfaca4_1691453032_5721.png          

  • 명령설정 : 반환 명령 생성하기 
  • 에러코드 : 1
  • 반환메시지 : 해당 시간대에는 이미 예약이 되어있습니다.


a9267c1d32df9581de7068ff42dfaca4_1691453127_8932.png
4) 예약조건에 성립할 때의 명령을 설정함 

  • 명령설정 : 조건문 만들기    
a9267c1d32df9581de7068ff42dfaca4_1691453304_3835.png
  • IF조건(조건 1). 이미 예약된 항목을 수정해야 할 경우   

  a9267c1d32df9581de7068ff42dfaca4_1691453383_9085.png

    • 명령 설정 : 데이터 테이블 업데이트하기 
    • 작동유형 : 편집 
    • 대상테이블 : 차량예약
    • 필드업데이트  : 필드와 파라미터를 열과 값으로 설정 
    • 조건 업데이트 : 
      • 열 : ID  
      • 연산자: 같음
      • 값: ID

   a9267c1d32df9581de7068ff42dfaca4_1691453529_5723.png

  • Else  . 새로 예약을 추가하는 경우 
    • 명령선택 : 데이터 테이블 업데이트하기
    • 작동유형 : 추가
    • 대상 테이블 :차량예약
    • 필드업데이트 : 필드와 파라미터를 열과 값으로 설정 

a9267c1d32df9581de7068ff42dfaca4_1691453695_7581.png


4. 예약페이지에서 예약ID를 나오게 설정한 후, 행 숨김을 설정합니다.

a9267c1d32df9581de7068ff42dfaca4_1691453917_6268.png
 

5. 예약버튼의 명령을 설정합니다.

  • 명령선택 : 서버단 명령 호출 
  • 서버단 명령 : 예약하기 
  • 파라미터 이름과 페이지의 값을 매칭    

a9267c1d32df9581de7068ff42dfaca4_1691453994_0255.png


문의사항 2. 예약날짜를 선택하면 시작시간, 종료시간을 배열로 저장하는 방법

아래와 같이 파라미터를 저장할 수 있으나 저장 시 시간이 텍스트로 변환이 되어 저장됩니다.

1. 파라미터를 아래와 같이 설정합니다.

  • 명령 선택 :파라미터 설정
  • 파라미터 이름 : querycarid
  • 파라미터 값 : 데이터베이스 참조
  • 테이블 : 차량예약
  • 선택 : 여러데이터
    • 예약시작시간
    • 예약종료시간

a9267c1d32df9581de7068ff42dfaca4_1691454067_096.png
조건을 아래와 같이 설정합니다. 

a9267c1d32df9581de7068ff42dfaca4_1691454315_8997.png
 

2. starttime 파라미터 설정 

  • 파라미터 이름 : starttime
  • 파라미터 값 : 값 또는 수식a9267c1d32df9581de7068ff42dfaca4_1691454218_6889.png

3. endtime 파라미터 설정 

    starttime 파라미터 설정과 동일하게 설정 


4. 루프를 만들어서 시작시간과 종료시간을 배열로 받아올 수 있도록 설정합니다. 

  1) 루프명령 만들기 

  • 반복회수 
    • 개수 혹은 배열  : =querycarid
    • 객체 파라미터: Item

a9267c1d32df9581de7068ff42dfaca4_1691454365_7108.png
  2) 루프의 하위 명령으로 starttime 파라미터의 값을 아래와 같이 설정합니다. 

  • 명령선택: 파라미터 설정 
  • 파라미터 이름 : starttime
  • 파라미터값 :
    • 값 또는 수식 : =CONCATENATE(starttime,",",Item.예약시작시간)

a9267c1d32df9581de7068ff42dfaca4_1691454455_3328.png
 3) 루프의 하위 명령으로 endtime 파라미터의 값을 starttime과 동일하게 설정합니다.


문의사항 3. 예약상황을 막대그래프에 표현하는 방법

​예약시간을 담은 배열을 이용하여 막대그래프를 간트차트처럼 구현을 하고 싶으신 것으로 보입니다.

이 방법보다 달력 셀타입을 사용하시는 것을 추천 드립니다.

아래 도움말 링크를 통해 달력 셀타입 사용방법을 확인할 수 있습니다.

달력 셀타입 사용방법 알아보기

a9267c1d32df9581de7068ff42dfaca4_1691454687_1121.png
 

만약 예약시간을 막대차트로 구현을 하고 싶으신 것이라면 차트 기능으로는 구현이 어려울 것으로 보입니다.


차트가 아닌 간트차트 플러그인을 사용하는 방법이 있습니다.

간트차트 사용방법은 아래 링크를 통해 확인하실 수 있습니다.

간트차트 사용방법 알아보기 



문의사항 1, 2의 기능이 포함된 차량예약 샘플 프로젝트도 첨부하오니 참고하시기 바랍니다.


감사합니다.

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.