Q&A

  • [델파이왕초보]흑흑... 델파이 고수의 꿈을 꾸며...
안녕하세요...

전... 델파이 시작한지 얼마 안돼는 학생인데요...

한가지만 물어 볼께요...

고수분들 넘 쉬운거라고 욕하지 마시길...이렇게 질문하는 저도 미치겠습니다...

다름이 아니라...

검색을 하려고 하는데... 에디트를 써서 검색란을 만들고 엔터키를 치면 검색가능하게 되는 건데요...

RadioGroup을 써서 두가지를 검색해야하는데...

첨것은 검색이 되는데... 그 다음것은 안되는군요...

그래서.. 도움을 청합니다...

도와주세요....

코딩도 넣어 주시면 고맙겠습니다...

그럼 좋은 하루 되시구요...

담에 또 신세 지겠습니다...

그럼 꾸벅!

3  COMMENTS
  • Profile
    김주석 1999.12.24 19:13
    이경렬 wrote:

    > 안녕하세요...

    > 전... 델파이 시작한지 얼마 안돼는 학생인데요...

    > 한가지만 물어 볼께요...

    > 고수분들 넘 쉬운거라고 욕하지 마시길...이렇게 질문하는 저도 미치겠습니다...

    > 다름이 아니라...

    > 검색을 하려고 하는데... 에디트를 써서 검색란을 만들고 엔터키를 치면 검색가능하게 되는 건데요...

    > RadioGroup을 써서 두가지를 검색해야하는데...

    > 첨것은 검색이 되는데... 그 다음것은 안되는군요...

    > 그래서.. 도움을 청합니다...

    > 도와주세요....

    > 코딩도 넣어 주시면 고맙겠습니다...

    > 그럼 좋은 하루 되시구요...

    > 담에 또 신세 지겠습니다...

    > 그럼 꾸벅!



    다음과 같은 방법으로 sql문을 확인하시면 문제의 원인을 알수 있습니다.

    showmessage(Query1.sql.text) ;

    아래의 예제는 교수 ID 혹은 교수성명으로 LIKE연산자를 이용해서 찾는 예

    제입니다. 도움되시길..



    ex)



    procedure Tfrm_115.edt_id_search_p1Enter(Sender: TObject);

    begin

    // 1. 교수정보관리 화면에서 검색을 하려고 할때 입력란을 초기화 한다

    // => SET_CLEAR

    flag_professor_p1 := 2 ;

    SET_BUTTON ( btn_insert_p1 , False

    , btn_update_p1 , False

    , btn_delete_p1 , False ) ;

    edt_name_search_p1.Text := '';

    edt_id_search_p1.Text := '';



    SET_CLEAR ;

    end;



    procedure Tfrm_115.edt_id_search_p1KeyUp(Sender: TObject; var Key: Word;

    Shift: TShiftState);

    begin

    // 1. 교수정보관리 화면에서 교수를 검색한다

    // => GETQUERY_PROFESSOR

    if key = 13 then

    begin

    GETQUERY_PROFESSOR (qry_professor_p1, edt_id_search_p1 , 'A.ID' , edt_name_search_p1 , 'A.NAME' ) ;

    if qry_professor_p1.RecordCount = 0 then

    begin

    Application.MessageBox ( '조건에 해당하는 교수가 없습니다' , '알림' ,MB_OK ) ;

    btn_tech_info_excel.Enabled := false;

    end

    else

    btn_tech_info_excel.Enabled := true;

    end ;

    end;



    // =============================================================================





    procedure Tfrm_115.GETQUERY_PROFESSOR ( VAR QRY : TQUERY ;

    VAR EDT_ID : TEDIT ;

    S_ID : STRING ;

    VAR EDT_NAME : TEDIT ;

    S_NAME : STRING ) ;

    var

    s_q : String ;

    i : Integer ;

    j : Integer ;

    begin

    // 1. 교수정보를 ID,성명을 검색하여 질의를 실행한다

    // => SQL문의 구조로서는 조건절(ID,성명검색이 가능하게끔 2줄이 공백이어야 한다)다음에

    // 'GROUP BY' , 'ORDER BY' 라는 형식의 내용이 있어야 한다

    QRY.Active := False ;

    s_q := '''' ;

    j := 0 ;

    for i := 0 to QRY.SQL.Count-1 do

    begin

    if (Copy(QRY.SQL[i],1,8) = 'GROUP BY') or

    (Copy(QRY.SQL[i],1,8) = 'ORDER BY') then



    break

    else

    j := j + 1 ;



    end ;



    QRY.SQL[j-2]:= 'AND '+S_ID +' LIKE '+ s_q+EDT_ID.Text+%'+s_q ;

    QRY.SQL[j-1]:= 'AND '+S_NAME +' LIKE '+s_q+ EDT_NAME.Text+'%'+ s_q ;

    QRY.Active := True ;

    end ;



  • Profile
    박성훈 1999.12.23 03:46
    이경렬 wrote:

    > 안녕하세요...

    > 전... 델파이 시작한지 얼마 안돼는 학생인데요...

    > 한가지만 물어 볼께요...

    > 고수분들 넘 쉬운거라고 욕하지 마시길...이렇게 질문하는 저도 미치겠습니다...

    > 다름이 아니라...

    > 검색을 하려고 하는데... 에디트를 써서 검색란을 만들고 엔터키를 치면 검색가능하게 되는 건데요...

    > RadioGroup을 써서 두가지를 검색해야하는데...

    > 첨것은 검색이 되는데... 그 다음것은 안되는군요...

    > 그래서.. 도움을 청합니다...

    > 도와주세요....

    > 코딩도 넣어 주시면 고맙겠습니다...

    > 그럼 좋은 하루 되시구요...

    > 담에 또 신세 지겠습니다...

    > 그럼 꾸벅!



    전 고수가 아닌데요, 지나가다 들렀습니다.

    질문에 어떤 것을 검색하는지 안나와 있군요.

    아마도 쿼리를 쓰신다면 SQL문이 잘못되어 있을 겁니다. 필요하시다면 해당 부분을 오려보시죠.





  • Profile
    삶지기 1999.12.23 06:43
    박성훈 wrote:

    > 이경렬 wrote:

    > > 안녕하세요...

    > > 전... 델파이 시작한지 얼마 안돼는 학생인데요...

    > > 한가지만 물어 볼께요...

    > > 고수분들 넘 쉬운거라고 욕하지 마시길...이렇게 질문하는 저도 미치겠습니다...

    > > 다름이 아니라...

    > > 검색을 하려고 하는데... 에디트를 써서 검색란을 만들고 엔터키를 치면 검색가능하게 되는 건데요...

    > > RadioGroup을 써서 두가지를 검색해야하는데...

    > > 첨것은 검색이 되는데... 그 다음것은 안되는군요...

    > > 그래서.. 도움을 청합니다...

    > > 도와주세요....

    > > 코딩도 넣어 주시면 고맙겠습니다...

    > > 그럼 좋은 하루 되시구요...

    > > 담에 또 신세 지겠습니다...

    > > 그럼 꾸벅!

    >

    > 전 고수가 아닌데요, 지나가다 들렀습니다.

    > 질문에 어떤 것을 검색하는지 안나와 있군요.

    > 아마도 쿼리를 쓰신다면 SQL문이 잘못되어 있을 겁니다. 필요하시다면 해당 부분을 오려보시죠.

    >

    >



    저도 소스를 보진 못해서 잘 모르겠는데

    제 생각엔 라디오 그룹버튼의 선택부분이 틀린것이 아닐까요?

    인덱스를 이용해서 케이스 문을 쓰시면 될텐데 저도 소스를 못봐서

    모르겠네요. 그럼 이만