정확한 답이라고 확신할 수는 없지만 참고로 하셨으면 합니다.
TQuery를 사용할 때, SQL 문을 대입하는 방법에는 두 가지가 있습니다.
첫 째, Parameter 이용법
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM TableName');
SQL.Add('WHERE NAME LIKE :NAME');
ParamByName('NAME').AsString := '%집%';
Open;
<결과처리>
Close;
end;
둘 째, 문장전체 작성법
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM TableName');
SQL.Add(Format('WHERE NAME LIKE '%%%s%%', ['집']));
Open;
<결과처리>
Close;
end;
물론 Format() 함수를 쓰지 않고 바로 문장을 연결하셔도 됩니다.
SQL.Add('WHERE NAME LIKE %%' + '집' + '%%');
간혹 오라클이든 파라독스 테이블 등에서 오류를 일으키는 경우가 있습니다.
Delphi BDE상의 문제인지, 아니면 Delphi 자체의 문제인지는 확인할 수 없지만요.
여러 방법으로 응용을 해 보시면 해결점을 찾을 수 있으리라 봅니다.
|