`
yuanlanxiaup
  • 浏览: 858231 次
文章分类
社区版块
存档分类
最新评论

ASP.NET中数据库应用-身份证信息查询器

 
阅读更多

//Web版的身份证信息查询

//Default.aspx

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"
UICulture
="zh-CN"Culture="zh-CN"%>

<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.OleDb"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>身份证查询-Madebyiceman</title>

<scriptlanguage="C#"runat="server">
publicstringstrIDCardNum;
publicboolwrongFlag=false;
privatevoidPage_Load(Objectsender,EventArgse)
...{
TextIDNUM.Focus();
}

privatevoidSubmit_Click(Objectsender,EventArgse)
...{
wrongFlag
=false;


TextAddr.Value
="";
TextBirth.Value
="";
TextSex.Value
="";
TextCheckInfor.Value
="";
Label6.Visible
=false;

//textBoxAddr.Text=null;
//textBoxBirth.Text=null;
//textBoxSex.Text=null;
//textBoxCheckInfor.Text=null;

strIDCardNum
=TextIDNUM.Value;
if(string.IsNullOrEmpty(strIDCardNum))
...{
//MessageBox.Show("请输入你要查询的身份证号码!");
TextCheckInfor.Value="请输入你要查询的身份证号码!";
Label6.Visible
=true;
TextIDNUM.Focus();
return;
}

elseif(strIDCardNum.Length==15)
...{
//MessageBox.Show("对不起,该软件暂不支持15位的身份证号码!");
TextCheckInfor.Value="暂不支持15位的身份证号码!";
Label6.Visible
=true;
TextIDNUM.Focus();
return;
}

elseif(strIDCardNum.Length<18)
...{
//MessageBox.Show("请检查你输入的身份证号码是否为18位!");
TextCheckInfor.Value="请检查你输入的号码是否为18位!";
Label6.Visible
=true;
TextIDNUM.Focus();
return;
}

elseif(strIDCardNum.Substring(2,2)=="00"||strIDCardNum.Substring(4,2)=="00")
...{
//MessageBox.Show("请输入有效的身份证号码!");
TextCheckInfor.Value="请输入有效的身份证号码!";
Label6.Visible
=true;
TextIDNUM.Focus();
return;
}

else
...{
for(inti=0;i<=16;i++)
...{
if(strIDCardNum[i]<'0'||strIDCardNum[i]>'9')
...{
//MessageBox.Show("您输入的身份证号码中含有非法数字或字符,请检查!");
TextCheckInfor.Value="号码中含有非法数字或字符,请检查!";
Label6.Visible
=true;
TextIDNUM.Focus();
return;
}

}


if((strIDCardNum[17]>='0'&&strIDCardNum[17]<='9')||strIDCardNum[17]=='x'||strIDCardNum[17]=='X')
...{
GetAddr();
GetBirth();
GetSex();
GetCheckInfor();
}

}

}

privatevoidGetAddr()//从身份证号码中取出地址码(第1-第6位)
...{
stringstrAddr=null;
stringstrProvince,strCity,strTown;

strProvince
=strIDCardNum.Substring(0,2)+"0000";
strCity
=strIDCardNum.Substring(0,4)+"00";
strTown
=strIDCardNum.Substring(0,6);

ConnectionStringSettingssettings;
settings
=ConfigurationManager.ConnectionStrings["addrConnectionString"];
OleDbConnectionconn
=newOleDbConnection(settings.ConnectionString+";JetOLEDB:databasepassword=icemanstudio2006");
DataSetds
=newDataSet();

conn.Open();

stringSQLstr="SELECT*FROMProvinceWHERECode='"+strProvince+"'";
OleDbDataAdapterOleDbDA
=newOleDbDataAdapter(SQLstr,conn);
OleDbDA.Fill(ds);

if(ds!=null)
...{
DataRowCollectionRows
=ds.Tables[0].Rows;
if(Rows.Count<=0)
...{//MessageBox.Show("没检索到此记录,请检查你的输入是否有误!");
TextCheckInfor.Value="无此记录,请检查输入是否有误!";
Label6.Visible
=true;
TextIDNUM.Focus();
wrongFlag
=true;
return;
}

if(Rows.Count>0)
...{
strAddr
=Rows[0]["Address"].ToString();//取出省
ds.Clear();


SQLstr
="SELECT*FROMCityWHERECode='"+strCity+"'";
OleDbDA
=newOleDbDataAdapter(SQLstr,conn);
OleDbDA.Fill(ds);

if(ds!=null)
...{
Rows
=ds.Tables[0].Rows;
if(Rows.Count<=0)
...{//MessageBox.Show("没检索到此记录,请检查你的输入是否有误!");
TextCheckInfor.Value="无此记录,请检查输入是否有误!";
Label6.Visible
=true;
TextIDNUM.Focus();
wrongFlag
=true;
return;
}

if(Rows.Count>0)
...{
strAddr
+=Rows[0]["Address"].ToString();//取出市
ds.Clear();


SQLstr
="SELECT*FROMTownWHERECode='"+strTown+"'";
OleDbDA
=newOleDbDataAdapter(SQLstr,conn);
OleDbDA.Fill(ds);

if(ds!=null)
...{
Rows
=ds.Tables[0].Rows;
if(Rows.Count<=0)
...{//MessageBox.Show("没检索到此记录,请检查你的输入是否有误!");
TextCheckInfor.Value="无此记录,请检查输入是否有误!";
Label6.Visible
=true;
TextIDNUM.Focus();
wrongFlag
=true;
return;
}

if(Rows.Count>0)
...{
stringtemp;
temp
=Rows[0]["Address"].ToString();
strAddr
+=temp.Trim('');//取出省+市+县
ds.Clear();
conn.Close();

TextAddr.Value
=strAddr;
}

}

}

}

}

}

}


privatevoidGetBirth()//从身份证号码中取出生日期码(第7-第14位)
...{
if(wrongFlag)return;

stringstrYear,strMonth,strDay;

strYear
=strIDCardNum.Substring(6,4);
strMonth
=strIDCardNum.Substring(10,2);
strDay
=strIDCardNum.Substring(12,2);
TextBirth.Value
=strYear+""+strMonth+""+strDay+"";
}


privatevoidGetSex()//从身份证号码中取顺序码(第15-第17位)从而判定性别
...{
if(wrongFlag)return;

stringstrSex;

strSex
=strIDCardNum.Substring(16,1);
if(System.Convert.ToInt16(strSex)%2==0)
...{
TextSex.Value
="";
}

else
...{
TextSex.Value
="";
}

}


privatevoidGetCheckInfor()//从身份证号码中取校验码(第18位)从而判断该身份证号码是否合法
...{
if(wrongFlag)return;

stringstrCheck;
string[]strWi=...{"7","9","10","5","8","4","2","1","6","3","7","9","10","5","8","4","2","1"};
inti,check=0;
stringstrCheckFlag=null;

strCheck
=strIDCardNum.Substring(17,1);
if(strCheck=="X")strCheck="x";
for(i=0;i<=16;i++)
...{
check
+=System.Convert.ToInt16(strIDCardNum.Substring(i,1))*System.Convert.ToInt16(strWi[i]);
check
%=11;
}

switch(check)
...{
case0:strCheckFlag="1";break;
case1:strCheckFlag="0";break;
case2:strCheckFlag="x";break;
case3:strCheckFlag="9";break;
case4:strCheckFlag="8";break;
case5:strCheckFlag="7";break;
case6:strCheckFlag="6";break;
case7:strCheckFlag="5";break;
case8:strCheckFlag="4";break;
case9:strCheckFlag="3";break;
case10:strCheckFlag="2";break;
}

if(strCheck==strCheckFlag)
...{
TextCheckInfor.Value
="校验码正确!应该是合法身份证。";
}

else
...{
TextCheckInfor.Value
="校验码错误!可能是非法身份证。";
}

}

</script>

</head>
<bodystyle="font-size:20px;">
<formid="form1"runat="server">
<divalign="center">
<tablestyle="width:380px;background-color:#dfefef;">
<tr>
<td>
<tablestyle="background-color:#d4e6ea"cellspacing="10"cellpadding="10">
<tr>
<tdstyle="color:#ff0000;font-weight:bold;font-size:25px;height:46px;width:354px;">
一个简单的身份证查询程序
<br/>
<hrstyle="color:#ffffff"/>
</td>
</tr>
<tronmouseover="this.style.backgroundColor='#d0e0ee'"onmouseout="this.style.backgroundColor='#d4e6ea'">
<tdalign="left"style="height:46px;width:354px;">
<asp:LabelID="Label1"runat="server"Text="IDNum:"></asp:Label>
<inputid="TextIDNUM"type="text"maxlength="18"runat="server"tabindex="1"title="YourIDnumberhere"
style
="width:127px"/>
<inputid="Submit1"type="submit"value="Search"runat="server"onserverclick="Submit_Click"
tabindex
="2"/>
</td>
</tr>
<tr>
<tdalign="left"style="height:40px;width:354px;">
<asp:LabelID="Label2"runat="server"Text="Address:"></asp:Label>
<inputid="TextAddr"type="text"runat="server"readonly="readOnly"style="width:193px"
tabindex
="3"/>
</td>
</tr>
<tr>
<tdalign="left"style="height:40px;width:354px;">
<asp:LabelID="Label3"runat="server"Text="Birthday:"></asp:Label>
<inputid="TextBirth"type="text"runat="server"readonly="readOnly"style="width:95px"
tabindex
="4"/>
</td>
</tr>
<tr>
<tdalign="left"style="height:40px;width:354px;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<asp:LabelID="Label4"runat="server"Text="Sex:"></asp:Label>&nbsp;<inputid="TextSex"
type
="text"runat="server"readonly="readOnly"style="width:15px"tabindex="5"/>
</td>
</tr>
<tr>
<tdalign="left"style="height:40px;width:354px;">
&nbsp;&nbsp;&nbsp;&nbsp;<asp:LabelID="Label5"runat="server"Text="Infor:"></asp:Label>
<inputid="TextCheckInfor"type="text"runat="server"style="width:193px"readonly="readOnly"
tabindex
="6"value="在IDNUM输入你要查询的号码!"/>
<asp:LabelID="Label6"runat="server"ForeColor="Red"Text="*"Visible="False"></asp:Label></td>
</tr>
</table>
</td>
</tr>
</table>
<br/>
Copyright
&copy;2006-2007iceman,AllRightsReserved<br/>
<ahref="mailto:happyboylxl@yahoo.com.cn">sendE-mailtome</a>
</div>
</form>
</body>
</html>

//Web.config
<?xmlversion="1.0"encoding="utf-8"?>

<!--注意:除了手动编辑此文件以外,您还可以使用Web管理工具来
配置应用程序的设置。可以使用VisualStudio中的“网站”->“ASP.NET配置”
选项。
设置和注释的完整列表在
machine.config.comments中,该文件通常位于WindowsMicrosoft.NETFrameworkv2.0.xxxxxConfig中
-->

<configuration>

<appSettings/>
<connectionStrings>
<addname="addrConnectionString"connectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=|DataDirectory|addr.mdb"providerName="System.Data.OleDb"/>
</connectionStrings>

<system.web>

<!--
设置compilationdebug="true"将调试符号插入已编译的页面中。
但由于这会影响性能,因此只在开发过程中将此值设置为true。
-->
<compilationdebug="false"/>


<!--
通过<authentication>节可以配置ASP.NET使用的
安全身份验证模式,以标识传入的用户。
-->
<authenticationmode="Windows"/>


<!--
如果在执行请求的过程中出现未处理的错误,则通过<customErrors>节
可以配置相应的处理步骤。具体说来,开发人员通过该节可以
配置要显示的html错误页以代替错误堆栈跟踪。
-->
<customErrorsmode="RemoteOnly"defaultRedirect="GenericErrorPage.htm">
<!--
<errorstatusCode="403"redirect="NoAccess.htm"/>
<errorstatusCode="404"redirect="FileNotFound.htm"/>
-->
</customErrors>


<!--
完全限定客户端重定向的URL
有些移动设备要求对客户端重定向的URL进行完全限定。
-->
<httpRuntimeuseFullyQualifiedRedirectUrl="true"/>


<!--
指定无Cookie的数据字典类型
这将使字典内容出现在本地请求url查询字符串中。
这是在无Cookie的设备上进行Forms身份验证所必需的。
-->
<mobileControlscookielessDataDictionaryType="System.Web.Mobile.CookielessData"/>


<deviceFilters>
<filtername="isJPhone"compare="Type"argument="J-Phone"/>
<filtername="isHTML32"compare="PreferredRenderingType"argument="html32"/>
<filtername="isWML11"compare="PreferredRenderingType"argument="wml11"/>
<filtername="isCHTML10"compare="PreferredRenderingType"argument="chtml10"/>
<filtername="isGoAmerica"compare="Browser"argument="Go.Web"/>
<filtername="isMME"compare="Browser"argument="MicrosoftMobileExplorer"/>
<filtername="isMyPalm"compare="Browser"argument="MyPalm"/>
<filtername="isPocketIE"compare="Browser"argument="PocketIE"/>
<filtername="isUP3x"compare="Type"argument="Phone.com3.xBrowser"/>
<filtername="isUP4x"compare="Type"argument="Phone.com4.xBrowser"/>
<filtername="isEricssonR380"compare="Type"argument="EricssonR380"/>
<filtername="isNokia7110"compare="Type"argument="Nokia7110"/>
<filtername="prefersGIF"compare="PreferredImageMIME"argument="image/gif"/>
<filtername="prefersWBMP"compare="PreferredImageMIME"argument="image/vnd.wap.wbmp"/>
<filtername="supportsColor"compare="IsColor"argument="true"/>
<filtername="supportsCookies"compare="Cookies"argument="true"/>
<filtername="supportsJavaScript"compare="Javascript"argument="true"/>
<filtername="supportsVoiceCalls"compare="CanInitiateVoiceCall"argument="true"/>
</deviceFilters>
<!--
<globalizationrequestEncoding="gb2312"responseEncoding="gb2312"/>

-->

</system.web>
</configuration>
分享到:
评论

相关推荐

    《ASP.NET与数据库程序设计》

    5-3 ASP.NET如何结合数据库 5-3-1关于ADO.NET 5-3-2与数据库无关的DataSet DataSet的内容 DateSet的来源(自行建立) DateSet的来源(取用数据库) 控制项结合DataSet 回存至来源 5-3-3...

    asp.net知识库

    在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息 使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和...

    基于asp.net的网上飞机售票系统(源码+数据库+报告+ppt).zip

    该系统主要包括以下几个模块:客机信息管理、航班信息管理、航空公司信息管理、用户信息管理、订票信息管理、留言信息管理及用户注册信息管理,具体内容如下: 1.客机信息管理 客机信息的输入、修改和查询,包括航班...

    asp.net缓存应用实例

    加入了天气预报、IP地址查询、手机号码归属地查询、邮编查询、身份证查询、北京公交查询、全国火车时刻表查询(除天气预报外均自带数据库,无须联外网),很好的运用的asp.net缓存技术

    毕业设计,基于三层模式Asp.Net+SqlServer开发的住哪儿酒店订购网站,内含Asp.Net完整源代码,数据库文件

    毕业设计,基于三层模式Asp.Net+SqlServer开发的住哪儿酒店订购网站,内含Asp.Net完整源代码,数据库文件 asp.net住哪儿html5网站设计毕业源码案例设计 开发技术:基于MVC思想和三层设计模式,前台采用bootstrap...

    毕业设计,基于三层模式Asp.Net+SqlServer开发的就业求职招聘网,内含Asp.Net完整源代码,数据库文件

    毕业设计,基于三层模式Asp.Net+SqlServer开发的就业求职招聘网,内含Asp.Net完整源代码,数据库文件 asp.net基于三层模式就业求职招聘网毕业源码案例设计 开发软件: Visual Studio 2010以上 数据库:sqlserver...

    asp.net宾馆信息管理系统毕业设计

    (4)订房信息管理:订房信息包括订房编号,顾客姓名,顾客身份证,房间编号,入住时间,是否已结算,结算日期,结算总金额,折扣优惠,优惠金额,实收金额等。 (5)用户管理:用户信息包括用户名,密码,身份;只有...

    基于asp.net+SQL住哪儿酒店订购网站源码+数据库+项目说明.zip

    1、基于asp.net+SQL住哪儿酒店订购网站源码+数据库+项目说明.zip 2、该资源包括项目的全部源码,下载可以直接使用! 3、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料...

    AJAX+asp识别身份证

    压缩包里面含有行政区划代码的access数据库,read.asp,index.htm,check.js,身份证格式的说明,行政区划代码的文本格式数据,以及一个asp.net的页面writedb.aspx,writedb.aspx是从文本中读数据写入access数据库的,由于...

    asp.net中的窗体身份验证(最简单篇)

    asp.net中内置了几种身份验证的方式,如Windows、Froms、Passport等。这几种身份验证的方式各有不同。一般来说,网站的身份验证方式都会经过以下几个步骤: 1、输入用户名和密码,单击确定按钮。 2、在后台判断...

    课程设计-基于ASP.NET的教室信息管理系统(源码+数据库+报告).zip

    每个学院下设多种专业,如计算机科学与技术学院下设三个专业:应用软件专业、嵌入式系统专业、信息安全专业;每个专业配有若干教师,每个教师的职称可能会有所不同。同时,教师可以开设若干门课程,一门课程可以由多...

    双鱼林asp.net教务选课成绩管理系统 1.0.rar

    开发语言:asp.net 学院信息:学院编号,学院名称,成立日期,院长姓名,联系电话,附加信息 专业信息:专业编号,专业名称,所在学院,成立日期,联系人,联系电话,附加信息 班级信息:班级编号,班级名称,...

    基于asp.net开发的住哪儿html5网站毕业源码+数据库.zip

    基于asp.net开发的住哪儿html5网站毕业源码+数据库 ## 开发技术:基于MVC思想和三层设计模式,前台采用bootstrap响应式框架,后台div+css ## 开发软件: Visual Studio 2010以上 数据库:sqlserver2005以上 (1)登陆...

    asp.net住哪儿html5网站+源代码+文档说明+数据库.zip

    asp.net住哪儿html5网站设计毕业源码案例设计 开发技术:基于MVC思想和三层设计模式,前台采用bootstrap响应式框架,后台div+css 开发软件: Visual Studio 2010以上 数据库:sqlserver2005以上 (1)登陆:用户可以...

    asp.net基于三层模式就业求职招聘网站+sql数据库(毕设项目).zip

    根据职位性质、职位信息状态以及职位名称查询职位信息; (9)简历审核:企业管理员可以在线审核和筛选符合招聘条件的求职者,如果有遇到感兴趣的人才,可以对其发送站内通知,不合适的求职者则没有通知;根据当前...

    风越.net代码生成器 v3.5

    风越.net代码生成器 [FireCode Creator] 是一款采用.Net FrameWork2.0框架、基于多种数据库的程序代码生成软件,可快速建立数据信息的:添加、编辑、查看、列表、搜索功能。默认提供asp、aspx WEB程序、.net普通三层...

    风越.Net代码生成器 [FireCode Creator] V1.3 精简版

    《风越.Net代码生成器 [FireCode Creator]》是一款采用.Net FrameWork2.0框架、基于多种数据库的程序代码生成软件,可快速建立数据信息的:添加、编辑、查看、列表、搜索功能。默认提供asp、aspx两种代码框架及多个...

    25175报名管理系统(ASP.net2.0) v1.0.3 beta.rar

    3.系统空间占用 | 压缩数据库 | 备份数据库 | 恢复数据库 的增加 4.系统基本设定(网站名称,网站域名,网站介绍,Logo图标,初始帐号) 5.后台或前台录入学生档案时,最终需要进行审核,学生信息才能查看 6.框架的BUG...

Global site tag (gtag.js) - Google Analytics