線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2880
推到 Plurk!
推到 Facebook!

大陆身份证的几个问题如何处理

答題得分者是:eaglewolf
nanpiao
一般會員


發表:12
回覆:18
積分:6
註冊:2007-10-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-09-19 10:13:32 IP:218.60.xxx.xxx 訂閱
请各位大大多多帮忙
大陆身份证的几个问题如何处理
现在有很多的免填单信息系统,如到银行,只要提供银行卡号即可进行取存汇款业务.在电信运营商只要身份证号码即可办理各种电信业务.
我的问题.大陆身份证包含了颁发的省市区县,出生日期以及男女性别.我建立了省,市,区县,证件类型公共类数据表table和客户信息应用表
最终完成功能:当输入身份证号码后,显示出此人的颁发的省,市,区县,出生日期,性别,证件类型.当数据库存在该身份证号码对应的姓名,则将
姓名,居住地址同样显示出来. 如果不存在,则输入姓名,居住地址.当居住地与颁发的省市区县不同时,还要将现居住地省,市,区县,街路村输入.
我设立5个数据库表
provinceinfo(省份表)->字段:pid(省份id),pname(省份名称). 例如:11,北京//21,辽宁
cityinfo (城市表)->字段:cid(城市id),cname(城市名称),pid(省份id). 例如:1101,北京,11//2101,沈阳,21
regioninfo (区县表)->字段:rid(区县id),rname(区县名称),cid(城市id),pid(省份id). 例如:110227,怀柔县,1102,11
idtype (证件类型表)->字段:id (证件id),idtypename(证件名称). 例如:1001,身份证,1002,军官证,1003,台胞证
customer(客户信息表)->字段:id (客户id),name(姓名),idtype(证件类型),idcard(证件号码),gender(性别),birthday(出生日期),spid(颁发省id),scid(颁发市),srid(颁发区县),
dpid(居住省id),dcid(居住市),drid(居住区县),street(居住街路村).
根据上面数据表定义要考虑的问题
1.首先判定输入证件号码是否为数字和位数.如大陆有18位和15位,以及军官证,台胞证
2.判断身份证校验位是否正确,如不正确为非法证件,如正确为合法证件
3.根据身份证提取出颁发省,市,区县,证件类型,出生日期,性别,同时根据身份证号码查询数据库的姓名,居住地址.如存在则显示在姓名和居住地址.如果不存在输入姓名和居住地址.
另外如果身份证颁发的省,市,区县与现居住地不同,则在居住地下拉选择省,市,区县居住地址.
4.另外存在以前颁发的区县更换不同的id,例如110227原来为北京市怀柔县,现为北京市怀柔区,现在编号:110116.如果在regioninfo无法查询到,只显示到相应的省和市,不再显示区县
5.保存到数据库中,其中省市区县,证件类型,性别5个字段保存代码id,例如130529198908292249保存省13,城市1305,区县130529,证件类型1001,性别为2.
例如130529198908292249 可以理解为河北省邢台市巨鹿县 1989年08月29日出生,性别 女
13为河北省//1305为邢台市//130529为巨鹿县 可以理解为130529 河北省邢台市巨鹿县
34为安徽省//3408为安庆市//340824为潜山县 可以理解为340824 安徽省安庆市潜山县
11为北京市//1102为北京郊县//110227怀柔县 可以理解为110227 北京市怀柔县
provinceinfo(省份信息)
省份id,省份名称
11,北京市
21,辽宁省
22,吉林省
cityinfo(城市信息)
城市id,城市名称,省份id
1101,北京市区,11
2101,沈阳市,21
2102,大连市,21
regioninfo(区县信息)
区县id,区县名称,城市id,省份id
110116,怀柔区,1101,11
110227,怀柔县,1102,11
210102,和平区,2101,21
210103,沈河区,2101,21
customer:
客户id,姓名,证件类型,证件号码,性别,出生日期,颁发省id,颁发市id,颁发区县id,居住省id,居住市id,居住区县id,居住街道村
1,李四,1001(身份证),130529198908292249,女,1989-08-29,13,1305,130529, , , ,巨鹿村

以上如何处理,流程以及需要多少控件(元件)
eaglewolf
資深會員


發表:4
回覆:268
積分:429
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-09-24 09:52:36 IP:211.75.xxx.xxx 未訂閱
請勿跨版po文


http://delphi.ktop.com.tw/board.php?cid=30&fid=66&tid=95375
http://delphi.ktop.com.tw/board.php?cid=30&fid=1498&tid=95336


另外,針對你的問題
1. 處理方法 你已在文章中寫出
2. 所需的控件數量,要看你要如何顯示。舉例來說:性別的部份可以用RadioGroup 或兩個RadioButton 或者ComboBox。
------
先查HELP
再查GOOGLE
最後才發問

沒人有義務替你解答問題
在標題或文章中標明很急
並不會增加網友回答速度

Developing Tool:
1.Delphi 6
2.Visual Studio 2005
3.Visual Studio 2008
DBMS:
MS-SQL
系統時間:2024-05-05 16:58:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!