var first_date, second_date :tdate;
begin
first_date := strtodate(edit1.text);
second_date := strtodate(edit2.text);
query2.sql.clear;
-> query2.SQL.Add('select * from home');
-> query2.SQL.Add('where 날짜 < '''+first_date+'''
and 날짜 > '''+second_date+''' ');
위에처럼 수정을 해서 컴파일을 하면 아래처럼 에러가 납니다.
혹시 DB마다 틀린것인지...???? 아니면 또 다른 실수를 한것인지 모르겠습니다.
혹시 데이터 선언 부분을 잘못한건가요..???
고수님들 꼭좀 부탁 드리겠습니다.
[Error] SMD.PAS(105): Incompatible types:'String' and 'TDate'
[Error] SMD.PAS(105): Incompatible types
가령 날짜표시 형식은
보통 yyyy-mm-dd 00:00:00
yyyy-mm-dd tt 00:00:00..
등 각 pc마다 날짜 표시형식이 틀릴 경우가 있습니다.
만약 위의 내용이라면 틀린 조건으로 쿼리를 돌릴 경우 나오지 않을수도 있습니다.
그러니 날짜형식을 확인 후 형식에 맞게 날짜 포멧을 해주면 될것입니다.
그리고 어느 기간을 돌릴시 between 문으로 하면 될 것 같군요.
그리고 아래의 first_date := strtodate(edit1.text); 보아하니
아마 이것땜시 에러 일수도 있습니다. 날짜를 형식의 변수를 ㅡ.ㅡ;;
문자열 형식으로 검색을 해서 아마 에러가 난것 같습니다...
이렇게 해서 함 고쳐보세여.. 지금 어깨가 아파소.. ㅡ.ㅡ;;
정리가 잘 안되는 군여... 즐푸 하시길..
first_date := strtodate(edit1.text);
second_date := strtodate(edit2.text);
qry_str := 'select * from home (with nolock) where 날짜 :fist_date and :second_date'
with query2 do begin
close;
sql.clear;
sql.add(qry_Str);
parambyname('fist_date').asdate := fitst_date;
parambyname('second_date').asdate := second_date;
open;
end;
정규성 wrote:
> var first_date, second_date :tdate;
>
> begin
> first_date := strtodate(edit1.text);
> second_date := strtodate(edit2.text);
>
> query2.sql.clear;
>
> -> query2.SQL.Add('select * from home');
> -> query2.SQL.Add('where 날짜 < '''+first_date+'''
> and 날짜 > '''+second_date+''' ');
>
> 위에처럼 수정을 해서 컴파일을 하면 아래처럼 에러가 납니다.
> 혹시 DB마다 틀린것인지...???? 아니면 또 다른 실수를 한것인지 모르겠습니다.
> 혹시 데이터 선언 부분을 잘못한건가요..???
> 고수님들 꼭좀 부탁 드리겠습니다.
>
> [Error] SMD.PAS(105): Incompatible types:'String' and 'TDate'
> [Error] SMD.PAS(105): Incompatible types