날짜찾아가기 부분입니다...Query에서 걸리는군요...
도와주세요....
MinputDate := inttostr(inputdate);
Myear := copy(MinputDate, 1,4);
Mmonth := copy(MinputDate, 5,2);
if (Mmonth = '01') or (Mmonth = '02') or (Mmonth = '03') then
begin
Myear := Inttostr(StrtoInt(Myear)-1);
Pmonth := '12';
end
else if (Mmonth = '04') or (Mmonth = '05') or (Mmonth = '06') then
Pmonth := '03'
else if (Mmonth = '07') or (Mmonth = '08') or (Mmonth = '09') then
Pmonth := '06'
else if (Mmonth = '10') or (Mmonth = '11') or (Mmonth = '12') then
Pmonth := '09';
MYmon := (copy(Myear,1,4) + copy(Pmonth,1,2));
//문제의 부분은 여기서 부터!!!
with Query1 do begin
close;
sql.clear;
sql.add('select * from SAOCAPM');
//여기서는 Date라는 것에 문제가 있는 거 같은데...
sql.add('where RYYMM =: Date');
parambyname('Date').asinteger := strtoint(MYmon);
open;
> 날짜찾아가기 부분입니다...Query에서 걸리는군요...
>
> 도와주세요....
>
> MinputDate := inttostr(inputdate);
> Myear := copy(MinputDate, 1,4);
> Mmonth := copy(MinputDate, 5,2);
> if (Mmonth = '01') or (Mmonth = '02') or (Mmonth = '03') then
> begin
> Myear := Inttostr(StrtoInt(Myear)-1);
> Pmonth := '12';
> end
> else if (Mmonth = '04') or (Mmonth = '05') or (Mmonth = '06') then
> Pmonth := '03'
> else if (Mmonth = '07') or (Mmonth = '08') or (Mmonth = '09') then
> Pmonth := '06'
> else if (Mmonth = '10') or (Mmonth = '11') or (Mmonth = '12') then
> Pmonth := '09';
>
> MYmon := (copy(Myear,1,4) + copy(Pmonth,1,2));
>
> //문제의 부분은 여기서 부터!!!
> with Query1 do begin
> close;
> sql.clear;
> sql.add('select * from SAOCAPM');
> //여기서는 Date라는 것에 문제가 있는 거 같은데...
> sql.add('where RYYMM =: Date');
> parambyname('Date').asinteger := strtoint(MYmon);
> open;
sql.add('where RYYMM = .. 이부분에서 ":"콜론 하고 Date사이에 공백이 없어야 하구요
가능하면 Date같은 예약어 종류는 피하시는것이 좋을듯 싶네요
sql.add('where RYYMM = :pDate ');
parambyname('pDate').AsInteger = strtoint(MYmon);
도움이 되시면 조켄는데...