with DM.qry_rtn do begin
close;
sql.Clear;
sql.Add('select * from tb_test');
sql.Add('where code in (:code)');
parambyname('code').AsString := aaa;
open;
first;
end;
aaa := ValueListEditor1.Values[Valuelisteditor1.Keys[1]];
// Valuelisteditor이라는 컴포넌트안에 들어 있는 값을 읽어 aaa 이라는
string 변수에 대입합니다. 이 때 aaa에 들어가는 이 값은..
01 아님 02 그것두 아님 03 일 수도 있구여...
01, 02, 03 이 될 수도 있답니다.
다시 한 번 정리하자면..
aaa := 01
혹은 aaa := 02 혹은 aaa := 03
혹은 aaa := 01, 02 혹은 aaa := 02, 03
혹은 aaa := 01, 03
또는 aaa := 01, 02, 03
이렇게 될 수도 있구여..
쩝..
제가 설명을 하면서도 정리가 잘 안되는군여..
근데..
여기에다..
with qry do begin
close;
sql.Clear;
sql.Add('select * from cd_equipkind');
sql.Add('where code in (01,02)');
open;
first;
end;
이런 식으로 직접 입력을 하면..
결과값이 나오거든여..
근데..
aaa 값에 01, 02를 넣어서..
aaa := '01,02'
with DM.qry_rtn do begin
close;
sql.Clear;
sql.Add('select * from cd_equipkind');
sql.Add('where code in (:code)');
parambyname('code').AsString := aaa;
open;
first;
end;
select *
from 테이블명
where 비교할필드 in ('1',2'...)
이런식으로 하시면 되는데... 근데 in이 인덱스를 타던가??? 안타던걸로 기억이...^^
즐프하세요...