안녕하십니까?
항상 몰라서 이곳에서 질문만 열심히 하고 있는 사람입니다.
그러면서 저도 모르게 실력이 늘더군요.
오늘도 염치없는 부탁... 넓은 아량으로 한번만 봐주세요
제가 생각하기로는 주민등록번호의 두번째부분인 ******-1/2****** 1또는 2라는 숫자로 남녀를 구별할 수 있을 것 같은데, 가능한지요...
그러면 제가 지금 예제로 만들고 있는 부분이 있는데, 한수만 가르쳐 주세요...
Table에 있는 주민등록번호필드를 이용하여 남자/여자 구분 후 해당 데이타만 DBGrid에 뿌려주는 것입니다.
DB는 Table형식의 파라독스7을 사용하였으며, 지금 Table로 DBGrid와 연결되어 있는 상태입니다.
DBradioGroup이나 DBCombmbox를 이용해서 남자/여자를 클릭했을 경우 위와 같이
실행되는 소스가 알고 싶습니다.
하루하루 델파이를 하면서 새로운 것을 알려고 하는 어린 싹에게 따뜻한 용기를...
오늘도 즐거운 하루 되시길...
> 안녕하십니까?
> 항상 몰라서 이곳에서 질문만 열심히 하고 있는 사람입니다.
> 그러면서 저도 모르게 실력이 늘더군요.
> 오늘도 염치없는 부탁... 넓은 아량으로 한번만 봐주세요
>
> 제가 생각하기로는 주민등록번호의 두번째부분인 ******-1/2****** 1또는 2라는 숫자로 남녀를 구별할 수 있을 것 같은데, 가능한지요...
> 그러면 제가 지금 예제로 만들고 있는 부분이 있는데, 한수만 가르쳐 주세요...에 뿌려주는 것입니다.
> DB는 Table형식의 파라독스7을 사용하였으며, 지금 Table로 DBGrid와 연결되어 있는 상태입니다.
> DBradioGroup이나 DBCombmbox를 이용해서 남자/여자를 클릭했을 경우 위와 같이
>
> Table에 있는 주민등록번호필드를 이용하여 남자/여자 구분 후 해당 데이타만 DBGrid
> 실행되는 소스가 알고 싶습니다.
>
> 하루하루 델파이를 하면서 새로운 것을 알려고 하는 어린 싹에게 따뜻한 용기를...
> 오늘도 즐거운 하루 되시길...
>
>
저도 거의 질문만 올리는 사람입니다.
제생각에는 두가지정도 방법이 있을 것 같습니다. 하나는 substring을 쓰는 것이고,
다른 하나는 성별필드를 별도로 두는 것입니다.
주민등록번호에 구분자가 없다면 7번째가 성별을 나타내는 것이겠군요.
그렇다면 쿼리를 써서
with Query1 do
begin
DisableControls;
Close;
sql.Clear;
sql.Add('SELECT * FROM mydb WHERE SUBSTRING(주민등록번호 FROM 7 FOR 1)=:N1');
sql.Add(' OR SUBSTRING(주민등록번호 FROM 7 FOR 1)=:N2')
ParamByName('N1').AsString:= IntToStr(Combobox1.ItemIndex+1);
ParamByName('N2').AsString:= IntToStr(Combobox1.ItemIndex+3);
Open;
EnableControls;
end;
2000년생부터는 남자는 3,여자는 4로 바뀐다고 하더군요. N2는 그런 의미에서 집어 넣은
것입니다.
두번째 방법은 별도의 성별필드를 만들어서 성별이 같은 레코드만 축출하시면 될 것같은데요.