Web习题_用户信息管理系统_第1页
Web习题_用户信息管理系统_第2页
Web习题_用户信息管理系统_第3页
Web习题_用户信息管理系统_第4页
Web习题_用户信息管理系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

WEB数据库技术与应用复习大纲及课后习题P1236.15 建立一个Access数据库DB1和数据表Student,它包含的字段如下表所示:字段名数据类型说明Stno文本学号Stname文本姓名Sex文本性别Age数字年龄Addr文本住址E-mail文本电子邮件输入5位学生的模拟数据,利用Connection对象编写ASP程序来显示Student中的内容。解答:建立数据库DB1和数据表Student:点击“开始”,在子菜单中再点击“程序”,在下级菜单中点击“办公软件”,选择“Microsoft Access”打开,选择“空数据库”,选择好存放的路径后命名为“DB1”。然后打开数据库,弹出如下对话框:然后点击“设计”,弹出如下对话框:输入各字段的信息得到表如下所示:然后关闭这个界面,另存为“student”表,而后向“student”表中输入数据,如下所示:向数据库中添加信息,设计一个输入界面,用IE浏览器打开如下所示:它的代码如下所示:信息输入 输入学生信息 学号: 姓名: 性别: 女 男 年龄: 住址: E-mail: 向界面输入完信息之后,点击添加转入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 useresqlstr=select * from empconnstr=driver=Microsoft Access Driver (*.mdb);DBQ= &Server.MapPath(zhgdb.mdb) 与参数的顺序无关conn.open connstr将Recordset 输出成HTML 的“表格” Sub list(rs) Part I:输出数据库的“表头” Response.Write Response.Write For i=0 to rs.Fields.Count-1 Response.WRITE & rs.Fields(i).Name & Next Response.Write Part II:输出数据库的“内容” While Not rs.EOF Response.Write For i=0 to rs.Fields.Count-1 Response.WRITE & rs.Fields(i).Value & Next Response.Write rs.MoveNext Wend Response.Write End Sub%(2)“lx615_add.asp”程序如下:(3)“lx615_list.asp”程序如下:% 将Recordset 输出成HTML 的“表格” Sub RsToTable( rs ) Part I:输出数据库的“表头” Response.Write Response.Write For i=0 to rs.Fields.Count-1 Response.WRITE & rs.Fields(i).Name & Next Response.Write Part II:输出数据库的“内容” While Not rs.EOF Response.Write For i=0 to rs.Fields.Count-1 Response.WRITE & rs.Fields(i).Value & Next Response.Write rs.MoveNext Wend Response.Write End Subset conn=server.CreateObject (adodb.connection) sqlstr=select * from studentconnstr=driver=Microsoft Access Driver (*.mdb);DBQ= &Server.MapPath(db1.mdb) 与参数的顺序无关conn.open connstrset rs=conn.execute(sqlstr) if rs.eof and rs.bof then 如果数据指针同时指到记录集的头部根尾部说明记录集为空 response.write 没有可以显示的数据 打印“没有可以显示的数据” end ifRsToTable( rs )%!-for i=0 to rs.fields.count-1 输出字段名 response.write rs(i).name+ next response.write 换行 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 一个行打印完毕,换行 rs.MoveNext 将数据指针移到下一个行 loop -(4)“lx615.asp”(链接数据库)程序如下:% set conn=server.CreateObject (adodb.connection) sqlstr=select * from student1.使用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=bbbconn.open connstr2.使用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=bbbconn.open connstr3.使用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)MicrosoftODBC SQL Server DriverSQL Server用户 sa 登录失败。 错误处理:首先用ODBC数据源配置你的DSN的属性,选择sql server验证并输入用户名和密码. 然后用文本编辑器打开你的文件DSN,修改其中的UID属性,并添加PWD=你的密码,即可.connstr=FILEDSN= &server.mappath(MyTb3.dsn) conn.open connstrconn.Open conn.open connstrset rs=server.CreateObject (ADODB.Recordset) set rs=conn.execute(sqlstr) if rs.eof and rs.bof then 如果数据指针同时指到记录集的头部根尾部说明记录集为空 response.write 没有可以显示的数据 打印“没有可以显示的数据” end iffor i=0 to rs.fields.count-1 输出字段名 response.write rs(i).name+ next response.write 换行 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 一个行打印完毕,换行 rs.MoveNext 将数据指针移到下一个行 loop 循环结束 rs.closeset rs=nothingconn.close%打开数据库DB1,显示如下界面:输入密码:“bbb”,点击“确定”,进入数据库,打开“student”表如下所示:6.18 建立一个Access数据库DB2和数据表emp,它包含的字段如下表所示:字段名数据类型Ename文本Esex文本Eage数字Eaddr文本Etelno文本利用RecordSet组件编写ASP程序,通过表单输入四个职工的模拟数据,并在浏览器上显示emp表中的全部内容。解答:建立数据库DB1和数据表Student:点击“开始”,在子菜单中再点击“程序”,在下级菜单中点击“办公软件”,选择“Microsoft Access”打开,选择“空数据库”,选择好存放的路径后命名为“DB2”。然后打开数据库,弹出如下对话框:然后点击“设计”,弹出如下对话框:输入各字段的信息得到表如下所示:点击“关闭”,弹出对话框“另存为”,输入表名“emp”,点击“确定”。向数据库中添加信息,设计一个输入界面,用IE浏览器打开如下所示:程序代码如下:信息输入 输入职工信息 姓名: 性别: 女 男 年龄: 住址: 电话: 输入完信息之后,点击“添加”,转到处理界面:添加完后,打开数据库“DB2”,再打开“emp”表,如下所示:6.21 综合题编写一个小型人事档案管理系统,使其功能具有:(1)职工注册功能(2)增加或减少一个职工记录(3)修改职工记录(4)查询(条件查询)职工记录(5)退出系统功能解答:(1)打开IE浏览器,在地址栏中输入“http:/localhost/”子站点“lx621_enter.html”进入登陆界面。程序如下:用户登录 输入登录信息 用户名: 密码: 进入输入登录信息界面后,输入正确的用户名和密码,按“登录”进入主界面,如果没有注册,按注册按纽进入“职工注册界面”。登录界面如下图所示:输入用户名和密码,按“登录”,转到“lx621_checklogin.asp”处理。“lx621_checklogin.asp”程序如下:%dim name,pwd,login,flagname=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 loopend ifif session(count)=3 then if urs.eof then response.write 用户名错误,请重新登录!返回 end if if flag then response.redirect lx621_main.html else response.write 密码错误,请重新登录! 返回 end ifelse response.write 非法用户,无权使用本系统!end ifif login=注册 then response.redirect lx621_login.htmlend if%(2)登录“人事档案管理系统”(“lx621_main.html”)面程序如下:人事档案管理系统人事档案管理系统职工注册  添加一条职工记录  删除职工记录  修改职工信息  查询职工信息  显示职工信息  退出系统(3)在“人事档案管理系统”界面中,点击“职工注册”,转入“职工注册”(“lx621_login.html”)界面a. “lx621_login.html”,向界面中输入职工信息程序如下:职工注册 输入注册信息 职工号 *必须填写 用户名 *必须填写 密码 b.当信息输入完毕,按“提交”按钮转入“lx621_login.asp”界面进行处理。程序如下:%sub eno_check_ers(num) do while not ers.eof if numers(eno) then ers.MoveNext else exit do end if loopend subsub eno_check_urs(num) urs.MoveFirst do while not urs.eof if numurs(eno) then urs.MoveNext else exit do end if loopend subsub uname_check(name) if name= then response.write alert(用户名不能为空,请重新输入!) response.write 返回 else urs.MoveFirst do while not urs.eof if nameurs(uname) then urs.MoveNext else exit do end if loop if not urs.EOF then response.write alert(用户名已经存在,请重新输入!) response.write 返回 end if end ifend subdim eno,uname,pwdeno=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,1eno_check_ers enoif ers.EOF then response.write alert(职工号为空或非本单位职工,请重新输入!) response.write 返回 else eno_check_urs eno if not urs.EOF then response.write alert(本职工已经注册,请重新输入!) response.write 返回 else uname_check uname end ifend ifif 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 alert(恭喜你,注册成功,请登录系统!) response.write 返回 end ifers.closeset ers=nothing%(4)在“人事档案管理系统”中,点击“添加一条职工记录”转到“输入职工信息”(“lx621_add.html”)界面a.在“输入职工信息”界面输入职工信息程序如下:添加职工信息 输入职工信息 职工号: 姓名: 性别: 女 男 年龄: 住址: 电话: b.职工信息输入完后,点击“添加”按纽,页面转到“lx621_add.asp”界面处理。% dim eno,ename,esex,eage,eaddr,etelnoeno=request.form(eno)ename=request.form(ename)esex=request.form(esex)eage=request.form(eage)eaddr=request.form(eaddr)etelno=request.form(etelno)ers.open esqlstr,conn,1,2 /*要添加数据,把参数改成了1,2 */do while not ers.eof if eno=ers(eno) then exit do else ers.MoveNext end ifloopif ers.eof then ers.addnew /*告诉ers, 要添加一个空行*/ ers(eno)=eno ers(ename)=ename /*给要添加的行的一个字段赋值*/ ers(esex)=esex ers(eage)=cint(eage) /*同上*/ ers(eaddr)=eaddr /*同上*/ ers(etelno)=etelno ers.update /*通知ers,要把这个行写入数据库 */ response.write alert(本职工信息添加成功,请继续输入!) response.write 返回 else response.write alert(本职工信息已存在,请重新输入!) response.write 返回 end if %(5)在“人事档案管理系统”界面中,点击“删除职工记录”转到“lx621_delete.asp”界面。a. “lx621_delete.asp”程序如下:界面如下:b.处理界面:“lx621_deleteb.asp”程序如下:删除职工记录删除职工记录%MyString=Request.QueryString(method)select case MyString case MoveFirst if session(ers).bof and session(ers).eof then response.write alert(空表,无法操作!) session(ers).close set session(ers)=nothing response.end else session(ers).MoveFirst session(recn)=1 end if case MovePrevious if session(ers).bof and session(ers).eof then response.write alert(空表,无法操作!) session(ers).close set session(ers)=nothing response.end else session(ers).MovePrevious session(recn)=session(recn)-1 if session(ers).bof then session(ers).MoveNext session(recn)=session(recn)+1 end if end if case MoveNext if session(ers).bof and session(ers).eof then response.write alert(空表,无法操作!) session(ers).close set session(ers)=nothing response.end else if no

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论