|
MS Access 데이터베이스 DateTime 필드에 "11/12/2003" 의 Data/Time format으로 날짜가 저장 되어 있습니다.
그리고 가령 11/12/2003~11/20/2003 사이의 정보를 TDBChart로 나타내려고 하고 있구요.
그런데 SQL에 문제가 있어 에러가 자꾸 생깁니다. 제 SQL문은 다음과 같습니다.
AnsiString asStartDate = QueryPeriodForm->edtSMon->Text + "/";
asStartDate += QueryPeriodForm->edtSDay->Text + "/";
asStartDate += QueryPeriodForm->edtSYear->Text;
AnsiString asEndDate = QueryPeriodForm->edtEMon->Text + "/";
asEndDate += QueryPeriodForm->edtEDay->Text + "/";
asEndDate += QueryPeriodForm->edtEYear->Text;
if(STQuery->Active) STQuery->Close();
STQuery->Connection = adoConnect;
STQuery->SQL->Clear();
STQuery->SQL->Add("SELECT TSDateTime, TSValue");
STQuery->SQL->Add(" FROM TimeSeries");
STQuery->SQL->Add(" WHERE TSDateTime BETWEEN '"+ asStartDate + "' AND '" + asEndDate + "'");
STQuery->Open();
그런데 위와 같이 하니 다음의 에러가 자꾸 뜹니다.
"Data type mismatch in criteria expression"
만약 BETWEEN '" -> BETWEEN" 등으로 '을 제거하면 에러는 없어지는데 Query에서 잡히는 게 아무것도 없어요.
혹 asStartDate or asEndDate를 TDate 포맷으로 바꿔줘야 하는 겁니까? 아니면 날짜포맷 **/**/****에 문제가 있는 건가요? 매뉴얼대로 했는데도 이런 에러가 자꾸 생겨 거의 돌 지경입니다.
제발 고수님들의 조언을 부탁드립니다.
|