|
: : 1. 파라독스 DB에서 Query를 이용하여 날짜를 기준으로 select하려고 합니다. 다시 말해서 DB에
: : 내용중 (예를 들어)12월 20일 이전에 저장된 레코드만 선택하여 불러 오려고 합니다.
: : (물론 DB Field에는 Date정보가 있구요..)
: : 그런데 질문하고 싶은 것은 SQL Explore로 1999년 12월 20일을 쓰려고 하면 자꾸
: : 'mismatched type'과 같은 에러가 나요..99-12-20,12/20/99..........여러가지로 써보았는데....
: : 어떤 형식으로 입력해야 이와같은 에러가 안날까요?
: :
: : 또 한가지 질문은...
: :
: : 2. 역시 Query를 이용하여 Form들을 형성한 경우, TDBComboBox를 이용하여 OnChange를 발생시켜
: : 프로그램을 짜려고 하는데 OnChange 이벤트가 발생이 안되요. 헤더 파일에도 함수 등록이 되고
: : 했는데 SQL문의 문제가 있어서 그런 것일까요? 여러개의 TDBComboBox들 중에 일부만 발생이
: : 안되고 나머지들은 정상적으로 발생을 하는데.....OnChange 이벤트가 발생하는데에도 헤더 파일에
: : 등록하는 것을 제외하고 다른 조건들이 필요한가요?
: :
: : 제 문제에 대한 설명이 정확히 되었는지 모르겠네요.
: :
: : 벌써 내일이 크리스마스 이브군요! 즐거운 크리스마스 되시고, 다소 이르지만 새해 복 많이
: : 받으세요.
:
: ////////////////////////////////////////////////////////////////////////////////////////
: 안녕하세요...
: 날짜형 필드에 데이타를 입력하거나, 쿼리할때는 일.월.년 의 형식으로 값을 넣어주면 됩니다.
:
: 예를 들어...(Destdate필드가 Date형일때는)
: AnsiString Querystr;
: Querystr = Format("select * from test.db where Destdate='%s'", OPENARRAY(TVarRec,("01.11.1999")));
:
: 이런식으로 하면 됩니다.또는 아래와 같이 변수에 날짜가 들어가 있다면..
: AnsiString Todaydate = "1999-11-01";
: Todaydate = Todaydate.SubString(9,2)+"."+Todaydate.SubString(6,2)+"."+Todaydate.SubString(1,4);
:
: 이렇게 하고
: Querystr = Format("select * from test.db where Destdate='%s'", OPENARRAY(TVarRec,(Todaydate)));
: 이렇게 하면 됩니다. 함수로 만들어서 사용해도 되고요...
:
: 그리고 날짜사이를 쿼리할때는 부등호(<,>)를 이용해도 되는데 간단한 between...and SQL문을이용해도 됩니다.
:
: AnsiString Startdate = "01.11.1999",Enddate = "31.12.1999";
:
: Querystr = Format("select * from test.db where Destdate between '%s' and '%s'", OPENARRAY(TVarRec,(Startdate,Enddate)));
:
: Query1->Close();
: Query1->SQL->Clear();
: Query1->SQL->Add(Querystr);
: Query1->Open();
:
: 그럼...
임펠리테리입니다.
그런 방법도 있었군요.. 왜 생각을 못했을까.. ^^
알려주셔서 감사합니다.
|