안녕하세요 FreudBox입니다.
또 질문을 올립니다...
Sql에 관한 질문입니다..
제가 EditBox에 이름을 입력하면 전화번호를 찾아주는 프로그램을
짜는데, 이름의 일부분만 입력하면 일부분이 포함된 모든 이름이
검색되어 ListBox에 Add되는 코딩을 하고 있었습니다.
begin
With Query1 do
begin
Sql.BeginUpdate;
Sql.Clear;
Sql.Add('Select * From phone');
Sql.Add('Where Cname like :Cname);
Sql.EndUpdate;
ParamByName('Cname').AsString:=Edit1.text + '%';
open;
이렇게 Compile을 하고 보니, 실제로 성을 입력하고 검색을 하면 목록이 검색되지만
, 이름의 끝자리나 중간 부분을 입력하고 검색을 하면 자료가 없다고 나옵니다.
그래서 Query부분의 Sql.Add('Where Cname like :Cname'); 부분을
1. Sql.Add('Where Cname like %:Cname%');
2. Sql.Add('Where Cname like '%:Cname%'');
이렇게 고쳐 했는데도, Compile 자체가 되지 않더군요..
Delphi에서는 Sql에서 쓰이는
'%'나 '_'같은 일종의 와일드카드 문자는 쓰이지 않나요..?
조언부탁드립니다...
|