ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:291.22KB ,
资源ID:10271237      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10271237.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VB图书管理系统.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VB图书管理系统.docx

1、VB图书管理系统图书馆管理信息系统 一 系统需求分析1. 系统功能需求这是为某小型图书馆设计的一个管理系统,经过调查,图书馆工作人员最希望该系统解决的问题有:(1) 图书馆的借阅书籍与归还书籍的登记。也就是为读者借书建立一个帐台,应用该台帐,工作人员能方便的掌握每位读者借了哪些书,借了多长时间。(2) 编制催还图书通知单。该图书馆对所借书的数量暂时未进行限制,但对借书时间限制为60天,对逾期未还书的读者下达催还图书的通知单,促其尽快还书,以加快图书的流通。(3) 提供快速的图书查找功能,方便读者尽快查到其所要的图书。(4) 系统所提供的全部功能操作要简单,直观,实用。二 系统数据关系E-R图系

2、统所涉及到的实体及其关联关系比较简单,主要实体只有读者和图书两个,它们通过读者的借阅活动而发生联系。三 系统设计 1.功能设计 (1)图书借阅。为有借书证的读者办理借阅登记,登记的内容包括借书证编号,图书编号,借阅日期。图书编号的输入过程应尽量方便,借阅日期应自动登记。 (2)图书归还。在适当的位置登记一个还书日期,这个适当的位置应该由两个字段组成的关键字决定,一是借书证编号,其次是图书编号,这个适当的位置的查找过程应该在系统 (3)编制催还图书通知单。根据图书馆规定,对借书时间超过60天者打印催还图书通知单,其内容包括借书证编号,读者姓名,电话号码,图书编号,名称,作者,出版社,借阅日期等信

3、息,通知单编制过程由系统自动完成。(4)借书证办理与退还。在实际工作中,这个过程包括了借书证的制作,填写,发放,以及收回后的处理等过程,但这里只提供对发放借书证和收回借书证两个过程的支持,而不管其证件的制作。 (5)图书入库与报废。新采购的入库登记和废旧图书的报废登记,登记处理过程是在图书数据库中进行相应登记,对于新图书入库有两种不同的情况:其一新采购的图书在以前已经登记过,这次属于补充库存;其二是图书馆以前没有登记过。对于已经登记过的,要找到以前的记录将其合并。对于后者,要重新登记图书名称,作者,出版社等详细数据。2.数据库设计 根据E-R图,将其转化为如下数据实体,数据库:book.dbc

4、,包括如下的表和视图: 借书证发放登记表Reader.dbf 图书登记表Booker.dbf 图书类型表Typer.dbf 借书登记表Brower.dbf因为借书证和图书间存在多对多的关系,因此还要建立了一个借阅登记表,为查询方便,系统中还设计了一个图书类型表,该表和图书的关系是一对多关系,另外还有一个借书关系视图。所有这些数据实体都纳入一个数据库book.dbc进行管理。下面详细说明这些数据实体的结构。(1) 借书证发放登记表(读者表)Reader.dbfDzbh c(8) 借书证编号Xm c(8) 读者姓名Gzdw c(30) 工作单位Dh c(11) 电话号码Dz c(20) 家庭住址B

5、zrq d 办证日期Hzrq d 退证日期(2) 图书登记表Booker.dbf Tsbh c(8) 图书编号,同种图书有同一个编号 Tsmc c(30) 图书名称 Zz c(8) 作者 Cbs c(30) 出版社 Lb c(8) 图书类别 Dj N(5,1) 图书价格 Nrty m 内容提要 Kcs I 库存数量 Zks I 在库数量(3)图书类型表Typer.dbf Lb c(8) 图书类别(4)借书登记表Brower.dbf Dzbh c(8) 读者编号 Tsbh c(8) 图书编号 Jyrq d 借阅日期 Ghrq d 归还日期(5) 借书视图(brower) 为了打印催还通知单的需要

6、,设计了一个借书视图文件,该视图从reader.dbf等三个表中提取了7个字段的数据:Reader.dabh Reader.xm Reader.dh Brower.tsbh Book.thmc Book.zz Brower.jyrq其视图关系可以由以下SQL语句定义: SELECT Reader.dzbh, Reader.xm, Reader.dh, Booker.tsbh, Booker.tsmc,; Booker.zz, Brower.jyrq, Brower.ghrq; FROM book!reader INNER JOIN book!brower; INNER JOIN book!bo

7、oker ; ON Brower.tsbh = Booker.tsbh ; ON Reader.dzbh = Brower.dzbh; WHERE Brower.jyrq DATE()-60; AND DATE()-Brower.ghrq = 0; ORDER BY Reader.dzbh3.总体模块设计 该系统的全部功能由一个主控界面(两个表单),一个表单以及相关的四个表单组成,其总体总体模块框图如图所示: 总体框图四模块设计1. 主控界面表单设计 图书馆管理信息系统的主界面由“动画欢迎表单”和“主控表单”组成,主控表单上安排六个命令按钮,分别实现总体框图中的五部分功能和退出系统模块。每个命

