앞에 %를 붙여도 않돼고
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 ===> 끝에 '동'문자 없으면 무조건 끝에 %붙게 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% + '"');
> > > > 이렇게 붙여봤는데 에러가 납니다. 가르쳐 주십시오
> > > > 답변 부탁드립니다.