Q&A

  • SQL문(Update)에서요 두가지 조건은....(소스포함)
안녕하십니까, 델파이 관계자 여러분들......!!!

한.델이 정상으로 돌아와서 정말 다행입니다.



밑에 있는게 문제의 코드입니다.



버튼을 클릭하면요, "현재날짜보다 지난필드와 아무것도 없는 필드"를

미납으로 처리하려구 고생(?)끝에 만든겁니다.

근데 두가지 조건을 and로 연결을 해줬는데도 두가지 조건이 동시에 먹

히질 않는군요. 어떻게 된건지.......

좀 보시구요, 조언 부탁드립니다.



procedure TForm1.Button11Click(Sender: TObject);

begin

with DataModule1.AllBookLenterQ do

begin

Close;

sql.Clear;

sql.add('update jamesdeanD set');

sql.add('BHOAG = :param1');



==>이 부분입니다.



parambyname('param1').asstring := '미납';

parambyname('param2').asstring := DateToStr(Date());

ExecSQL;

end;

end;



고수님들 그냥지나가지 마시고, 한 말씀씩 해주세요!!

그럼 여러분들 좋은 하루되세요........!

1  COMMENTS
  • Profile
    mute 2000.06.02 23:35
    델_맹 wrote:

    > 안녕하십니까, 델파이 관계자 여러분들......!!!

    > 한.델이 정상으로 돌아와서 정말 다행입니다.

    >

    > 밑에 있는게 문제의 코드입니다.

    >

    > 버튼을 클릭하면요, "현재날짜보다 지난필드와 아무것도 없는 필드"를

    > 미납으로 처리하려구 고생(?)끝에 만든겁니다.

    > 근데 두가지 조건을 and로 연결을 해줬는데도 두가지 조건이 동시에 먹

    > 히질 않는군요. 어떻게 된건지.......

    > 좀 보시구요, 조언 부탁드립니다.

    >

    > procedure TForm1.Button11Click(Sender: TObject);

    > begin

    > with DataModule1.AllBookLenterQ do

    > begin

    > Close;

    > sql.Clear;

    > sql.add('update jamesdeanD set');

    > sql.add('BHOAG = :param1');

    >

    > ==>이 부분입니다.

    >

    > parambyname('param1').asstring := '미납';

    > parambyname('param2').asstring := DateToStr(Date());

    > ExecSQL;

    > end;

    > end;

    >

    > 고수님들 그냥지나가지 마시고, 한 말씀씩 해주세요!!

    > 그럼 여러분들 좋은 하루되세요........!



    쩝...



    "현재날짜보다 지난필드와 아무것도 없는 필드"



    라는 말은 현재날짜보다 지난필드는 "미납" 처리



    그리고 아무것도 없는 필드도 "미납" 처리 하신 다는 말씀이



    아닌가요...



    그러면 AND 가 아니라.. OR 을 쓰셔 할것 같은 디용....^^;



    요렇게



    BDATE < :param2 OR BDATE is Null (현재날짜보다 지난필드와 아무것도 없는 필드)



    //BDATE < :param2 AND BDATE is Null(현재날짜보다 지난필드이면서 아무것도 없는 필드)