图书借阅管理系统.doc_第1页
图书借阅管理系统.doc_第2页
图书借阅管理系统.doc_第3页
图书借阅管理系统.doc_第4页
图书借阅管理系统.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

图书借阅管理系统 班级:医软(1)班 姓名:李峰 学号:12714015 目目 录录 摘要 第一章 开发工具的选择 1.1 前台开发工具 1.2 后台开发工具 1.3 数据库的选择 1.4 数据库的链接 第二章 图书借阅系统的开发与设计 2.1 系统开发思想 2.2 需求分析 2.3 系统功能模块划分 2.4 系统数据库设计 2.5 系统界面风格设计 第三章 图书借阅管理系统的具体实现 3.1 借书、还书处理功能的实现 3.1.1 借书功能的具体实现 3.1.2 还书功能的具体实现 3.2 异常处理 3.2.1 遗失书籍处理的具体实现 3.2.2 读者证挂失处理的具体实现 3.3 系统维护模块的具体实现 3.3.1 数据备份与恢复的具体实现 3.3.2 管理员口令维护的具体实现 3.4 系统中报表的实现 第四章 系统运行情况 4.1 借书、还书运行情况 4.2 遗失书籍处理的运行情况 4.3 挂失读者证处理的运行情况 4.4 登录界面的运行情况 4.5 管理员信息修改 4.6 数据库备份与恢复的运行情况 第五章 结论 摘要 随着现代企业的发展,对于提高企业内部人员的综合素质,丰富员工的精 神生活,已成为各先进企业的重要内容之一,而图书馆也越来越多的在一些大 中型企业出现。因此,属于企业内部的图书管理系统也就成为了其办公网络化 的一个必不可少的部分。 本系统是针对大中型公司(企业)的图书管理而设计的一个基于 Web 的图书 管理系统,以实现对图书信息的在线管理、及时更新、快速检索、资料搜集,并 提供读者论坛以方便信息交流。其开发主要包括图书馆网站和图书借阅管理系 统两大部分:图书馆网站的开发主要涉及图书馆的介绍、读者服务、信息检索 及资料下载,并且提供方便的后台管理;图书借阅管理系统主要涉及图书信息 与读者信息的管理、借书还书的处理、挂失异常处理、数据备份恢复和权限控 制等。 在本系统中,我们使用 MICROSOFT 公司的 FrontPage 开发工具, 在 Windows7、IIS、Microsoft SQL Server 2000 平台下通过 ASP 和 VB script 脚本 语言来实现。具体实现过程主要涉及到 ASP 程序的设计、MS SQL Server 数据 库的操作、网页界面的设计、文件的读写、文件的上传下载、水晶报表等技术。 第一章 开发工具的选择 1.1 前台开发工具 随着互联网的发展,网站技术也成为了一门重要且热门的技术,而网页是 整个网站的组成元素,是用 HTML 语言来表示的。HTML 代码编辑工具很多,由 最简单的记事本、写字板,到现在出现的许多功能强大的网页编辑工具 FrontPage、Dreamweaver、HomeSite 等。记事本、写字板相对于编辑 HTML 代 码来说是最原用它作为开发工具是极不理想的选择。而目前最流行并被广泛使 用的工具就是 FrontPage 和 Dreamweaver。本系统的开发采用的是 FrontPage。 FrontPage 是 Microsoft 公司开发的一种用于创建网页、组织和管理 WEB 站点的网页设计软件。它由许多不同的元素组成。FrontPage 的网页视图提供 给了一种简单、实用的工具,用于 Web 网页的编辑和格式化。其他视图提供了 用于管理 Web 站点中文件集合的复杂工具。另外,FrontPage 带有内置的工具 可产生动画(移动的图形) 、交互性(对象代表访问者的动作)甚至在线数据收 集和数据管理。简而言之,它是一种所见即所得、简单实用、功能强大的网页 编辑工具。 1.2 后台开发工具 在这个系统的后台部分我们选择ASP作为后台开发工具。尽管当前的后台开 发工具有很多,像还有JSP,PHP等,但是根据现阶段的我们开发系统的实际情况, 相对其他工具而言,我们对于ASP更为熟悉,而且,利用ASP完全可以实现系统 设计的各项需要。 Wsb服务器是Web应用程序的心脏。IIS(Internet Information Server)作 为WindowsNT的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上 最 受关注的Web服务器之一。新推出的IIS4.0版本增强了系统安全性,具有服 务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全 面支持ASP等强大功能。 此外,在过去,客户机/服务器结构的设计与 Web 的相关技术几乎处于平行线上, 两者相互独立并无法作出集成性的设计。现在我们利用 IIS+ASP 构成三层式 Web 结构(如图 2.1 所示)的中间一层,将客户机/服务器结构与 Web 密切结 合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能 更强大。 利用 IIS+ASP 技术来集成 Web 前后端所带来的强大效益可归结为以下几个 方面: 1减少构建和维护成本 2加快联机过程 3应用软件集中在服务器端开发管理 4前端可使用任何浏览器(IE.) 5后端可存取任何数据库 (SQL sever) 6可使用任何脚本语言开发 (VBScript、JavaScript、PERL) 1.3 数据库的选择 当前流行的数据库有很多,如Oracle,My SQL,SQL Server,Access等。在 本系统中,我们选用SQL Server 2000进行数据管理。SQL Server是一个后台关 系数据库管理系统,它功能强大操作简便、处理的数据量大且数据安全性强,适 用于中型数据库使用者,其内嵌的SQL Server 企业管理器为用户提供了方便全 面的服务。SQL Server不但可以应用于大中型数据库管理中,建立分布式关系 数据库,并且也可以开发桌面数据库。 对比其它的数据库而言,Oracle一般用于非常大型的数据库管理,对我们 的系统而言,使用Oracle一方面没有SQL Server方便,另一方面根据系统的数 据量没有必要使用Oracle。而Access 数据库对于小型的数据库当然也可以实现, 但是由于公司的其它系统由于数据量较大,都采用SQL Server 数据库,况且本 系统的中的图书量和读者信息量随着公司规模的扩大可能不断增加,Access 数 据库很有可能不能满足需求,而且SQL Server在操作上比Access要更加直观和 方便,功能也更加强大。 从以上各项功能显示,SQL Server 的操作相当方便,使用起来也很容易上 手,对于初学者来说是一个很好的选择,再加上本系统是针对企业开发的,非 常适合采用SQL Server数据库管理系统。 1.4 数据库的链接 ADO(ActiveX Data Objects)是一种操作 Microsoft 所支持的数据库的新技术。 在 ASP 中,ADO 可以看作是一个服务器组件(Server Component),更简单点说, 是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操 作。本文中个性化页面的实现便大量地用到了 ADO 技术。具体的操以下几步: 1创建数据库源名(DSN) 2创建数据库链接(Connection) 3创建数据对象(RecordSet) 4操作数据库 5关闭数据对象和链接 每一步的作法如下: 1. 创建数据源 DSN(Date Source Name)即数据源名称。我们知道,ODBC 是一种访问 数据库的方法,只要系统中有相应的 ODBC 驱动程序,任何程序就可以通过 ODBC 操纵驱动程序的数据库,DSN 是应用程序和数据库之间的桥梁。其语法如 下: conn.connectionstring=“DRIVER=SQL Server;SERVER=d2;UID=sa; PWD=sa;DATABASE=library“ 2. 创建数据库链接(Connection) 链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者 信息。ASP 文件中如果要访问数据,必须首先创建与数据库的链接,其语法如 下: set conn=server.createobject(“ADODB.CONNECTION“) 这条语句创建了链接对象 Conn,接下来: conn.open 这条语句打开链接。 以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有 打开了才真正可以使用。 3. 创建数据对象(Record Set) ADO 中的数据对象通常保存的是查询结果。Record Set 是 ADO 中最复 杂的对象,有许多属性和方法。Record Set 保存的是一行行的记录,并标有一 个当前记录。以下是创建方法: set rs=server.createobject(“ADODB.RECORDSET“) 下面这条语句创建并打开了对象 Record Set,其中 Conn 是先前创建 的链接对象,sqtStr 是一个字符串,代表一条标准的 SQL 语句。例如: rs.open sqlstr,conn,3,3 或 Set rs=Conn.Execute(sqlStr) 这条语句执行后,对象 Record Set 中就保存了 sqlStr 这条语句执行 后筛选出的所有记录。 4. 操作数据库 我们通过调用链接对象的 Execute 方法来将查询结果返回给一个数据 对象或进行插入、删除等操作。例如: Conn.Execute(sqlStr) 执行 sqlStr 这条 SQL 语句 5. 关闭数据对象和链接对象 在使用了 ADO 对象之后要关闭它,因为它使用了一定的服务器资源。 通过调用方法 close 实现关闭,然后再释放它。 关闭创建的数据对象:rs.close 或 Set rs=Nothing 关闭创建的链接对象:Conn.close 或 Set Conn=Nothing 第二章 图书借阅管理系统的设计与开发 2.1 系统开发思想 由于前台的图书馆网站是一个仅供浏览,查询,和资料共享的开放性场所,如 果要对图书资料和读者资料进行管理,实现借书,还书的网络化操作,实现对 网站信息的及时更新,让读者在借书或还书后,可以通过网站查询自己的借还 书信息,一个面向管理员的后台部分是必不可少的。但是,后台的管理与操作 不是一个简单的过程,管理员会要在多个项目之间进行交替操作,倘若每进行 一步操作就在前台与后台之间进行切换,特别像借书还书这样的日常操作是相 当频繁的,不但容易造成许多操作失误,而且也会造成不可想象的安全隐患。 2.2 需求分析 图书管理系统需要满足来自图书馆工作人员、普通用户和借阅者三 方面人员的需求。图书馆工作人员对图书借阅者的借阅及还书要求 进行操作,同时形成借书或还书报表给借阅者查看确认,还可通过 图书编号、借阅者证号等查询相应的借阅情况及查看已归还的图书 信息(即历史信息);普通用户的需求是查询图书馆所存的图书的相 关情况;图书借阅者的需求是查看自己的相关信息及查询自己的借 阅情况。 图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人 借书证号和密码登录系统,还可以进行本人借书情况的查询和维护 部分个人信息。一般情况下图书借阅者只应该查询和维护本人的 借书情况和个人信息若查询和维护其他借阅者的借书情况和个人 信息就要知道其他图书借阅者的借书证号和密码。本功能实现对 馆内图书信息的查询。可以通过图书名称、作者的名字和出版社来 查询相应的图书信息,此查询可模糊查询也可精确查询。所以不但 满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。 图书馆工作人员有对图书借阅者借书和还书记录进行操作的权限, 所以需对工作人员登陆本模块进行更多的考虑。在此模块中,图书 馆工作人员可以为图书借阅者加入借书记录或是还书记录,并生成 2 相应的报表给用户查看和确认。图书馆工作人员可以浏览、查询、 统计、添加借阅图书的基本信息及删除已归还的图书的基本信息, 但不能删除和修改已经借阅的图书相关信息,当删除某条图书借阅 的基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。 本功能实现对图书信息的管理和统计。 图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。 本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和 统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏 览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、 统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统 计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这部分 功能应该由图书馆工作人员执行。但是,删除某条图书借阅者基本 信息记录时,应实现对该图书借阅者借阅记录的级联删除,并且还 应具有生成催还图书报表并打印输出的功能。 2.3 系统功能模块划分 在这个图书管理系统中,本人所完成的工作是图书借阅管理系统(后台)中 的部分内容: 1.借书/还书功能的具体实现 2.异常处理部分的具体实现:包括遗失书籍处理,读者证挂失处理。 3.系统维护的具体实现:包括数据库的备份与恢复,管理员登录,管理员 的注册和删除,管理员密码的修改和管理员权限的修改。 4.所有的报表打印 2.4 系统数据库设计 实体以及实体的属性: 作者 : (作者 ID、姓、名) 出版社: (出版社 ID、名称) 图书: (ISBN、书名、版本号、出版年份、价格、图片) 系统用户: (用户 ID 、帐号、密码、姓名、注册日期) 实体之间的关系 作者 - 图书: 多对多( M :N) 出版社- 图书:一对多(1: N) 本系统所有数据均存放于一个数据库(ibrary 库) ,在此数据库基础上 建立了如下表: 图书类目信息表 bookmenu 图书基本信息表 book_input 读者基本信息表 readerinformation 系统用户信息表 login 表 2.1 图书类目信息表 列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述 book_typevarchar 50 No图书的类别代码 book_kindvarchar 50 No图书的类别名称 book_memovarchar 50Yes类别的备注说明 列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述 ISBNvarchar 50 Yes图书的索引号 book_novarchar 50 No图书的编号,具有唯一性 book_namevarchar 50 No图书名称 Publishingvarchar 50 Yes图书出版社 book_authorvarchar 50 Yes图书的编著者 book_pricefloatYes图书单价 book_kindvarchar 50 Yes图书的类别名称 sale_datevarchar 20 Yes图书出版日期 book_memovarchar50Yes图书的备注说明 book_statevarchar10Yes图书的状态标志(0-正常, 1-逾期未还,2-已遗失) Isloanvarchar 50 Yes图书的借阅状态(0-未借 出,1-已借出) Loanervarchar 50 Yes图书的借阅者 Loandatevarchar20Yes图书借阅日期 列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述 reader_novarchar 50 No读者证号 reader_namevarchar 50 No读者姓名 reader_sexvarchar 2 Yes读者性别 reader_idvarchar 50 No读者工号 reader_placevarchar 50 No读者所在部门 reader_zhichengvarchar50No读者职称 reader_stateint 2 Yes读者状态(0-正常,1-有过期 示还的书,2-该读者证已遗 失) reader_memovarchar 50 Yes读者备注 lost_datevarchar20Yes读者证遗失日期 列名(英文)列名(英文)数据类型数据类型宽度宽度小数位数小数位数允许空允许空列描述列描述 Usernamevarchar 245 No管理员名称 Userpasswordvarchar 245 No管理员密码 Userclassint 2 Yes管理员级别(1-一般管理,2- 最高管理) 2.5 系统界面风格设计系统界面风格设计 第三章 图书借阅系统的具体实现 3.1 借书、还书功能的实现 借书和还书是图书借阅管理系统的一个最重要也是最基本功能。它在图书 管工作人员的操作下,对本公司(企业)员工的借还书情况进行录入、修改、查询 等一系列的过程。在程序中,利用 vb script 脚本语言实现画面的控制,利用 asp 语言来实现对库的操作和算法流程的控制。 3.1.1 借书功能的具体实现 借书是图书管工作人员根据借阅者所借书籍的图书编号(当然这个编号 于每一本图书是唯一的)将该图书登入借书表单,并对其借阅时间和借阅数量 进行控制的过程。因为该系统是针对公司(企业)的图书馆进行管理的,所以 图书借阅也仅对公司内部人员进行开放,所以借阅者必须根据自己的工号(工 作证编号)和其它一些在公司的相关信息办理读者证后,工作人员根据借阅者 所持读者证的读者证号(该读者的唯一标识)进行查询,如果该读者在读者信 息数据库中有记录,则调出该读者个人信息和他(她)已借书籍的信息,如果 读者信息数据库中无该读者信息,则此人不能借阅书籍。具体的流程如下: 图 3.1 借书程序流程图(a) 图 3.2 借书程序流程图(b) 算法描述如下: 首先导入数据库连接,以便对读者信息表和图书基本信息表进行查询和修 改: 因为借书只能是拥有图书馆工作人员以上的权限的人才能进行的操作,所 以 11 在程序开始部份还应先判断一下用户的权限,如果没有工作人员的权限,则要 先 进行管理员登陆,即转向登陆界面:(此处用到“session“这个物件来4 4存取 一个变量记录登陆的用户名,它可以在同一个客户端多个打开的浏览器之间传 递变量值,如果用户能过了管理员登陆,则变量值不会为空,相反则为空: if session(“user_name“)=“ then 导向管理员登陆界面 end if 接下来就是借书操作了: /变量说明部分 /readerno 为读者证号 /borrowno 为借书编号 /number 为是否标志是否查询的读者信息是否存在,初始为 1,表示有信 息,如果输入读者证号后,没有查到读者信息,则更新为 0。 /clickselect 为是否查询过读者信息,即是否点击过读者信息的“查询“按 扭 /booknumber 统计已借书籍的数据量,初始化设为 0,如果查到已借书籍大于 或等于 3 时,该变量设为 3。 /count 统计过期第个读者过期未还的书籍数目 先查询读者证号,如果读者证号为空,提示要求输入。这里可以放在读者证 “查询”的单击事件中: sub readerno_onclick /读者证“查询”的单击事件 if readerno=“ then /如果读者证号为空,提示要求输入 显示 “请输入读者证号!“ 将光标定位于读者证号的输入框 end if clickselect =“1“ /已查询读者信息 booknumber =“0 /借阅书目初始化为 0 提交当前表单的信息 end sub 查询了读者信息后,如果该读者在数据库中有记录,而且已借书籍没有超 过去 3 本,则可以借书,如果没有记录,则屏蔽“借书”的功能,要求用户输 入正确的读者证号: If readerno“ or borrowno=3 then 显示 “你的书已借满“ booknumber =“3“ end if If 已借书记录0 then For I=1 to 已借书记录数 显示已借的书目信息 dd=读取数据库中“借阅日期”字段 if dd60 then count=count+1 end if end if Next end if end if 13 if count= 3 or count“ then 查询 book_input 中的 book_no 为 borrowno 记录 if 查询记录数“ then 在数据库中查询该编号的图书 if 查询的记录数=0 and reader_no=“ then 提示“可能输入了无效的图书编号或该书没有借出,请重输!” 结束程序的继续执行 else 对将要显示的当前所要还的书籍的表格中的借阅者,书籍编号,书名, 作者,借阅日期单元格的内容填值 if 当前日期-借阅日期60 then 更改读者信息表中的 reader_state 为 1 提示用户“你的书已过期!” end if /根据借阅者的读者证号查询该读者的相关信息 sqlstr2=“select * from book_readerinfo where reader_no=“&loaner&“ 对要显示读者信息的栏位赋值 end if 如果找到了要还的书,便可以还书或续借了 if returnno =“ then 显示 “请先输入还书编号“ 光标定位于还书编号 exit sub end if if state =“no“ then 光标定位于还书编号 exit sub end if if book_no =“ then 显示 “请选择要还的书!“ exit sub end if return_book.submit /提交当前表单 *以上这段程序可以放在借书按的单击事件中 *以下是续借按扭的单击事件的算法 sub contiborrow /续借按扭单击事件 if book_no =“ then 显示 “请选择要续借的书!“ exit sub end if reloan =“yes“ 提交表单 end sub 提交表单后,要对库中的数据表进行还书和续借的操作了 从提交的表单中提取所有的读者信息和当前所要还的图书编号 count=0 /设当前无过期书籍 if book_no“ then if 当前日期-借阅日期60 then if reloan=“yes“ then 提示 “书已过期,不能续借!“ 不再做任何更改库中记录的操作,所回续借前的状态 结束 ASP 程序的运行 end if end if if reloan=“yes“ then 将当前书籍的借阅日期减一个月,因为续借只能是一个月 else 还原当前所还书籍的借阅者,借阅日期,是否借阅为初始状态。 /再一次查找当前还书者的所有借书情况 sqlstr3=“select * from book_input where isloan=1 and loaner=“&reader_no&“ if 查询记录数0 then for i=1 to 查询记录数 /查找在还了当前所要还的书以后是否还有过期未还的书 if 当前-借阅日期60 then count=count+1 end if next if count=0 then 将当前的还书者的状态 reader_state 还原为 0 end if else /如果已经没有要还的书籍 将当前的还书者的状态 reader_state 还原为 0 end if end if 3.2 异常处理 3.2.1 遗失书籍处理的具体实现 在图书管理系统中,读者遗失书籍的状况是极有可能发生的,所以系统一 定要有相应的处理措施,方便工作人员对书籍的管理。在这个处理过程中,我 们根据要办理遗失处理的读者的读者证号来查找该读者所借阅的所有书籍,如 果该读者没有借阅的书籍,或该读者根本不存在,也就无需也不能进行书籍遗 失处理。如果经过查询,有借阅记录,则在选择要办理遗失的书籍后(在每条 借书记录后有 checkbox 多选框) ,点击“挂失“即可。而取消挂失只需要选中 罗列出来的所有遗失的书籍记录的某一条或多条,点击“取消遗失”即可。这 块功能的实现总共由三个程序共同来完成,分别为 lostbook.asp,set_lost_book.asp,select_input_book.asp。当用户需要办 理遗失时,首先运行 lostbook.asp,进入该模块的主界面,在这个界面中,我 们会把所有已办理遗失的书籍列出来,如果要对书籍办理遗失,则点击“遗失 办理” ,此时会调用另一个程序 set_lost_book.asp 来处理,如果是要取消遗失, 就直接在第一个主界面列出的 已遗失书籍的记录中查找,可以点击“查找”按扭来确定用户要对哪一本 遗失的书“取消遗失” ,然后选取中它,进行取消。 3.2.2 读者证挂失处理的具体实现 因为有读者证的办理,所以读者遗失读者证也就必须有挂失处理,在本系统 中读者证的挂失也是异常处理的一个项目。当读者发现读者证丢失后,要及时 进行挂失,但是如果该读者有书未还,那么应该先把书还掉才可以挂失。读者 可以通过像遗失书籍处理中一样,点选需要挂失或需要取消挂失的读者信息, 来完成操作。整个功能也由三个程序构成: lostreaders.asp,set_lost_reader.asp,select_readerinfo.asp,首先执行 的是 lostreaders.asp,如果要办理挂失,则点击页面的“挂失办理” ,调用 set_lost_reader.asp,进入挂失的界面,此时,会显示所有未办理挂失的读者 信息,为了避免误操作,必须定位需要挂失的读者方可进行挂失,工作人员可 以通过界面的“查找”按扭,此时会调用 select_readerinfo.asp,在所有未 办理挂失的读者证信息中定们需要记录,然后选中它, “挂失”即可。如果要取 消挂失,则只要在首页面查找要进行取消的读者信息,此时也会调用 select_readerinfo.asp,进入查找界面,查找完毕后,在主界面显示出查找结 果,然后点选要办理取消的读者,取消挂失。 算法描述如下: 变量说明: /value 存放查询中查找记录的 SQL 语名 /reconum 当前显示的记录数 /sqlstr 当前运行的 SQL 语句 在读者证挂出失这个部分,关于办理挂失,特别是取消挂失的处理过程和书籍遗失的处 理过程相似,只是在读者证挂失这个部分加入了对读者是否有书未还的判断,因此在显示 读者信息后,在点击挂失,取得当前的读者证号,判断在 book_input 这个库中有没有该读者 的借书记录,如果有,则要求先还书再挂失。在查询过程中,为了方便在转页时仍显示的 是当前查询的结果,而不是开始显示的记录页面,在程序员中用到了 value 这个变量来存储 当前查询的 SQL 语句。而同时 sqlstr 这个变量又表示当前运行的 SQL 语句。当执行查询以 后,判断 value 值是否为空,如果不为空,则把它的值放入 sqlstr,在翻页的过程中传递的 sqlstr 值便能始终 会是最近查询的值,这一点在 lostbook.asp 中也用到了。其它关于取消挂失和正常办理 挂失的过程与前面的书籍遗失处理大同小异,这里不再繁述.。 3.3 系统维护模块的具体实现 3.3.1 数据备份与恢复的具体实现 在图书管理这样的系统中,基本上是对图书资料的管理,因此图书资料和读 者资料的正确性也就尤为重要,更不能丢失,所以我们在系统中加入了数据据 备份与恢复的功能。管理员要定期的对图书和读者的资料进行备份,在备份后, 即始有信息丢失或损坏,也可以把损失降到最低。在本系统中,数据的备份与 恢复只能是最高权限的管理员才能进行的操作,备份的路径由管理员指定,但 是文件名由系统定义,备份是全数据库的备份,文件名是数据库名加“.bak” 的后缀,而且备份的文件是存储在数据库所在的机子上,而不是用户随机操作 的机子上。恢复则针对备份的文件进行。如果没有备份文件是不能进行恢复的, 恢复时一定要在数据库没有被使用时才能运行。 具体算法流程如下: 图 3.6 数据库备与恢复程序流程图 算法描述如下: 变量描述: / sqlserver 指定数据库链接的 SERVER / sqlname 指定数据库链接的 UID / sqlpassword 指定数据库链接的 PWD / sqlLoginTimeout指定 SQL 登录超时限定 / databasename 当前要备份的数据库的名称 / bak_file 指定数据库备份文件的路径 / act 指定当前操作是备份还是恢复 3.3.2 管理员口令维护具体实现 由于图书管理系统中的借书、还书还有备份、恢复等功能,都是只能由管理 员来操作的,一般的用户,只能浏览网页的前台部分和进行一些查询,所以系统 中必须要有管理员权限方面的维护,所以在这个管理员口令维护模块中,如果 是普通管理员,可以修改自己的密码,如果是最高权限的管理员,则可以修改 所有的管理员密码,当然也可以为注册新的管理员和删除管理员。因此,这个 模块分为三大部分,一个是管理员的注册(register_login.asp register_next.asp register_last.asp register_success.asp),一个是 管理员口令修改(admi_login_edit.aspadmi_login_del.asp register_log.asp), 还有一个是管理员权限的更改(admi_alter.asp) 算法描述如下: 变量说明: spwd /旧密码 respwd /新密码 renewspwd /确认新密码 username /用户名 userpassword /数据表中的用户密码 这个模块的所有操作本身只针对管理员开放,而且不同身份的管理员限制 不同程度的操作。所以识别管理员身份是第一部,前面我们讲到可以用 session 这个对象来实现.在这个模块中,不但要判断是否是管理员,而且要判断 是哪种权限的管理员,如果是普通管理员,则只可以修改自己的密码,如果是最限 的管理员,则可以对所有管理员进行操作(修改、删除、注册)。 if len(session(“user_name“)=0 then /如果是非管理员 导向管理员登陆界面 end if 在进入口令维护的主界面后,进一步判断是哪种权限的管理员,如果是普通管 理员,则在显示修改的用户名称中只显示当前登录的管理员的用户名,且只读 状态,以此提醒用户,只能本人的密码;如果管理员权限为最高,则显示修改 的用户名称是可以选择所有的管理员名称的: if session(“userclass”)=2 then /如果是最权限的管理员 以下拉框的形式显示所有管理员名称 else 仅显示当前登录的管理员名称 end if 在界面中的“删除管理员”和“注册管理员”的按扭也只能是 session(“userclass”)=2 时才可用,否则设置它们的属性为“disabled” 2 then%disabled onclick=”vbscript:admi_login_del.asp”删除管理员 2 then%disabled onclick=”vbscript:register_login.asp”注册管理员 输入旧密码,新密码和确认新密码后, 当前修改的管理员的密码 then 显示“密码不正确” 返回到主界面,重新输入密码 else /如果密码正确 if respwd当前修改的管理员的密码 then 显示“密码不正确” 返回上一页面 else 执行删除操作, 更改管理员表中的数据 end if /如果选择了“注册管理员” 则调用“Registe_login.asp” 输入用户名、密码、确认密码 if username=” ” or spwd=” ” or respwd=” ” then 提示用户资料输入不完整! Else If len(spwd)respwd then 要求重新输入密码 end if /如果以上条件均满足 /将当前输入的三项信息提交给下一个程序“Register_next.asp” 在“Register_next.asp”程序中,在进入该程序时,判断用户名是否在 库中已存在,如果存在,则返回上页,重新输入;另外,主要是要用户确认一 下自己输入的信息,如果想修改,则点击“重填”返回上一面,如果不需要修 改,则点击“确定“, 这个程序的算法不再详述,主要是要在程序的开始部分,要把从上页传过 来的用户名和密码信息接收过来。 Username=Request(“username”) Spwd=request(“spwd”) /确认了信息之后,则进一步调用“Register_last.asp” 在这个程序中,主要是要管理员给新注册码的管理员授权,默为“普通管 理员”权限 如果需要更改其权限,则直接选择权限的种类即可。 选取完后,则调用“register_success.asp”显示成功注册的画面,并显示刚 注册的用户名和密码,提醒用户记住自己的相关信息。此程序仅仅是显示信息, 没有其它的功能。 3.4 系统中报表的具体实现 在图书管理系统中,报表的打印是必不可少的,工作人员可以按需要打印符 合条件的报表,如打印逾期未还表到公司各部门来通知大家及时归还已到期的图 书;在图书盘点的时候,打印一

温馨提示

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

评论

0/150

提交评论