8、令按钮触发的结果均执行一条命令,运行一个表单,或者启动一个报表文件运行,或者退回到Visual foxpro 系统状态。主控表单设计代码如下:“借书证管理”按钮的click事件代码:do form 借书证管理.scx“借书登记” 按钮的click事件代码:do form 借书登记.scx“还书登记” 按钮的click事件代码:do form 还书登记.scx“图书入库与报废” 按钮的click事件代码:do form 图书入库与报废.scx“催还通知书” 按钮的click事件代码:report form 催还通知书.frx preview“退出系统” 按钮的click事件代码: Release

9、 thisform Close all Quit2. 其他表单的设计(1) 借书证表单设计 这个表单的数据源是reader.dbf表,在其支持下完成用户所要进行的图书证发放和退回工作,其运行界面如下图所示。用户从“借书证编号”文本框中输入一个借书证编号,如果该借书证在reader.dbf表中已经存在,系统会在下面表格对象中显示与之对应的读者情况,否则显示为空。但单击“办理借书证”按钮后,系统会在变个对象中添加一行空记录,等待用户输入新读者资料,并自动把办证日期赋值为系统当前日期,用户退出表单时系统将新数据存入与表单对应的reader.dbf表中;当用户单击“退还借书证”按钮后,系统把当前日期赋

10、值给换证日期字段,表示该读者已归还借书证。与表单相对应的各种对象的属性值及事件代码说明如下:(1)“借书证编号”文本框的属性和事件代码: Name属性text1 Fomat属性* Interactivechange事件代码: thisform.dataenvironment.cursor1.filter=dzbh=+trim(this.value )+thisform.refreshreturnlostfocus事件代码:thisform.dataenvironment.cursor1.filter=dzbh=+trim(this.value)+thisform.refreshreturn(2

11、) 办理借书证按钮的click事件代码: append blankreplace dzbh with thisform.text1.value,bzrq with date()thisform.dataenvironment.cursor1.filter=dzbh=+; trim(thisform.text1.value)+ thisform.refresh return(3) “退还借书证” thisform.grid1.column7.text1.value=date()return(4)“退出”按钮click事件代码: Close all Thisform.release 其他表单的“退

12、出”按钮的代码都完全相同,后面不再进行说明。3. 借书证表单的设计这个表单是整个系统的一个主要表单,共涉及到reader.dbf,book.dbf,brower.dbf,typer.dbf等四个表,其运行界面如下图所示,用户在左上角的组合框对象中选择“借书证编号”,文本框中“读者姓名”与“电话号码”是系统自动显示的。在“选择图书类型”组合框中选择要借阅的图书类型,表单中上面的表格显示图书的库存信息,在单击“借阅”按钮后,系统自动进行借阅登记(同种类图书每次只能借一本),表单下半部分的表格中显示该读者现在未归还的图书及借阅日期。借书按钮的click 代码:if booker.tsbh=trim(

13、bo2.value) replace booker.zks with booker.zks-1 endif if used(brower) select brower go bottom append blank endif if booker.tsbh=trim(bo2.value) replace brower.tsbh with booker.tsbh replace brower.jyrq with date() endif if used(reader) select reader replace brower.dzbh with reader.dzbh endif thisform

14、.refresh return退出的按钮的click代码:release thisform4. 还书登记表单的设计:还书登记表单的运行界面如图所示,该表单共涉及reader.dbf,brower.dbf和book.dbf等三个数据表,当用户在借书证编号的组合框中选择一个借书证编号后,系统自动在后面的文本框中显示与该编号对应的读者姓名和联系方式,并在表格中显示该读者尚未归还的图书,然后由用户在表格中用鼠标选择要归还的图书,选中后单击“还书”按钮。程序进行两项工作,其一,将系统日期赋值给brower.dbf表的当前记录的对应字段,表示其已于当日归还所借图书;其二,在book.dbf表中修改与所还图

15、书对应的“在库数zks字段”的数量。还书的click事件代码:tdbf=alias()select(thisform.dataenvironment.cursor2.alias)replace ghrq with date()select(thisform.dataenvironment.cursor3.alias)replace zks with zks+1select &tdbfthisform.refreshreturn退出按钮的click事件代码:select operatinglocate for operating.操作员姓名=alltrim(operating.操作员姓名)if

