Q&A

  • query에서 여러개의 checkBox선택시 어떻게 하나요?
날씨가 매우 덥네요...

일요일날 집에서 하루 종일 프로그램과 씨름 하고 있는사람입니다....--;

프로그램중...입력창에서 국가명을 체크박스로 입력받아서 입력받은 국가를

포함하는 QUERY를 작성하는데 잘 안되네요......가르켜 주세요...^^;

........



//If 만일 국가 그룹 이 acticve 되었다면...

SQL.Add('AND (NATION = :NATION1) OR (NATION = :NATION2) OR (NATION = :NATION3)');

If checkBox1.Checked then ParamByName('NATION1').asString := '미국';

If checkBox2.Checked then ParamByName('NATION2').asString := '독일';

If checkBox3.Checked then ParamByName('NATION3').asString := '일본';

//이렇게 작성하였는데....체크박스를 1개나 2개만 선택하면 에러가 나는군요...



4  COMMENTS
  • Profile
    저렙 2001.07.09 18:41
    SQL.Add('AND (NATION = :NATION1) OR (NATION = :NATION2) OR (NATION = :NATION3)');

    If checkBox1.Checked then ParamByName('NATION1').asString := '미국';

    If checkBox2.Checked then ParamByName('NATION2').asString := '독일';

    If checkBox3.Checked then ParamByName('NATION3').asString := '일본';



    1~2개를 선택하면 이미 sql문에서 인수를 지정했는디 그에 해당하는 인수값이

    엄떠서 에러가 난다고 생각합니다.

    sql문도 같이 고쳐주셔여.

    체크가 1개일땐 인수를 하나만 받게끔...

    쩝..저두 허접이라 틀리질 않았길 바라며 틀렸다면 고렙님덜 답 주세여.

    그럼 즐코..



  • Profile
    블랙봉 2001.07.09 09:32
    체크가 안됐을 경우에 파라미터 값을 넣지 않도록 되어 있는 것 같은데요.



    太郞 wrote:

    > 날씨가 매우 덥네요...

    > 일요일날 집에서 하루 종일 프로그램과 씨름 하고 있는사람입니다....--;

    > 프로그램중...입력창에서 국가명을 체크박스로 입력받아서 입력받은 국가를

    > 포함하는 QUERY를 작성하는데 잘 안되네요......가르켜 주세요...^^;

    > ........

    >

    > //If 만일 국가 그룹 이 acticve 되었다면...

    > SQL.Add('AND (NATION = :NATION1) OR (NATION = :NATION2) OR (NATION = :NATION3)');

    > If checkBox1.Checked then ParamByName('NATION1').asString := '미국';

    > If checkBox2.Checked then ParamByName('NATION2').asString := '독일';

    > If checkBox3.Checked then ParamByName('NATION3').asString := '일본';

    > //이렇게 작성하였는데....체크박스를 1개나 2개만 선택하면 에러가 나는군요...

    >

  • Profile
    太郞 2001.07.09 18:22
    블랙봉 wrote:

    > 체크가 안됐을 경우에 파라미터 값을 넣지 않도록 되어 있는 것 같은데요.

    >

    > 太郞 wrote:

    > > 날씨가 매우 덥네요...

    > > 일요일날 집에서 하루 종일 프로그램과 씨름 하고 있는사람입니다....--;

    > > 프로그램중...입력창에서 국가명을 체크박스로 입력받아서 입력받은 국가를

    > > 포함하는 QUERY를 작성하는데 잘 안되네요......가르켜 주세요...^^;

    > > ........

    > >

    > > //If 만일 국가 그룹 이 acticve 되었다면...

    > > SQL.Add('AND (NATION = :NATION1) OR (NATION = :NATION2) OR (NATION = :NATION3)');

    > > If checkBox1.Checked then ParamByName('NATION1').asString := '미국';

    > > If checkBox2.Checked then ParamByName('NATION2').asString := '독일';

    > > If checkBox3.Checked then ParamByName('NATION3').asString := '일본';

    > > //이렇게 작성하였는데....체크박스를 1개나 2개만 선택하면 에러가 나는군요...

    > >

    넵...그런데...세개 모두 선택하면 이상없는데....

    한개나 두개만 선택하면 에러가 뜨는 군요....

    문법이 잘못되었는지....좀 봐주세요.....^^

  • Profile
    하기 2001.07.09 18:35
    님 SQL.Add(...) 이부분에 파라메터값을 받는곳이 있는데...

    밑에서 if... 이렇게 된부분에서 파라메터 값을 넘겨 주지 못하니 에러가 나는

    것이겠죠...

    SQL.Add(...)이부분도 If문으로 나누셔야 할것 같은데요

    if ... then SQL.Add('AND (NATION = :NATION1)');

    if ... then SQL.Add('OR (NATION = :NATION2) ');

    if ... then SQL.Add('OR (NATION = :NATION3)');

    ^^:







    太郞 wrote:

    > 블랙봉 wrote:

    > > 체크가 안됐을 경우에 파라미터 값을 넣지 않도록 되어 있는 것 같은데요.

    > >

    > > 太郞 wrote:

    > > > 날씨가 매우 덥네요...

    > > > 일요일날 집에서 하루 종일 프로그램과 씨름 하고 있는사람입니다....--;

    > > > 프로그램중...입력창에서 국가명을 체크박스로 입력받아서 입력받은 국가를

    > > > 포함하는 QUERY를 작성하는데 잘 안되네요......가르켜 주세요...^^;

    > > > ........

    > > >

    > > > //If 만일 국가 그룹 이 acticve 되었다면...

    > > > SQL.Add('AND (NATION = :NATION1) OR (NATION = :NATION2) OR (NATION = :NATION3)');

    > > > If checkBox1.Checked then ParamByName('NATION1').asString := '미국';

    > > > If checkBox2.Checked then ParamByName('NATION2').asString := '독일';

    > > > If checkBox3.Checked then ParamByName('NATION3').asString := '일본';

    > > > //이렇게 작성하였는데....체크박스를 1개나 2개만 선택하면 에러가 나는군요...

    > > >

    > 넵...그런데...세개 모두 선택하면 이상없는데....

    > 한개나 두개만 선택하면 에러가 뜨는 군요....

    > 문법이 잘못되었는지....좀 봐주세요.....^^