web的图书管理系统的设计与开发内容摘要:

date varchar 20 Yes 读者证遗失日期 表 系统用户信息表 列名(英文) 数据类型 宽度 小数位数 允许空 列描述 Username varchar 245 No 管理员名称 Userpassword varchar 245 No 管理员密码 Userclass int 2 Yes 管理员级别 (1一般管理 ,2最高管理 ) 8 Web系统开发综合设计报告 第三章 图书借阅系统的具体实现 借书、还书功能的实现 借书和还书是图书借阅管理系统的一个最重要也是最基本功能。 它在图书 管工作人员的操作下 ,对本公司 (企业 )员工的借还书情况进行录入、修改、查询等一系列的过程。 在程序中 ,利用 vb script 脚本语言实现画面的控制 ,利用 asp语言来实现对库的操作和算法流程的控制。 借书功能的具体实现 借书是图书管工作人员根据借阅者所借书籍的图书编号(当 然这个编号于每一本图书是唯一的)将该图书登入借书表单,并对其借阅时间和借阅数量进行控制的过程。 因为该系统是针对公司(企业)的图书馆进行管理的,所以图书借阅也仅对公司内部人员进行开放,所以借阅者必须根据自己的工号(工作证编号)和其它一些在公司的相关信息办理读者证后,工作人员根据借阅者所持读者证的读者证号(该读者的唯一标识)进行查询,如果该读者在读者信息数据库中有记录,则调出该读者个人信息和他(她)已借书籍的信息,如果读者信息数据库中无该读者信息,则此人不能借阅书籍。 具体的流程如下: 9 Web系统开发综合设计报告 10 Web系统开发综合设计报告 图 借书程序流程图 (a) 图 借书程序流程图 (b) 算法描述如下: 首先导入数据库连接,以便对读者信息表和图书基本信息表进行查询和修改: ! include file= 因为借书只能是拥有图书馆工作人员以上的权限的人才能进行的操作,所以 11 Web系统开发综合设计报告 在程序开始部份还应先判断一下用户的权限,如果没有工作人员的权限,则要先 进行管理员登陆,即转向登陆界面:(此处用到“ session“这个物件来 [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 //已查询读者信息 12 Web系统开发综合设计报告 booknumber =0 //借阅书目初始化为 0 提交当前表单的信息 end sub 查询了读者信息后,如果该读者在数据库中有记录,而且已借书籍没有超过去 3 本,则可以借书,如果没有记录,则屏蔽“借书”的功能,要求用户输入正确的读者证号: If readerno then 根据 readerno 查询读者信息数据库 readerinformation if 查询的记录数 =0 then 提示用户“无相应记录” number =0 将光标定位于读者证号输入框 结束后面的 ASP 程序的运行,即不再查询已借书目信息 else 显示读者的个人信息 end if if readerno or borrowno then 根据 readerno 将 book_input 与 reaerinformation 关联起来 查询 book_input 中 loaner(借阅者 )为 readerno 的所有图书信息 if 查询的记录数 =0 then 显示“没有借书记录” else if 已借书记录 =3 then 显示 你的书已借满 booknumber =3 end if If 已借书记录 =3 and 已借书记录 0 then For I=1 to 已借书记录数 显示已借的书目信息 dd=读取数据库中“借阅日期”字段 if dd then if 当前日期 当前读取的借阅日期 60 then count=count+1 end if end if Next end if end if 13 Web系统开发综合设计报告 if count0 then 提示 你有过期未还的书 ! 更新 book_input 中 刚查到的过期未还的书的 book_state 为 1 更新 readerinfomation 中该读者的 reader_state 为 1 end if End if if booknumber= 3 or count0 then 屏蔽“借书“功能,即不显示借书按扭 end if 若未屏蔽借书功能,则可以借书 先输入借书编号,按下借书按扭,如果编号为空,要求输入, 如果未查询读者证号就点击借书按扭,则提示用户先查询读者证号后,此段程序可放入借书按扭单击事件中: sub borrowbook if readerno = then 显示 请先查询借书者的读者证号 ! elseif borrowno= then 显示 请输入借书编号 end if 提交当前表单信息 end sub 提交信息后,除运行上面的程序外,还要执行提交状态后的程序: if borrowno then 查询 book_input 中的 book_no 为 borrowno 记录 if 查询记录数 0 if 是否已借字段内容 =1 then 显示 该书已借出 ! else 是否已借字段内容 =1 14 Web系统开发综合设计报告 借阅日期字段 =今天的日期 借阅者字段 =当前输入的读者证号 end if else 显示 没有这本书 ! end if end if 在借书这个程序中,我们利用读者证号这个关键字,把读者信息表和图书基本信息表联系起来,多方面考虑问题,把借书过程中可能出现的状况,都要一一考虑进来,方便能工作人员和读者。 还书功能的具体实现 还书是在借书的基础上来操作的过程,总的原则是,没有借书,就没有还书,还书所要实现的功能,在某种程度上和借书是相似的,同样要提示读者是否有过期未还的书,此时也需要对库中的信息进行更改。 还书以后,也要即时的反溃当前的借书 状况,以便读者和工作人员知道“还书”是否操作成功。 与借书相比,借书是通过读者证号和图书编号来登记,而还书只需要且必须要图书编号来登记还书。 当查到该编号的图书 ,而且确实是未还图书 ,则将显示还书者的读者信息和所有他 (她 )的已借书目信息 .我们要实现的目标是尽可能方便能的操作和尽可能直观的反溃 !所以我们采用输入图书编号来还书的同时 ,查阅出借该书的读者的所有借书记录 ,只要点击所列出的该读者借书记录中的某一条 ,就可以还这本书 .还有一点是还书需要处理的,那就是续借,如果读者想要续借,应该很方便的进行,与还书一样,只要点击 要续借的书按“续借”即可,但是要考虑如果该书已过期,则不能续借。 具体程序流程图如下 : 15 Web系统开发综合设计报告 Web系统开发综合设计报告 图 还书程序流程图 算法描述如下 : 首先导入数据库连接,以便对读者信息表和图书基本信息表进行查询和修改: !include file= 因为还书只能是拥有图书馆工作人员以上的权限的人才能进行的操作,所以在程序开始部份还应先判断一下用户的权限,如果没有工作人员的权限,则要先进行管理员登陆,即转向登陆界面 ,这部分的操作和借书是一 样的 : if session(user_name)= then 导向管理员登陆界面 end if 接下来是还书的操作 : //变量说明部分 // returnno 为还书编号 // state 表示当前有无可还书的记录 //reloan 表示是否要续借 //step 表示是否提交过表单 ,1初始状态 ,2已经提交。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。