Q&A

  • [질문] 간단한 쿼리인데요.. 왜 에러가날까요..

고수님들 도와주세요  


  with Query2 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('SELECT COUNT(*) TOTAL_CNT FROM TOJANG WHERE TJ_COMPANY = ''24''');
    SQL.Add('AND TJ_GUBUN = :C1 AND TJ_SAUPJANG = :C2');
    Params[0].AsString := '50';
    Params[1].AsString := G_SaupJang;
    Open;

    compareCount  := FieldByName('TOTAL_CNT').AsInteger;
  end;
 
  MessageBox(0, PChar(compareCount), '',MB_ICONSTOP);

 

 

 

 

ERROR  내용은 첨부했습니다.

 

한번 봐주세요..  ㅠㅠ  굽신굽신

7  COMMENTS
  • Profile
    백록화 2011.05.04 18:44

     MessageBox(0, PChar(compareCount), '',MB_ICONSTOP);


    compareCount 가 Integer 형인데요... PChar  로 형변환을 하셨으니... String으로 먼저 바꾸시고 해보세요..

  • Profile
    jiniya 2011.05.04 18:46

    쿼리가 문제가 아니라 밑에 메시지 띄우는 부분이 문제일듯 합니다.

     

    DB손댄지가 오래되긴 했는데... compareCount  := FieldByName('TOTAL_CNT').AsInteger;
    이렇게 받아온거 보면 compareCount는 integer 형인듯 한데, 밑에 PChar(compareCount)라고 했으니... 에러가 나지 않을까 하네요.

  • Profile
    jiniya 2011.05.04 18:47

    헉 댓글달고 보니 똑같은걸 백록화님이 벌써 ㅡㅡ;;;

  • Profile
    백록화 2011.05.05 03:47

    ㅎㅅㅎ 죄송...

  • Profile
    철이 2011.05.04 23:12

        SQL.Add('SELECT COUNT(*) TOTAL_CNT FROM TOJANG WHERE TJ_COMPANY = ''24''');
        SQL.Add('AND TJ_GUBUN = :C1 AND TJ_SAUPJANG = :C2');
    에서 위하고 아래문장이 바로 이어져 있네요..

    and 앞에 공백이 있어야 될 듯하네요....

  • Profile
    백록화 2011.05.05 03:49

    흠.. 오래전에 그런현상이 있긴 했었는데..아마도 기억에 TQuery 와 Paradox 를 사용할때 정확하진 않은데 여튼 철이님의 말씀대로 공백이 없으면 오류가 발생했던거 같아요...지금도 습관적으로 공백을 넣어서 사용하기는 한데 요즘은 파싱들을 하도 잘해서 웬만한것들은 다 정상적으로 처리될꺼에요 ^^ ... 아마도... ㄷㄷㄷ

  • Profile
    사나이 2011.05.13 04:02

    ㄳㄳ 좋은정보 얻어가요