Q&A

  • [재질문]Between사용시 Error.
지난번 성더기 님의 답을 보고 입력해보았지만...

초보의 미숙한 델파이 조작으로 여전히 실패했습니다.

그리구 에러가 Between의 시작 날짜에서는 안나고 왜 마지막 날짜 파라메터에서만 나는지.

코딩 내용을 아래와 같구

Close;

SQL.Clear;

SQL.Add('SELECT SUM(Account) as PartTotal');

SQL.Add('FROM Money');

SQL.Add('WHERE Kind = :v1 AND');

SQL.Add('Day BETWEEN :v2 AND :v3');

SQL.Add('Group BY Account');

ParamByName('v1').AsString := stringgrid1.Cells[i,0];

DecodeDate(Date, ny, nm, nd);

ParamByName('v2').AsDateTime := EncodeDate(ny, mm, 1);

----------------------------------------------------

ParamByName('v3').AsDateTime := EncodeDate(ny, mm, 31);

-----------------------------------------------------

Open;



----사이에 있는 문장에서 invaild argument어쩌꾸 하면써 Error가 납니다.

Day는 인터베이스 테이블에서 Date형으로 정의 하였습니다.



1  COMMENTS
  • Profile
    허춘 2000.09.27 13:56
    투덜이 wrote:

    > 지난번 성더기 님의 답을 보고 입력해보았지만...

    > 초보의 미숙한 델파이 조작으로 여전히 실패했습니다.

    > 그리구 에러가 Between의 시작 날짜에서는 안나고 왜 마지막 날짜 파라메터에서만 나는지.

    > 코딩 내용을 아래와 같구

    > Close;

    > SQL.Clear;

    > SQL.Add('SELECT SUM(Account) as PartTotal');

    > SQL.Add('FROM Money');

    > SQL.Add('WHERE Kind = :v1 AND');

    > SQL.Add('Day BETWEEN :v2 AND :v3');

    > SQL.Add('Group BY Account');

    > ParamByName('v1').AsString := stringgrid1.Cells[i,0];

    > DecodeDate(Date, ny, nm, nd);

    > ParamByName('v2').AsDateTime := EncodeDate(ny, mm, 1);

    > ----------------------------------------------------

    > ParamByName('v3').AsDateTime := EncodeDate(ny, mm, 31);

    > -----------------------------------------------------

    > Open;

    >

    > ----사이에 있는 문장에서 invaild argument어쩌꾸 하면써 Error가 납니다.

    > Day는 인터베이스 테이블에서 Date형으로 정의 하였습니다.



    위문장에서 sum 과 group by 를 같이 사용하실수 없읍니다.

    sum(account) 를 해서 account 별로 그룹을 못합니다.