Q&A

  • 주민등록번호로 남/녀 분류...
안녕하십니까?

항상 몰라서 이곳에서 질문만 열심히 하고 있는 사람입니다.

그러면서 저도 모르게 실력이 늘더군요.

오늘도 염치없는 부탁... 넓은 아량으로 한번만 봐주세요



제가 생각하기로는 주민등록번호의 두번째부분인 ******-1/2****** 1또는 2라는 숫자로 남녀를 구별할 수 있을 것 같은데, 가능한지요...

그러면 제가 지금 예제로 만들고 있는 부분이 있는데, 한수만 가르쳐 주세요...



Table에 있는 주민등록번호필드를 이용하여 남자/여자 구분 후 해당 데이타만 DBGrid에 뿌려주는 것입니다.

DB는 Table형식의 파라독스7을 사용하였으며, 지금 Table로 DBGrid와 연결되어 있는 상태입니다.

DBradioGroup이나 DBCombmbox를 이용해서 남자/여자를 클릭했을 경우 위와 같이

실행되는 소스가 알고 싶습니다.



하루하루 델파이를 하면서 새로운 것을 알려고 하는 어린 싹에게 따뜻한 용기를...

오늘도 즐거운 하루 되시길...





1  COMMENTS
  • Profile
    박성훈 2000.01.24 19:02
    서지현 wrote:

    > 안녕하십니까?

    > 항상 몰라서 이곳에서 질문만 열심히 하고 있는 사람입니다.

    > 그러면서 저도 모르게 실력이 늘더군요.

    > 오늘도 염치없는 부탁... 넓은 아량으로 한번만 봐주세요

    >

    > 제가 생각하기로는 주민등록번호의 두번째부분인 ******-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는 그런 의미에서 집어 넣은

    것입니다.



    두번째 방법은 별도의 성별필드를 만들어서 성별이 같은 레코드만 축출하시면 될 것같은데요.