Q&A

  • 우편번호소스입니다..
앞에 %를 붙여도 않돼고

db 에 있는 값도 스페이스 없이 써져있는데요..

그래서 그냥 마포1만 써도 검색이 않돼고요 마포1동을써도 검색이 않돼고

그냥 마포동 하면 검색이 됩니다..^^..

저로서는 정말 잘 모르겠는데요... 다시한번 봐주십시오..





하얀까마귀 wrote:

> 안녕하세요 하얀까마귀 입니다.

>

> 강석찬님 말씀처럼 like 의 %는 붙이시면 되구요..

>

> 그런데 마포1동을 했을때 검색이 안되는건 이상하네요.

>

> 예)마포동, 오치동 하면 검색이 되는데...

> 마포1동, 오치1동 하면 검색이 않되거든요...

>

> 이게 안되는건 아마두 데이타베이스에 들어가 있는 값이 '마포 1동' 요런식이

>

> 아닐까 생가되네요.. 아니면 마포1동 이라고 검색하면 그거라도 나올텐데..

>

> 데이타 베이스에 들어있는값은 스페이스를 제거해주시는게 좋고

>

> 검색하실때도 마지막에 붙어있는 '동'은 제거하고 검색하는게 좋습니다.

>

> 예) 마포동 -> 결과 마포동 마포1동 마포2동... 요론식으로 나오게요

>

> 조금은 편하겠죠? 그럼 즐거운시간 되세요.

>

> - 하얀까마귀 -

>

>

> 강석찬 wrote:

> > sql.add('where dong like ''%' + edit1.Text + '%'' ');

> > 요로코롬 함 해보세용

> >

> >

> >

> > 이희환 wrote:

> > > 이희환 wrote:

> > > 우편번호 검색하는건데요....

> > > 동이름만 쓰면 검색 되는데요... 동이름 뒤에 1동 형식으로 붙이면 되지 않는데

> > > 알려주시면 정말 감사 하겠습니다.

> > > 예)마포동, 오치동 하면 검색이 되는데...

> > > 마포1동, 오치1동 하면 검색이 않되거든요...

> > > 소스를 붙여 드리겠습니다. 고수님들의 조언 부탁드립니다.

> > > procedure Tcode.Button1Click(Sender: TObject);

> > > begin

> > > with query1 do begin

> > > close;

> > > prepare;

> > > sql.Clear;

> > > sql.add('select * from zip');

> > > sql.add('where dong like"' + edit1.Text + '"');

> > > open;

> > > end;

> > > end;

> > >

> > > procedure Tcode.Button2Click(Sender: TObject);

> > > begin

> > > edit2.text:= query1.fieldbyname('zipcode').asstring;

> > > edit3.text:= query1.fieldbyname('sido').asstring + ' ' +

> > > query1.fieldbyname('gugun').asstring + ' ' +

> > > query1.fieldbyname('dong').asstring + ' ' +

> > > query1.fieldbyname('bunji').asstring ;

> > > end;

> > >

> > > procedure Tcode.Button3Click(Sender: TObject);

> > > begin

> > > close;

> > > end;

> > >

> > > end.

> > > 고수님 그리고요 edit1.text두에 %를 붙이면 된다고 그래서 붙여봤는데요

> > > 에러가 납니다

> > > sql.add('where dong like"' + edit1.Text% + '"');

> > > 이렇게 붙여봤는데 에러가 납니다. 가르쳐 주십시오

> > > 답변 부탁드립니다.