16、alltrim(thisform.text1.value)=alltrim(operating.口令) if thisform.text2.value=thisform.text3.value replace operating.口令 with thisform.text2.value release thisform else messagebox(口令不一致!) thisform.text2.setfocus() endifelse messagebox(原口令错误!) thisform.text1.setfocus()endif 5.图书的入库与报废表单设计:该表单的运行界面如上图所示,

17、左上角的“借书编号”文本框供用户输入要登记入库或报废的图书编号,后面的册数文本框输入对应的入库或报废的图书册数,如果所输入的图书编号是一个booker.dbf表中存在的图书编号(这表示是进行图书报废登记),下面的表格中显示该图书的其他信息。反之,表示是一种新书要进行入库登记,实质是将这种图书信息添加到booker.dbf数据表中。 “新书入库登记”按钮的click事件: thisform.dataenvironment.cursor1.filter=tsbh=+trim(thisform.text1.value)+if eof()append blankreplace tsbh with th

18、isform.text1.valuethisform.refreshthisform.grid1.column1.enabled= .t.thisform.grid1.column2.enabled= .t.thisform.grid1.column3.enabled= .t.thisform.grid1.column4.enabled= .t.thisform.grid1.column5.enabled= .t.endifthisform.grid1.column8.text1.value=thisform.grid1.column8.text1.value+val(thisform.tex

19、t2.value)thisform.grid1.column9.text1.value=thisform.grid1.column9.text1.value+val(thisform.text2.value)thisform.refreshreturn“图书报废登记”按钮的click事件代码:thisform.grid1.column8.text1.value=thisform.grid1.column8.text1.value-val(thisform.text2.value)thisform.grid1.column9.text1.value=thisform.grid1.column9.

20、text1.value-val(thisform.text2.value)thisform.refreshreturn6.密码设定表单的设计:“确认”按钮的click事件代码:select operatinglocate for operating.操作员姓名=alltrim(operating.操作员姓名)If alltrim(thisform.text1.value)=alltrim(operating.口令) if thisform.text2.value=thisform.text3.value replace operating.口令 with thisform.text2.valu

21、e release thisform else messagebox(口令不一致!) thisform.text2.setfocus() endifelse messagebox(原口令错误!) thisform.text1.setfocus()endif “退出”按钮事件代码:Release thisform7.系统日志表单的设计:“清除”按钮的click事件代码:select logzapthisform.grid1.recordsource=logthisform.refresh“退出”按钮的click事件的代码: Release thisform “zhu”程序代码: CLEAR &清

22、屏CLEAR ALL &从内存中释放所有的内存变量CLOSE ALL &关闭各种类型的文件SET ESCAPE OFF &禁止运行的程序和命令在按 Esc 键后被中断SET SAFETY OFF &指定在改写已有文件时不显示对话框SET DELETE ON &使用范围子句处理记录的命令忽略标有删除标记的记录SET SYSMENU OFF &在程序执行期间废止 Visual FoxPro 主菜单栏RELEASE WINDOW 常用 &关闭常用工具栏SET CENTURY ON &年份以四位显示SET DATE TO ymd &日期格式为年、月、日SET MARK TO - &指定日期分隔字符SE

23、T HOURS TO 24 &指定为 24-小时时间格式DO FORM .动画欢迎表单.scx &调用登录界面表单On ShutDown do OnShutdown &退出系统时调用函数onshutdown() READ EVENTS &建立事件循环 On ShutDown &释放当前的On ShutDown命令*按菜单的“关闭”按钮退出时,出现的提示框FUNCTION OnShutdown() sel=MESSAGEBOX(真的要退出吗?,4+32+256,提示)IF sel=6 SELECT 0 USE LOG GO BOTTOM REPLACE 离开时间 WITH DATETIME()

24、&退出系统时记录操作员退出时间 CLOSE ALL CLEAR EVENTS &退出事件循环 QUIT &结束当前 Visual FoxPro 工作期,并将控制权返回给操作系统ENDIFENDFUNC五 实验总结 通过这次实验,我们主要充分的使用数据库,表单,等各种控件,特别是报表,使系统变得更为实用.同时自己也加入了很多的图片,这使得我的系统有锦上添花的效果。如:登陆界面的设计,同时也使字体设为动态的等.实验做了很长时间,第一次我做的超市管理系统总是连编后有错误,不能很好的运行,后来也解决了,但是showwindow的顶层表单设置总是不合适。后来我就只有做了图书管理系统,做的不完善,但是系统工作正常。学习我们应该学会大家相互讨论的学习方法,不能闭门造车,不能一个人一直研究,那样学习效率太低。大家讨论学习学到的东西就会更多,解决问题的方法也就多,做事效率也就高。通过本系统我们能够基本的进行图书的管理,虽然本系统做的不够完美,但是通过做本系统确实收获不少,同时懂得了系统维护的重要性。通过以后的学习能够做的更加完善。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1