收藏 分销(赏)

Web习题用户信息管理系统样本.doc

上传人:二*** 文档编号:4615492 上传时间:2024-10-07 格式:DOC 页数:52 大小:604KB 下载积分:5 金币
下载 相关 举报
Web习题用户信息管理系统样本.doc_第1页
第1页 / 共52页
本文档共52页,全文阅读请下载到手机保存,查看更方便
资源描述
WEB数据库技术与应用复习大纲及课后习题 P123 6.15 建立一种Access数据库DB1和数据表Student,它包括字段如下表所示: 字段名 数据类型 阐明 Stno 文本 学号 Stname 文本 姓名 Sex 文本 性别 Age 数字 年龄 Addr 文本 住址 E-mail 文本 电子邮件 输入5位学生模仿数据,运用Connection对象编写ASP程序来显示Student中内容。 解答: 建立数据库DB1和数据表Student: 点击“开始”,在子菜单中再点击“程序”,在下级菜单中点击“办公软件”,选取“Microsoft Access”打开,选取“空数据库”,选取好存储途径后命名为“DB1”。然后打开数据库,弹出如下对话框: 然后点击“设计”,弹出如下对话框: 输入各字段信息得到表如下所示: 然后关闭这个界面,另存为“student”表,而后向“student”表中输入数据,如下所示: 向数据库中添加信息,设计一种输入界面,用IE浏览器打开如下所示: 它代码如下所示: <html> <head><title>信息输入</title></head> <body> <form action="lx615_add.asp" method="post" > <table align="center"> <TR><center><H2> 输入学生信息</H2></center></TR> <TR> <TD>学号:</TD> <TD><INPUT type=text name="Stno" size=12></TD> </TR> <TR> <TD>姓名:</TD> <TD><INPUT type=text name="Stname" size=12></TD> </TR> <TR> <TD>性别:</TD> <TD><INPUT type=radio name="Sex" value="女"> 女 <INPUT type=radio name="Sex" value="男"> 男 </TD> </TR> <TR> <TD>年龄:</TD> <TD><INPUT type=text name="Age" size=6></TD> </TR> <TR> <TD>住址:</TD> <TD><INPUT type=text name="Addr" size=16></TD> </TR> <TR> <TD>E-mail:</TD> <TD><INPUT type=text name="Email" size=30></TD> </TR> <TR> <TD><INPUT type=submit name"insert" value="添加"></TD> <TD> <INPUT type=reset value="重置"> </TD> </TR> </table> </form> </body> </html> 向界面输入完信息之后,点击添加转入ASP解决程序: (1)“condb.asp”程序如下: <% set conn=server.CreateObject("adodb.connection") set urs=server.CreateObject("adodb.recordset") set ers=server.CreateObject("adodb.recordset") usqlstr="select * from user" esqlstr="select * from emp" connstr="driver={Microsoft Access Driver (*.mdb)};DBQ=" &Server.MapPath("zhgdb.mdb") '与参数顺序无关 conn.open connstr '将Recordset 输出成HTML “表格” Sub list(rs) ' Part I:输出数据库“表头” Response.Write "<CENTER><TABLE BORDER=1>" Response.Write "<TR BGCOLOR=#00FFFF>" For i=0 to rs.Fields.Count-1 Response.WRITE "<TD>" & rs.Fields(i).Name & "</TD>" Next Response.Write "</TR>" ' Part II:输出数据库“内容” While Not rs.EOF Response.Write "<TR>" For i=0 to rs.Fields.Count-1 Response.WRITE "<TD>" & rs.Fields(i).Value & "</TD>" Next Response.Write "</TR>" rs.MoveNext Wend Response.Write "</TABLE></CENTER>" End Sub %> (2)“lx615_add.asp”程序如下: <% stno=request.form("Stno") stname=request.form("Stname") sex=request.form("Sex") age=request.form("Age") addr=request.form("Addr") email=request.form("Email") set conn=server.CreateObject ("adodb.connection") set rs=server.CreateObject ("ADODB.Recordset") sqlstr="select * from student" connstr="driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db1.mdb") conn.open connstr rs.open sqlstr,conn,1,2 '要添加数据,把参数改成了1,2 rs.addnew '告诉rs,要添加一种空行 rs("stno")=stno rs("stname")=stname '给要添加行一种字段赋值 rs("sex")=sex rs("age")=age '同上 rs("Addr")=addr '同上 rs("E-mail")=email rs.update '告知rs,要把这个行写入数据库 response.Redirect("lx615.htm") '定向到信息输入界面 %> (3)“lx615_list.asp”程序如下: <% '将Recordset 输出成HTML “表格” Sub RsToTable( rs ) ' Part I:输出数据库“表头” Response.Write "<CENTER><TABLE BORDER=1>" Response.Write "<TR BGCOLOR=#00FFFF>" For i=0 to rs.Fields.Count-1 Response.WRITE "<TD>" & rs.Fields(i).Name & "</TD>" Next Response.Write "</TR>" ' Part II:输出数据库“内容” While Not rs.EOF Response.Write "<TR>" For i=0 to rs.Fields.Count-1 Response.WRITE "<TD>" & rs.Fields(i).Value & "</TD>" Next Response.Write "</TR>" rs.MoveNext Wend Response.Write "</TABLE></CENTER>" End Sub set conn=server.CreateObject ("adodb.connection") sqlstr="select * from student" connstr="driver={Microsoft Access Driver (*.mdb)};DBQ=" &Server.MapPath("db1.mdb") '与参数顺序无关 conn.open connstr set rs=conn.execute(sqlstr) if rs.eof and rs.bof then '如果数据指针同步指到记录集头部根尾部阐明记录集为空 response.write "没有可以显示数据" '打印“没有可以显示数据” end if RsToTable( rs ) %> <!-- for i=0 to rs.fields.count-1 '输出字段名 response.write rs(i).name+" " next response.write "<br>" '换行 do until rs.EOF '循环直到记录集尾部为止 response.write rs("stno")+" " '显示一种行第一种字段值 response.write rs("stname")+" " '同上 response.write rs("sex")+" " '同上 response.write rs("age") '同上 response.write " "+rs("addr")+" " '同上 response.write rs("E-mail")+" " '同上 response.write "<br>" '一种行打印完毕,换行 rs.MoveNext '将数据指针移到下一种行 loop --> <% '循环结束 rs.close set rs=nothing conn.close %> (4)“lx615.asp”(链接数据库)程序如下: <% set conn=server.CreateObject ("adodb.connection") sqlstr="select * from student" '1.使用ODBC驱动程序直接与数据库连接 '与Access数据库连接 connstr="driver={Microsoft Access Driver (*.mdb)};DBQ=" &Server.MapPath("studentdb.mdb") &";PWD=bbb" '与参数顺序无关 conn.open connstr '或者 'connstr="driver={Microsoft Access Driver (*.mdb)};DBQ=" &Server.MapPath("studentdb.mdb") '与参数顺序无关 'conn.open connstr,"aaa","bbb" '与SQL Server数据库连接 'connstr="driver={SQL Server};server=localhost;database=studentdb;UID=aaa;PWD=bbb" 'conn.open connstr '2.使用OLE DB驱动程序直接与数据库连接 '与Access数据库连接 'connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath("studentdb.mdb") &";Jet OLEDB:Database Password=bbb" '不能用PWD=bbb形式定义数据库密码 'conn.open connstr '与SQL Server数据库连接 'connstr="Provider=SQLOLEDB.1;Data Source=localhost;database=studentdb;UID=aaa;PWD=bbb" 'conn.open connstr '3.使用DSN与数据库连接 'ODBC数据源管理器”提供了三种DSN,分别为顾客DSN、系统DSN和文献DSN。 '其中,顾客DSN会把相应配备信息保存在Windows注册表中,但是只容许创立该DSN登录顾客使用。 '系统DSN同样将关于配备信息保存在系统注册表中,但是与顾客DSN不同是系统DSN容许所有登录服务器顾客使用。但必要使用账号和密码。 '与上述两种数据库DSN不同,文献DSN把详细配备信息保存在硬盘上某个详细文献中。 '文献DSN容许所有登录服务器顾客使用,并且虽然在没有任何顾客登录状况下,也可以提供对数据库DSN访问支持。 '此外,由于文献DSN被保存在硬盘文献里,因此可以以便地复制到其他机器中。这样,顾客可以不对系统注册表进行任何改动就可直接使用在其他机器上创立DSN。 '在以上三种数据库DSN中,建议顾客选取系统DSN或文献DSN,如果顾客更喜欢文献DSN可移植性,可以通过在NT系统下设定文献访问权限获得较高安全保障。 '使用顾客DSN连接数据库 'connstr="DSN=MyTb1;UID=aaa;PWD=bbb" 'conn.open connstr '使用系统DSN连接数据库 'connstr="DSN=MyTb;UID=aaa;PWD=bbb" 'conn.open connstr '使用文献DSN连接数据库 ' 如果显示"错误类型:Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D) '[Microsoft][ODBC SQL Server Driver][SQL Server]顾客 'sa' 登录失败。" ' 错误解决:一方面用ODBC数据源配备你DSN属性,选取sql server验证并输入顾客名和密码. ' 然后用文本编辑器打开你文献DSN,修改其中UID属性,并添加PWD=你密码,即可. 'connstr="FILEDSN=" &server.mappath("MyTb3.dsn") 'conn.open connstr 'conn.Open 'conn.open connstr 'set rs=server.CreateObject ("ADODB.Recordset") set rs=conn.execute(sqlstr) if rs.eof and rs.bof then '如果数据指针同步指到记录集头部根尾部阐明记录集为空 response.write "没有可以显示数据" '打印“没有可以显示数据” end if for i=0 to rs.fields.count-1 '输出字段名 response.write rs(i).name+" " next response.write "<br>" '换行 do until rs.EOF '循环直到记录集尾部为止 response.write rs("sno")+" " '显示一种行第一种字段值 response.write rs("sname")+" " '同上 response.write rs("sex")+" " '同上 response.write rs("age") '同上 response.write " "+rs("addr")+" " '同上 response.write rs("E-mail")+" " '同上 response.write "<br>" '一种行打印完毕,换行 rs.MoveNext '将数据指针移到下一种行 loop '循环结束 rs.close set rs=nothing conn.close %> 打开数据库DB1,显示如下界面: 输入密码:“bbb”,点击“拟定”,进入数据库,打开“student”表如下所示: 6.18 建立一种Access数据库DB2和数据表emp,它包括字段如下表所示: 字段名 数据类型 Ename 文本 Esex 文本 Eage 数字 Eaddr 文本 Etelno 文本 运用RecordSet组件编写ASP程序,通过表单输入四个职工模仿数据,并在浏览器上显示emp表中所有内容。 解答: 建立数据库DB1和数据表Student: 点击“开始”,在子菜单中再点击“程序”,在下级菜单中点击“办公软件”,选取“Microsoft Access”打开,选取“空数据库”,选取好存储途径后命名为“DB2”。然后打开数据库,弹出如下对话框: 然后点击“设计”,弹出如下对话框: 输入各字段信息得到表如下所示: 点击“关闭”,弹出对话框“另存为”,输入表名“emp”,点击“拟定”。 向数据库中添加信息,设计一种输入界面,用IE浏览器打开如下所示: 程序代码如下:<html> <head><title>信息输入</title></head> <body> <form action="lx618.asp" method="post" > <table align="center"> <TR><center><H2> 输入职工信息</H2></center></TR> <TR> <TD>姓名:</TD> <TD><INPUT type=text name="Ename" size=12></TD> </TR> <TR> <TD>性别:</TD> <TD><INPUT type=radio name="Esex" value="女"> 女 <INPUT type=radio name="Esex" value="男"> 男 </TD> </TR> <TR> <TD>年龄:</TD> <TD><INPUT type=text name="Eage" size=6></TD> </TR> <TR> <TD>住址:</TD> <TD><INPUT type=text name="EAddr" size=16></TD> </TR> <TR> <TD>电话:</TD> <TD><INPUT type=text name="Etelno" size=10></TD> </TR> <TR> <TD><INPUT type=submit name"insert" value="添加"></TD> <TD> <INPUT type=reset value="重置"> </TD> </TR> </table> </form> </body> </html> 输入完信息之后,点击“添加”,转到解决界面: <% ename=request.form("Ename") esex=request.form("Esex") eage=request.form("Eage") eaddr=request.form("EAddr") etelno=request.form("Etelno") set conn=server.CreateObject ("adodb.connection") set rs=server.CreateObject ("ADODB.Recordset") sqlstr="select * from emp" connstr="driver={Microsoft Access Driver (*.mdb)};DBQ=" &Server.MapPath("db2.mdb") conn.open connstr rs.open sqlstr,conn,1,2 '要添加数据,把参数改成了1,2 rs.addnew '告诉rs,要添加一种空行 rs("Ename")=ename '给要添加行一种字段赋值 rs("Esex")=esex rs("Eage")=eage '同上 rs("EAddr")=eaddr '同上 rs("Etelno")=etelno rs.update '告知rs,要把这个行写入数据库 response.Redirect("lx618.html") '定向到信息输入界面 %> 添加完后,打开数据库“DB2”,再打开“emp”表,如下所示: 6.21 综合题 编写一种小型人事档案管理系统,使其功能具备: (1)职工注册功能 (2)增长或减少一种职工记录 (3)修改职工记录 (4)查询(条件查询)职工记录 (5)退出系统功能 解答: (1)打开IE浏览器,在地址栏中输入“http://localhost/”+子站点+“lx621_enter.html”进入登陆界面。 程序如下: <HTML> <HEAD><TITLE>顾客登录</TITLE></HEAD> <BODY> <FORM action="lx621_checklogin.asp" method="post" > <TABLE align=center> <TR> <CENTER> <H2>输入登录信息</H2></CENTER> </TR> <TR> <TD>顾客名:</TD> <TD><INPUT type=text size=12 name="uname" value=""></TD> </TR> <TR> <TD>密码:</TD> <TD><INPUT type=password size=12 name="password" value=""> </TD> </TR> <TR> <TD><INPUT type=submit value=登录 name="login"></TD> <TD> <INPUT type=submit value=注册 name="login"> <INPUT type=reset value=重置> </TD> </TR> </TABLE> </FORM> </BODY> </HTML> 进入输入登录信息界面后,输入对的顾客名和密码,按“登录”进入主界面,如果没有注册,按注册按纽进入“职工注册界面”。 登录界面如下图所示: 输入顾客名和密码,按“登录”,转到“lx621_checklogin.asp”解决。 “lx621_checklogin.asp”程序如下: <!-- #include file=conndb.asp --> <% dim name,pwd,login,flag name=request.form("uname")/*取表单相应值送给变量*/ pwd=request.form("password") login=request.form("login") urs.open usqlstr,conn,1,1/*只读取数据设立1,1;添加数据设立1,2;改写数据2,3*/ if login="登录" then session("count")=session("count")+1 do while not urs.eof if name=urs("uname") then if pwd=urs("password") then flag=1 '登录成功标志 exit do else flag=0 exit do end if else urs.MoveNext end if loop end if if session("count")<=3 then if urs.eof then response.write "<center> 顾客名错误,请重新登录!<a href=lx621_enter.html>返回 </a></center>" end if if flag then response.redirect "lx621_main.html" else response.write "<center> 密码错误,请重新登录! <a href=lx621_enter.html>返回 </a></center>" end if else response.write "<center><font color=red> 非法顾客,无权使用本系统!</font></center>" end if if login="注册" then response.redirect "lx621_login.html" end if %> (2)登录“人事档案管理系统”(“lx621_main.html”)面 程序如下: <html> <head><title>人事档案管理系统</title></head> <body> <br> <h1><center>人事档案管理系统</center></h1> <hr size=2 width=65%> <p><center> <a href=lx621_login.html target=_blank >职工注册</a>&nbsp;&nbsp; <a href=lx621_add.html target=_blank >添加一条职工记录</a>&nbsp;&nbsp; <a href=lx621_delete.asp target=_blank >删除职工记录</a>&nbsp;&nbsp;</p> <p> <a href=lx621_update.asp target=_blank >修改职工信息</a>&nbsp;&nbsp; <a href=lx621_select.asp target=_blank >查询职工信息</a>&nbsp;&nbsp; <a href=lx621_list.asp target=_blank >显示职工信息</a>&nbsp;&nbsp; <a href="lx621_exit.html" onclick="javascript:location.replace(this.href); event.returnValue=false;" >退出系统</a> </center> </p> </body> </html> (3)在“人事档案管理系统”界面中,点击“职工注册”,转入“职工注册”(“lx621_login.html”)界面 a. “lx621_login.html”,向界面中输入职工信息 程序如下: <HTML> <HEAD><TITLE>职工注册</TITLE> </HEAD> <BODY> <FORM action="lx621_login.asp" method="post"> <TABLE align=center> <TR> <CENTER> <H2>输入注册信息</H2></CENTER> </TR> <TR> <TD>职工号</TD> <TD><INPUT type="text" size=12 name="eno" value=""> *必要填写</TD> </TR> <TR> <TD>顾客名</TD> <TD><INPUT type="text" size=12 name="uname" value=""> *必要填写</TD> </TR> <TR> <TD>密码</TD> <TD><INPUT type="password" size=12 name="password" > </TD> </TR> <TR> <TD><INPUT type="submit" name="MyLogin" value="提交"></TD> <TD><INPUT type="reset" value="重置"></TD> </TR> </TABLE> </SCRIPT> </FORM> </BODY> </HTML> b.当信息输入完毕,按“提交”按钮转入“lx621_login.asp”界面进行解决。 程序如下: <!-- #include file=conndb.asp --> <% sub eno_check_ers(num) do while not ers.eof if num<>ers("eno") then ers.MoveNext else exit do end if loop end sub sub eno_check_urs(num) urs.MoveFirst do while not urs.eof if num<>urs("eno") then urs.MoveNext else exit do end if loop end sub sub uname_check(name) if name="" then response.write "<script language=javascript>alert('顾客名不能为空,请重新输入!')</script>" response.write "<center><a href=lx621_login.html>返回</a></enter>" else urs.MoveFirst do while not urs.eof if name<>urs("uname") then urs.MoveNext else exit do end if loop if not urs.EOF then response.write "<script language=javascript>alert('顾客名已经存在,请重新输入!')</script>" response.write "<center><a href=lx621_login.html>返回</a></enter>" end if end if end sub dim eno,uname,pwd eno=request.form("eno") uname=request.form("uname") pwd=request.form("password") urs.open usqlstr,conn,1,2/*只读取数据设立1,1;添加数据设立1,2;改写数据2,3*/ ers.open esqlstr,conn,1,1 eno_check_ers eno if ers.EOF then response.write "<script language=javascript>alert('职工号为空或非本单位职工,请重新输入!')</script>" response.write "<center><a href=lx621_login.html>返回</a></enter>" else eno_check_urs eno if not urs.EOF then response.write "<script language=javascript>alert('本职工已经注册,请重新输入!')</script>" response.write "<center><a href=lx621_login.html>返回</a></enter>" else uname_check uname end if end if if not ers.EOF and urs.EOF then urs.addnew /*告诉urs,要添加一种空行*/ urs("eno")=eno /*给要添加行一种字段赋值*/ urs("uname")=uname urs("password")=pwd /*同上*/ urs("logindate")=date /*同上*/ urs.update response.write "<script language=javascript>alert('恭喜你,注册成功,请登录系统!')</script>" response.write "<center><a href=lx621_enter.html>返回</a></center>" end if 'ers.close 'set ers=nothing %> (4)在“人事档案管理系统”中,点击“添加一条职工记录”转到“输入职工信息”(“lx621_add.html”)界面 a.在“输入职工信息”界面输入职工信息 程序如下: <html> <head><title>添加职工信息</title></head> <body> <br> <form action="lx621_add.asp" method="post" > <table align="center">
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服