以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [灌水]身份证地区编码Api  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=50612)

--  作者:2
--  发布时间:2014/5/9 18:00:00
--  [灌水]身份证地区编码Api
在网上找的地区编码不是很全,好多旧编码找不到,用聚合的Api.纯粹在网上查的话“身份证地区编码”都可以不要了。

datacolchanged

Select Case e.DataCol.name
    Case "身份证号" \'如果更改的是身份证号码列
        If e.DataRow.IsNull("身份证号") Then \'身份证号码是否为空
            e.DataRow("籍贯") = Nothing
            e.DataRow("出生日期") = Nothing \'如果为空,则清除出生日期
            e.DataRow("性别")  = Nothing
        Else
            \'否则从身份证号码列中提取出生日期和籍贯
            Dim bm As String =e.DataRow("身份证号").trim().SubString(0,6)
            Dim dr As DataRow = DataTables("身份证地区编码").Find("编码 = \'" & bm & "\'")
            If dr IsNot Nothing Then
                e.DataRow("籍贯") = dr("籍贯")
            Else \'去网上查
                Dim strXML As String = Functions.Execute("getXML","http://apis.juhe.cn/idcard/index?key=你申请的APPKEY&dtype=xml&cardno=" & e.DataRow("身份证号").trim())\'聚合身份证查询API接口,飞老师getXML函数
                MessageBox.Show(strXML)
                Dim xmlDoc As New System.XML.XmlDocument
               \' xmlDoc.LoadXml(strXML)
                Dim reason As System.XML.XmlNodeList = xmlDoc.GetElementsByTagName("reason")
                If  reason(0).InnerText="成功的返回" Then \'如果查到
                    Dim area As System.XML.XmlNodeList = xmlDoc.GetElementsByTagName("area")
                    e.DataRow("籍贯") = area(0).InnerText
                Else
                    MessageBox.show(reason(0).InnerText)
                End If
            End If
            e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
            e.DataRow("性别") = ReadSex(e.DataRow("身份证号"))
        End If
End Select



--  作者:Bin
--  发布时间:2014/5/9 18:01:00
--  
谢谢分享, 不过效率是个问题.
--  作者:2
--  发布时间:2014/5/9 18:03:00
--  
我的网络很快啊,微秒级
--  作者:有点甜
--  发布时间:2014/5/9 18:09:00
--  

 好事......不过,要申请appkey的话,比较麻烦。


--  作者:程兴刚
--  发布时间:2014/5/9 18:28:00
--  
聚合身份证API是付费查询的,这样的话费用不低,申请Key倒是不麻烦,立即申请立即生效,自动给key。