asp动态网页设计图书管理系统.docx
- 文档编号:9045291
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:25
- 大小:240.10KB
asp动态网页设计图书管理系统.docx
《asp动态网页设计图书管理系统.docx》由会员分享,可在线阅读,更多相关《asp动态网页设计图书管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
asp动态网页设计图书管理系统
武汉工业学院
《网络程序设计—asp》
课程设计
设计题目:
图书管理系统
*****
学号:
0912******
班级:
计算机科学
指导老师:
王凯老师
设计时间:
2011-12-26—2011-12-31
武汉工业学院数学与计算机学院
二、需求分析
一、提目说明
图书管理系统系统主要用于图书管理员和学生,任务是通过建立图书管理系统,完善图书录入、图书借阅以及读者信息的管理,通过查询可立即定位该读者的相应的信息,可以对图书进行查询、增加、修改,读者可以预约已借图书,针对这些问题设计此系统。
本系统中,把图书馆的图书管理、读者管理、图书借阅管理等日常管理工作实行计算机统一管理,以提高工作效率和管理水平。
这些管理包括:
图书基本信息的管理,包括增加、修改、查询、预约管理;读者基本信息的管理,包括增加、修改、查询管理;图书租借的管理,包括增加、查询、统计管理;统管理,主要是增加用户、维护用户信息和退出系统,这样很大程度上方便了读者查阅书籍和预订到户籍,也方便了图书管理员的工作,可以直接在电脑上对图书进行存档录入,也方便整理查找修改。
在这次的课程设计中基本涉及到了所有asp与数据库概论中学到的基本知识,从静态网页的美化确定及数据库的设计与相关功能的完成,但还是存在着很大的缺点,有几处功能还是不能完成。
我做的这个图书管理系统就是仿照学校图书馆管理系统的雏形设计出来的一个简单版的图书管理系统,限于时间的原因,有些功能还没有完全实现,希望在以后的学习与进步中,不断地完善修改,最终能够拿出来一个出色地管理系统。
二、需求分析
图书管理系统的数据库功能主要体现在用户和系统两个方面。
用户的需求主要体现在对各种信息的浏览、查询、保存和更新操作上;系统的需求体现在各个系统功能对数据库提供的各种信息的处理上。
针对数据库的特点,需求分析总结如下:
1、用户部分功能
◎用户注册(读者)
◎用户登录
·读者
进入图书管理页面,可以进行查询,预订,阅读等功能
·游客
只能进入到最基本的图书管理页面,可已经行查询,但不能预订图书,如果想进行操作就得先注册,再登录,成为读者后才可以进行相关的操作
◎图书的检索和分类浏览
◎图书的预订与取消
2、管理部分功能
◎管理员
图书管理(增加图书、修改图书信息、删除图书)
用户管理(删除用户、查找用户、浏览用户信息)
系统主页(进入图书管理主页,进行信息查询采集)
◎系统管理
查看修改系统消息
对读者进行预订的书如果超期的进行取消
3、系统部分功能
◎通过判断用户的相关操作,而产生一些基本的简单的系统消息,用来提示用户不合法的操作,方便用户进行后面的操作,起一个提示警告的作用
三、数据库概念结构设计
将各个功能模块之间的功能用实体-关系图表示
实体型:
用矩形表示,矩形内写明实体名。
属性:
用椭圆表示,并用无向边将其与相应的实体连接起来。
联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,那么本系统的E-R图如下:
1、实体间的总体关系图
2、用户信息实体图
3、图书信息实体图
4.借阅信息
四、数据库逻辑结构设计
数据库概念结构设计完毕就可以转化为实际的数据模型,运用access数据库设
计数据库,命名为Liberary.mdb,在数据库里面进行建表,在已经完成了的项目
中总共用到了三张表:
bookInfo,userInfo,manager。
数据项和数据结构如下:
图书信息表:
图书编号,图书名称,图书作者,出版社,图书类型,图书中有无
CD,图书数量,图书简介。
用户信息表:
用户编号,用户名,用户密码,确认密码,密保问题,密保答案,
用户爱好,用户职业,用户文化程度。
管理员信息表:
管理员名字,管理员密码,在设计的时候,默认管理员只有一个
人。
表中字段及设计说
明:
bookInfor图书表记录了图书基本信息,其中bookID设为主键
bookID
自动编号
图书编号
bookName
文本
图书名称
bookAuthor
文本
作者
bookPublish
文本
出版社
bookType
文本
类型
bookCD
文本
有无光碟
bookCount
数字
藏书量
bookIntro
备注
图书简介
userInfor用户信息记录用户注册时填写的信息,其中userID设为主键
userID
自动编号
用户编号
userName
文本
注册名
userPass
文本
密码
userPass2
文本
确认密码
userQuestion
文本
密保问题
useAnswer
文本
密保答案
userLove
文本
爱好
userJob
文本
职业
userEdu
文本
文化程度
Manager管理员表记录管理员的账号和密码,在设置的时候,就只在数据库的
表中添加了一个管理员的信息,账号为admin,密码也为admin
mID
自动编号
管理员编号
mName
文本
用户名
mPass
文本
密码
五、数据库的连接
在整个管理系统中,多处都要用到数据库,插入,删除,修改等,如果每次都在页面中进行连接,很麻烦,所以,专门写一个连接数据库的文件conn.asp,每次要连接数据库的时候就用
--#includefile=”conn.asp”-->命令就可以直接调用该程序,连接数据库,提高程序的可读性,同时也提高了程序的便捷性,为了便于测试,暂时不加关闭数据库的代码,具体代码如下:
<%
Dimdb
Setdb=server.CreateObject("adodb.connection")
‘创建一个数据库连接对象db,方便以后调用
db.open"dbq="&server.mappath("data\Library.mdb")&";driver={microsoftaccessdriver(*.mdb)}"
%>
六、主要界面及相关代码分析
登陆界面:
Login.asp//用来进行登录验证的,因为后台管理功能只有管理员才有权限使用,所以在进入这些页面之前,需要判断他的权限
--#includefile="conn.asp"-->
<%user=request.Form("user")pass=request.Form("pass")role=request.Form("role")
session("user")=usersession("role")=roleIfrole="读者"Then
Ifuser<>""Andpass<>""Then
session("user")=user
Dimsql,rs
sql1="select*fromuserInfowhereuserName='"&user&"'"
Setrs=db.execute(sql1)
Ifrs.eofAndrs.bofThen
%>
<%ElseDimsql2,rs2
sql2="selectuserPassfromuserInfowhereuserName='"&user&"'"
Setrs2=db.execute(sql2)
Ifpass<>rs2(0)Then
%>
");history.back();
<%Elseresponse.redirect"main.asp?
str=欢迎访问"EndIfEndIfElse%>
<%EndIf
ElseIfrole="管理员"Then
Ifuser<>""Andpass<>""Then
session("user")=user
sql1="select*frommanagerwheremName='"&user&"'"
Setrs=db.execute(sql1)
Ifrs.eofAndrs.bofThen%>
")
;history.back();
<%Elsesql2="selectmPassfrommanagerwheremName='"&user&"'"Setrs2=db.execute(sql2)
Ifpass<>rs2(0)Then%>
");history.back();
<%Elseresponse.redirect"manager.asp"EndIfEndIfElse%>
<%EndIfElseresponse.redirect"main.asp"EndIf%>
部分验证效果:
Mylibrary.asp主要是用户登录的表单,用户有三个权限:
管理员、读者和游客,通过radio传过来的值,在服务器端进行判断,再对应相应的错误弹出相应的报错窗口,再有histroy.back()返回报错的窗口,例如,选择登陆的权限是管理员,因为在最开始的时候只设定了一个管理员,并且账号和密码都是固定的,所以,就先对应的在manager表中查找看从表单传过来的值是否与表中的用户名相等,如果相等,再查找从表单传过来的密码是否与库文件中的密码相等,相等则登录成功,不相等弹出密码错误的提示框,如果刚开始的时候在库文件中找不到和表单中提交过来相等的用户名,则说明该用户名是不存在的,则会弹出要求先进行注册的窗口。
如果在选择权限的时候选择的是游客,不需要注册,随便的一个用户名都可以进入图书管理系统的主页面,在这个页面里只可以进行查找书籍和浏览书籍,但不能进行预订和借阅。
如果没有注册的话,要进行相关的操作的话就必须进行注册,再用读者的身份登录,下面为注册的相关代码:
--#includefile="conn.asp"-->//因为进行注册的时候要对用户名进行验证,验证用户名在数据库是否存在,如果存在就进行下面的注册内容,否则将不能继续注册,要改变用户名,再进行注册。
所以要用到数据库,用此命令进行数据库的连接
Subusername_onblurmsg=""
ifform1.username.value=""thenmsg="用户名不能为空!
"
form1.username.focusalert(msg)
elseiflen(form1.username.value)<0orlen(form1.username.value)>7then
msg="用户名长度必须在1~6之间!
"form1.username.focus
alert(msg)
endif
EndSub
Subuserpass_onblurmsg=""
Ifform1.userpass.value=""Thenmsg="密码不能为空!
"
form1.userpass.focusalert(msg)
ElseIflen(form1.userpass.value)<4orlen(form1.userpass.value)>10Then
msg="密码长度必须在4~10之间!
"form1.userpass.focusalert(msg)
endif
EndSub
Subuserpass1_onblurmsg=""
Ifform1.userpass.value<>form1.userpass1.valueThenmsg="两次密码不一致!
"
form1.userpass1.focusalert(msg)
endif
Endsub
‘下面的表单是注册的时候所要填写的内容
">我的电话号码是多少? ">我高中班主任是谁? ">外号是什么?
下面这个页面是处理从表单里传过来的内容的,进行用户的注册,相当于是往数据库中添加内容,再添加的时候,还要判断,用户的用户名是不是存在于数据库中,如果用户名已经存在的就不能用这个用户名进行注册,如果不存在,注册成功后,就会跳到登陆页面,进行登录,验证
--#includefile="conn.asp"-->
<%user=request.Form("username")
Ifuser<>""Then
str1="select*fromuserInfowhereuserName='"&user&"'"
Setrs=db.execute(str1)
Ifrs.eofAndrs.bofThen
%><%pass=request.Form("userpass")pass1=request.Form("userpass1")
question=request.Form("userquestion")answer=request.Form("useranswer")
love=request.Form("userlove")job=request.Form("userjob")
edu=request.form("useredu")
Ifuser<>""Andpass<>""Andpass1<>""Then
str="insertintoserInfo(userName,userPass,userPass2,userQuestion,useAnswer,userLove,userJob,userEdu)values('"&user&"','"&pass&"','"&pass1&"','"&question&"','"&answer&"','"&love&"','"&job&"','"&edu&"')"
db.execute(str)response.redirect"myliberary.asp?
str=请登录吧O(∩_∩)O~!
"
EndIf
Else%>
alert("此用户名已存在,请重新注册");
window.location.href="regiestr_form.asp"
<%EndIfEndif%>
Mbook.asp//分页、增加、删除和修改功能
这个页面是以管理员的身份登录进去以后,通过超链接,就可以对图书和用户进行管理(查看,添加,删除,修改)了,并对查看到的记录进行分页显示,通过按钮控制页数,核心代码如下:
--#includefile="conn.asp"-->
#form{
position:
absolute;
top:
10%;
left:
10%;}
<%
Dimcn,rs,sql
sql="select*frombookInfo"
Setrs=server.CreateObject("adodb.recordset")
rs.opensql,db,3
rs.pagesize=5'pagesize指定每页显示的条数
pagecnt=rs.pagecount
page=clng(page)
pagemove=request("pagemove")
Ifpagemove="第一页"Then
page=1
EndIf
Ifpagemove="上一页"Then
page=page-1
EndIf
Ifpagemove="下一页"Then
page=page+1
EndIf
Ifpagemove="最后一页"Then
page=pagecnt
EndIf
Ifpage<1Thenpage=1
Ifpage>pagecntThenpage=pagecnt
%>
<%
rs.absolutepage=page
Fori=1Tors.pagesize
%>
id=<%=rs(0)%>"><%=rs (1)%> (2)%> id=<%=rs(0)%>">删除  id=<%=rs(0)%>">修改
<%
rs.movenext
Ifrs.eofThenExitFor
Next
%>
window.location='book_add.asp'">
<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- asp 动态 网页 设计 图书 管理 系统