1  COMMENTS
  • Profile
    홍성락 2001.12.01 03:39
    str(Edit1.Text)에

    마포, 마포1 ===> 끝에 '동'문자 없으면 무조건 끝에 %붙게 10행실행

    마포1동일때 ===> 끝에 '동'문자도 있고 가운데 숫자도 있을경우 통과

    마포동 ===> 끝에 '동'문자있고 가운데 숫자없을시는 마포%동



    procedure TForm1.Button1Click(Sender: TObject);

    var

    str : string;

    begin

    1 str := Edit1.Text;

    2 if '동' = copy(str, Length(str)-1,2) then begin //끝문자에 동이있는지

    3 if not(str[Length(str)-2] in ['0','1','2','3','4','5','6','7','8','9'])

    4 then begin//숫자있을땐 사이에%

    5 insert('%',str,Length(str)-1);

    6 str := '''' + str + '''';

    7 end;

    8 end

    9 else

    10 str := '''' + str + '%''';

    Edit2.Text := str;

    end;

    ////////////////////////////////////////////////////////////////////////////

    이희환 wrote:

    > 앞에 %를 붙여도 않돼고

    > db 에 있는 값도 스페이스 없이 써져있는데요..

    > 그래서 그냥 마포1만 써도 검색이 않돼고요 마포1동을써도 검색이 않돼고

    > 그냥 마포동 하면 검색이 됩니다..^^..

    > 저로서는 정말 잘 모르겠는데요... 다시한번 봐주십시오..

    >

    >

    > 하얀까마귀 wrote:

    > > 안녕하세요 하얀까마귀 입니다.

    > >

    > > 강석찬님 말씀처럼 like 의 %는 붙이시면 되구요..

    > >

    > > 그런데 마포1동을 했을때 검색이 안되는건 이상하네요.

    > >

    > > 예)마포동, 오치동 하면 검색이 되는데...

    > > 마포1동, 오치1동 하면 검색이 않되거든요...

    > >

    > > 이게 안되는건 아마두 데이타베이스에 들어가 있는 값이 '마포 1동' 요런식이

    > >

    > > 아닐까 생가되네요.. 아니면 마포1동 이라고 검색하면 그거라도 나올텐데..

    > >

    > > 데이타 베이스에 들어있는값은 스페이스를 제거해주시는게 좋고

    > >

    > > 검색하실때도 마지막에 붙어있는 '동'은 제거하고 검색하는게 좋습니다.

    > >

    > > 예) 마포동 -> 결과 마포동 마포1동 마포2동... 요론식으로 나오게요

    > >

    > > 조금은 편하겠죠? 그럼 즐거운시간 되세요.

    > >

    > > - 하얀까마귀 -

    > >

    > >

    > > 강석찬 wrote:

    > > > sql.add('where dong like ''%' + edit1.Text + '%'' ');

    > > > 요로코롬 함 해보세용

    > > >

    > > >

    > > >

    > > > 이희환 wrote:

    > > > > 이희환 wrote:

    > > > > 우편번호 검색하는건데요....

    > > > > 동이름만 쓰면 검색 되는데요... 동이름 뒤에 1동 형식으로 붙이면 되지 않는데

    > > > > 알려주시면 정말 감사 하겠습니다.

    > > > > 예)마포동, 오치동 하면 검색이 되는데...

    > > > > 마포1동, 오치1동 하면 검색이 않되거든요...

    > > > > 소스를 붙여 드리겠습니다. 고수님들의 조언 부탁드립니다.

    > > > > procedure Tcode.Button1Click(Sender: TObject);

    > > > > begin

    > > > > with query1 do begin

    > > > > close;

    > > > > prepare;

    > > > > sql.Clear;

    > > > > sql.add('select * from zip');

    > > > > sql.add('where dong like"' + edit1.Text + '"');

    > > > > open;

    > > > > end;

    > > > > end;

    > > > >

    > > > > procedure Tcode.Button2Click(Sender: TObject);

    > > > > begin

    > > > > edit2.text:= query1.fieldbyname('zipcode').asstring;

    > > > > edit3.text:= query1.fieldbyname('sido').asstring + ' ' +

    > > > > query1.fieldbyname('gugun').asstring + ' ' +

    > > > > query1.fieldbyname('dong').asstring + ' ' +

    > > > > query1.fieldbyname('bunji').asstring ;

    > > > > end;

    > > > >

    > > > > procedure Tcode.Button3Click(Sender: TObject);

    > > > > begin

    > > > > close;

    > > > > end;

    > > > >

    > > > > end.

    > > > > 고수님 그리고요 edit1.text두에 %를 붙이면 된다고 그래서 붙여봤는데요

    > > > > 에러가 납니다

    > > > > sql.add('where dong like"' + edit1.Text% + '"');

    > > > > 이렇게 붙여봤는데 에러가 납니다. 가르쳐 주십시오

    > > > > 답변 부탁드립니다.