Q&A

  • 왜 이럴까요?
또 다시 질문을 드립니다.



id := 'test';

with adoquery1 do

begin

active := false;

close;

sql.clear;

query := 'select * from user where id = :' + id;

SQL.Add(query);

active := true;

open;

showMessage(query);

end;



이런식으로 명령을 내리니

query 에 대한 값은 제대로 select * from user where id = : test

라고 나오는데....

결과값은 전혀 나오지는 않네요....

이유가 뭐죠?

정말 미치겠네요....

1  COMMENTS
  • Profile
    초보자 2001.02.15 22:07
    완전초보 wrote:

    > 또 다시 질문을 드립니다.

    >

    > id := 'test';

    > with adoquery1 do

    > begin

    > active := false;

    > close;

    > sql.clear;

    > query := 'select * from user where id = :' + id;

    > SQL.Add(query);

    > active := true;

    > open;

    > showMessage(query);

    > end;

    >

    > 이런식으로 명령을 내리니

    > query 에 대한 값은 제대로 select * from user where id = : test

    > 라고 나오는데....

    > 결과값은 전혀 나오지는 않네요....

    > 이유가 뭐죠?

    > 정말 미치겠네요....



    제가 알기론 :는 파라메타 값으로 넘길때 사용하는걸루 알고있는데..그래서 test는 알리아스로 인식하는거 같은데요...



    Sql.Add('select * from user where id = :id');

    ParamByName('id').AsString := id;

    이렇게 하거든요...



    위문장에서 :를 빼는게 맞지 않는듯 싶네요...