디비는 엑세스 디비에용...
질문의 요지는 query로 검색을 했습니다.
query1.close;
query1.sql.Clear;
query1.sql.Add('select * from 인적사항');
query1.SQL.Add('where 이름 like :find4');
query1.ParamByName('find4').AsString :='%'+edit1.text+'%';
query1.open;
요렇게 해서 다른 그리드에 표시하는 거거든요...근데... '가나다'만 나왕요..
예를 들어 edit에 '나다'라고 치면 '가나다'와 '나다'라는 사람이
같이 그리드에 표시가 되거든요....그런데.. 이중에서 '나다'를 찾고 싶을때...
우째야.. 되나요....
query1.ParamByName('find4').AsString :=edit1.text+'%';
게 해도 안되요...
> 디비는 엑세스 디비에용...
> 질문의 요지는 query로 검색을 했습니다.
>
> query1.close;
> query1.sql.Clear;
> query1.sql.Add('select * from 인적사항');
> query1.SQL.Add('where 이름 like :find4');
> query1.ParamByName('find4').AsString :='%'+edit1.text+'%';
> query1.open;
>
>
> 요렇게 해서 다른 그리드에 표시하는 거거든요...근데... '가나다'만 나왕요..
> 예를 들어 edit에 '나다'라고 치면 '가나다'와 '나다'라는 사람이
> 같이 그리드에 표시가 되거든요....그런데.. 이중에서 '나다'를 찾고 싶을때...
> 우째야.. 되나요....
> query1.ParamByName('find4').AsString :=edit1.text+'%';
> 게 해도 안되요...
그러니까 단지 '나다' 두 글자만 들어간것 말씀이시져?
그러면 쿼리를 한번 더하면 어떨까여..
procedure ..............
var temp : string;
begin
temp := '';
temp := 'select * from '
+ '(select * from 인적사항'
+ 'where 이름 like :find4) a '
+ 'where len(a.이름) = 2 ';
Query1.Close;
Query1.SQL.Clear;
Query1.sql.Add(temp);
Query1.ParamByName('find4').AsString := '%' + edit1.Text + '%';
Query1.open;
end;
이렇게하면 먼저 '나다' 가 들어간사람이 먼저 조회되고
그다음 '나다'가 들어간 사람중에서 이름이 2자인사람면 조회되면.
결국 '나다' 만 나올것 같은데여..
답변이