C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[47921] Re:TimePicker를 통해 DB table 조회할때..
강재호.만해 [greenuri] 1696 읽음    2007-01-29 09:57
날짜 조건식 같은경우에는 SQL에 맞게 스트링으로 변환 해야할 필요가 있습니다.

간단히 예제 소스를 보여 드리면

strDate1 = FormatDateTime("yyyy-mm-dd 23:59:59", Now());
strDate2 = FormatDateTime("yyyy-mm-dd 00:00:00", IncMonth(Now(), -iTerm));

strDate1에는 년-월-일 시:분:초 로 구성된 문자열이 만들어 지고요

이 문자열을 DateTime 필드의 조건식으로 이용하시면 됩니다.

그러니깐 님의 소스에서는 년월일만 가지고 검색 하니깐 yyyy-mm-dd 형식의 날짜 데이터만 만들어서 넘기면

됩니다.

ADOQuery1->SQL->Text =
WideString("Select SUM(ID) AS QTY from output_data where indate <= '"+
  FormatDateTime("yyyy-mm-dd",DTP1->Date) +"' and indate >= '"+
  FormatDateTime("yyyy-mm-dd",DTP2->Date) +"'");

이런식으로요

그외에 다른 양식 지정자를 참고 삼아 애기 드리면

yy-mm-dd <- 07-01-30
yyyy-mm-dd <- 2007-01-30
yyyy-mm-dd hh:nn <- 2007-01-30 09:56
yyyy-mm-dd hh:nn:ss <- 2007-01-30 09:56:59

이런식으로 날짜를 문자열로 만들어 줍니다. 참고 하세요~

럽투유 님이 쓰신 글 :
: DB는 MDB를 사용하고 있구요.
: 날짜타입은 "2007-01-24 오후 3:34:51" 이렇게 기본형으로 쓰고 있습니다.
: 쿼리는
: ADOQuery1->SQL->Text =  WideString("Select SUM(ID) AS QTY from output_data where indate <= '"+ DTP1->Date +"' and indate >= '"+ DTP2->Date +"'");
: 인데요.
: TimePicker를 통해 하는데요.
:
: 검색을 누르면 "조건식의 데이터 형식이 일치 하지 않습니다' 라고 나오는데요?/
:
: 초짜라 코드 부탁드립니다.
:
: 감사합니다.

+ -

관련 글 리스트
47914 TimePicker를 통해 DB table 조회할때.. 럽투유 998 2007/01/26
47921     Re:TimePicker를 통해 DB table 조회할때.. 강재호.만해 1696 2007/01/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.