Q&A

  • 다중검색하는 법좀 꼭 갈켜 주세요
안녕하세요.아직은 초보 델피언입니다...

군에서 프로젝트를 하나 맡아서여..ㅠ.ㅠ 이 델파이 땜시 잠도 못자는 지경입니다.

그러니 아시는 분은 제발 답변을...

보유량, 재고번호, 그리고 품명이라는 필드가 있습니다.

근데 이 세가지를 edit 하나에서 검색어를 쳐서 검색이라는 버튼을 눌렀을때

이세가지 필드중 and와 or검색이 가능하게 만들어야 합니다.

가능한 방법이 없나여?....

여기 저기서 소스 찾아봐도

잘 안되는데 아시는 분 있으시면 자세하게 답변 부탁드립니다.그리고 저는 테이블이 아닌

쿼리를 쓰고 있습니다.

2  COMMENTS
  • Profile
    hobakpa 2001.07.31 00:00
    우서 or와 and를 따로따로 사용하신다면 편하게 코딩하실텐데 아마 의도 하시는게

    select * from table1 where a='1' and b='2' or c='3'이런식일거라 생각이 듭니다.

    위 처럼은 구현은 안되는건 아니지만 제가 좀더 자신있게 할수 있는건 처음부터 라디오 버튼으로

    구분을 두고 하는겁니다.



    if RadioButton1.checked = true then begin //and

    with qry1 do begin

    DisableControls;

    Close;

    SQl.Clear;

    SQL.Add(' select 보유량, 재고번호, 품명 ');

    SQL.Add(' from 테이블 ');

    SQL.Add(' Where 재고번호 = 재고번호 ');



    if 재고번호.Text <> '' then begin

    Sql.Add(' And 재고번호 Like ''%'+재고번호.Text+'%'' ');

    end;



    if 보유량.Text <> '' then begin

    Sql.Add(' And 보유량 like ''%'+보유량.Text+'%'' ');

    end;



    if 품명.Text <> '' then begin

    Sql.Add(' And 품명 like ''%'+품명.Text+'%'' ');

    end;



    Open;



    EnableControls;

    end;

    end

    else if RadioButton2.checked = true then begin //or

    with qry1 do begin

    DisableControls;

    Close;

    SQl.Clear;

    SQL.Add(' select 보유량, 재고번호, 품명 ');

    SQL.Add(' from 테이블 ');

    SQL.Add(' Where 재고번호 = 재고번호 ');



    if 재고번호.Text <> '' then begin

    Sql.Add(' or 재고번호 Like ''%'+재고번호.Text+'%'' ');

    end;



    if 보유량.Text <> '' then begin

    Sql.Add(' or 보유량 like ''%'+보유량.Text+'%'' ');

    end;



    if 품명.Text <> '' then begin

    Sql.Add(' or 품명 like ''%'+품명.Text+'%'' ');

    end;



    Open;



    EnableControls;

    end;

    end;



    만약에 and, or를 같이 사용하시게 되면 코딩이 조금 복잡해지겠죠......

    저도 허접이라....혹시 같이 사용하시는게 되셨으면 저도 가르쳐 주세요..

  • Profile
    내가 누굴깡..ㅋㅋㅋ 2001.07.30 22:22
    -.-; 쉬운데..쩝..



    우선 쿼리문을 만들고 파라미터값으로 조건을 걸면 될것 같습니다.



    쿼리문 -> select * from 테이블명 where 재고번호 = :key or 보유량= :key or 품명 = :key

    // :key <-- 요거 파라미터 값. 근데 and 검색 말인데염.. ㅡ,.ㅡ;; 테이블 두개를 사용하시나염..? 만약 하나라면 and 구문이..흠.. 값이 내용의 필드는 없을테이고..?

    조인이 안들어가면 필요 없겠죠..^.^;



    자 그럼 처리는

    var str : string;

    begin

    str := 'select * from 테이블명 where 재고번호 = :key or 보유량= :key or 품명 = :key';

    with query1 do begin

    close;

    sql.clear;

    sql.add(str);

    parambyname('key').asstring := edit1.text;

    open;

    -.-??

    구럼 휘리리릭~~~



    군바리델피언 wrote:

    > 안녕하세요.아직은 초보 델피언입니다...

    > 군에서 프로젝트를 하나 맡아서여..ㅠ.ㅠ 이 델파이 땜시 잠도 못자는 지경입니다.

    > 그러니 아시는 분은 제발 답변을...

    > 보유량, 재고번호, 그리고 품명이라는 필드가 있습니다.

    > 근데 이 세가지를 edit 하나에서 검색어를 쳐서 검색이라는 버튼을 눌렀을때

    > 이세가지 필드중 and와 or검색이 가능하게 만들어야 합니다.

    > 가능한 방법이 없나여?....

    > 여기 저기서 소스 찾아봐도

    > 잘 안되는데 아시는 분 있으시면 자세하게 답변 부탁드립니다.그리고 저는 테이블이 아닌

    > 쿼리를 쓰고 있습니다.