Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

각각의 if 문 실행은 되는데 두 개의 if 문이 있으면 반응이 없습니다.


리도

질문

Try
       cg1TV1.BeginUpdate;

       with DBM.Qry do
       begin
           close;

           sql.Clear;

           if  edt_gb.Text = '1' then
           begin
...

               //1
               if trim(edt_no_1.Text) <> '%%' then
               begin
               sql.Add('AND    a.NO1 + a.NO2 + a.NO3         LIKE      :var_key    ');
               end;
               //


               //2
               if  trim(edt_key.Text) <> '' then
               begin
               sql.Add('AND    b.GONGSA_NM         LIKE      :var_key    ');
               end; 
               //

...

               //1
               if trim(edt_no_1.Text) <> '%%' then
               begin
               sql.Add('AND    a.NO1  + a.NO2 + a.NO3       LIKE      :var_key    ');
               end;
               //

               //2
               if  trim(edt_key.Text) <> '' then
               begin
               sql.Add('AND    a.GONGSA_NM         LIKE      :var_key    ');
               end;
               //


               sql.Add('AND    a.STAT_CD           =         ''0''       ');
               sql.Add('AND    b.SAWON_ID          =         a.SAWON_ID  ');
               sql.Add('ORDER  BY      a.GONGSA_NM, a.NO1,  a.NO2,  a.NO3');
           end;

           ParamByName('var_cust_cd').Value := edt_cust_cd.Text;
           ParamByName('var_team').Value    := edt_no_1.Text;
           ParamByName('var_key').Value := trim(edt_key.Text);


           //1
          if  trim(edt_no_1.Text) <> '%%' then
           begin
               if  rbtn_like.Checked = true then ParamByName('var_key').Value := '%' + trim(edt_key.Text) + '%'
                                            else ParamByName('var_key').Value := trim(edt_key.Text) + '%';
           end;
           //

 

          //2

          if  trim(edt_key.Text) <> '' then
           begin
               if  rbtn_like.Checked = true then ParamByName('var_key').Value := '%' + trim(edt_key.Text) + '%'
                                            else ParamByName('var_key').Value := trim(edt_key.Text) + '%';
           end;

          //

           open;
           First;

           While Not EOF do
           begin...

   end;

 

 

이전에 var_key NOT FOUND 오류 해결 후

기존에 있었던 if 문에 추가로 if 문을 만들었습니다.

그런데 실행하면 오류가 나지 않고 아무런 반응이 없습니다.

if 문이 잘못되었나 싶어 //1 번과 관련된 if문을 전부 주석처리하고 //2 를 실행하거나 반대로 //2를 주석처리 후 //1 만 실행하면 정상적으로 실행 및 데이터가 조회됩니다.

두 개의 if~else 로 두 개의 if 문을 붙여서 해봐도 반응이 없는것은 동일합니다.

어떤 부분을 살펴봐야 할까요?

Edited by 리도
이 댓글 링크
다른 사이트에 공유하기

1 answer to this question

Recommended Posts

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.