Q&A

  • for문돌리는것좀 봐주세요..^^
고수님들 마니 바쁘신가봐염...

글 올려두 답을 안주시네염....

음...많은 문제들을 조금씩해결해가구있구염....^^

그중에 해결안된게 있어서 다시금 올립니다....

요번에는 꼭 답변주시길 빌께여.....^^



스트링그리드에 다음과 같이 있습니다.

---------------------------------

분류 항목 비교

----------------------------------

지역 서울 and

성별 남 and

---------------------------------

스트링 그리드 안에 있는 것을 가져다가 검색을 하려합니당....



그래서 전 다음과 같이 했지요...

*******************

procedure TForm1.Button2Click(Sender: TObject);

var

c:string;

k:integer;

begin



c:='';



for k := 1 to i do //i는 전역변수로 스트링그리드의 내용이 추가시 증가합니다.

begin //sg는 스트링그리드이름입니다.

if sg.cells[0,k]='지역' then sg.Cells[0,k]:='ADDRH'

else if sg.cells[0,k]='성별' then sg.Cells[0,k]:='SEX';



c:=c + ' '+sg.cells[2,k]+' '+sg.Cells[0,k]+' like :cc ';



with query1 do

begin

close;

sql.clear;

sql.Add('select * from CRM_CUSTOMER ');

sql.Add('where cname=cname ');

sql.add(c);



parambyname('cc').asstring:=sg.cells[1,k]+'%';



open;



end;

end;

end;



************************

이렇게 해서 돌리면 말이져....

스트링그리드에 내용이 하나있을때는 검색이 잘됩니다....

근데 위에서 적은 예제같이 row가 2이상일때는 검색한 내용이 하나두 없다구 나오는군여...

제가 for문을 잘못돌렸던지.....parambyname부분을 잘못한거 같은데.....

도대체 모가 잘못된건지여????

제발 답변 부탁합니다.........



1  COMMENTS
  • Profile
    나그네 2001.08.09 03:05
    음 저 부분 코딩만 보고는 좀 난해 하네요...

    SringGrid 의 구성이 어케 되어 있는 건가요?

    이것보다는 프로젝트 자체를 올려놓으시는 편이 도움 받으시기에 좋을 것 같네요...









    노력중인 초보 wrote:

    > 고수님들 마니 바쁘신가봐염...

    > 글 올려두 답을 안주시네염....

    > 음...많은 문제들을 조금씩해결해가구있구염....^^

    > 그중에 해결안된게 있어서 다시금 올립니다....

    > 요번에는 꼭 답변주시길 빌께여.....^^

    >

    > 스트링그리드에 다음과 같이 있습니다.

    > ---------------------------------

    > 분류 항목 비교

    > ----------------------------------

    > 지역 서울 and

    > 성별 남 and

    > ---------------------------------

    > 스트링 그리드 안에 있는 것을 가져다가 검색을 하려합니당....

    >

    > 그래서 전 다음과 같이 했지요...

    > *******************

    > procedure TForm1.Button2Click(Sender: TObject);

    > var

    > c:string;

    > k:integer;

    > begin

    >

    > c:='';

    >

    > for k := 1 to i do //i는 전역변수로 스트링그리드의 내용이 추가시 증가합니다.

    > begin //sg는 스트링그리드이름입니다.

    > if sg.cells[0,k]='지역' then sg.Cells[0,k]:='ADDRH'

    > else if sg.cells[0,k]='성별' then sg.Cells[0,k]:='SEX';

    >

    > c:=c + ' '+sg.cells[2,k]+' '+sg.Cells[0,k]+' like :cc ';

    >

    > with query1 do

    > begin

    > close;

    > sql.clear;

    > sql.Add('select * from CRM_CUSTOMER ');

    > sql.Add('where cname=cname ');

    > sql.add(c);

    >

    > parambyname('cc').asstring:=sg.cells[1,k]+'%';

    >

    > open;

    >

    > end;

    > end;

    > end;

    >

    > ************************

    > 이렇게 해서 돌리면 말이져....

    > 스트링그리드에 내용이 하나있을때는 검색이 잘됩니다....

    > 근데 위에서 적은 예제같이 row가 2이상일때는 검색한 내용이 하나두 없다구 나오는군여...

    > 제가 for문을 잘못돌렸던지.....parambyname부분을 잘못한거 같은데.....

    > 도대체 모가 잘못된건지여????

    > 제발 답변 부탁합니다.........

    >