[매출 관리 프로그램 제작] - 기능구현(1)
지난 포스팅에서 데이터베이스에서 필요한 데이터를 가져오기위한 쿼리를 작성하였다.
이번 포스팅에서는 이 프로그램의 기능들중 1번 기능을 직접 구현할 것이다.
구현과정에서 문제를 많이 겪고 완성하여서 어떻게 포스팅을 작성해야할지 난감한..
직접 기능 구현을 하기 전에 데이터베이스 정보를 담은 객체 Cursor에 대하여 알아보았다.
데이터의 일관성을 위해 포맷을 변경
오라클에서 DATE 형식을 지정할땐 TO_CHAR , MYSQL은 TO_DATE
기능 구현을 위한 단계를 정리해보았다.
그리고 기능1번 테스트 소스를 작성 완료하였다.
이를 실행하면
작성한 코드가 올바르게 작동한다면 해당 코드에따라서
* 날짜지정 * 아래 LineEdit 2개 박스에 날짜를 입력시
첫번째 LineEdit이 쿼리 실행 결과에 따라서 2023-01-01로 바뀌게 된다.
첫번째 칸이
2023-01-01으로 변하여
올바르게 작동함을 확인하였다.
select TO_CHAR(a.transaction_date,'YYYY-MM-DD'),store_location,SUM(REVENUE) from (select transaction_date,revenue,store_location from cafe_sales_report where TRANSACTION_DATE between TO_DATE('2023-01-01','YYYY-MM-DD') AND TO_DATE('2023-01-02','YYYY-MM-DD'))A group by A.TRANSACTION_DATE,A.store_location order by 1,3 desc;
[1번기능 쿼리]
이제 이전에 작성했던 쿼리를 사용하여
진짜 요청한 데이터를 받아오도록 하겠다.
오류발생
쿼리를 출력할 데이터테이블에 입력할 자료형이 일치하지않아 생기는 오류였다.
위와같이 str 자료형으로 변환하여 해결
그리고
요청한 결과에따라 올바르게 데이터를 출력이 되었다.
formatting을 이용해서 쿼리작성이 더 용이하게 변경하겠다.
사용자가 입력한
Start_Date
End_Date 값을 포매팅으로 쿼리에 전달할수 있게 쿼리를 수정
입력한 값에따라 즉시 결과를 얻을 수 있다.
하지만 출력한 결과의 테이블이 가독성이 떨어진다.
그래서 테이블을 보기 좋게 수정하였다.
아래는 그 결과
이로서 1번 기능구현을 마친다.