数据库课程设计报告图书借阅管理系统

上传人:1888****888 文档编号:39092949 上传时间:2021-11-09 格式:DOC 页数:48 大小:1.68MB
收藏 版权申诉 举报 下载
数据库课程设计报告图书借阅管理系统_第1页
第1页 / 共48页
数据库课程设计报告图书借阅管理系统_第2页
第2页 / 共48页
数据库课程设计报告图书借阅管理系统_第3页
第3页 / 共48页
资源描述:

《数据库课程设计报告图书借阅管理系统》由会员分享,可在线阅读,更多相关《数据库课程设计报告图书借阅管理系统(48页珍藏版)》请在装配图网上搜索。

1、沈阳理工大学课程实践(论文)摘 要本文首先介绍了数据库管理系统(DBMS)的基本概念及关系模型等。然后对问题的来源进行深入分析,指出图书借阅者、图书馆工作人员和图书馆管理人员是问题主要来源,并指出本数据管理系统的实用性功能就是管理好图书馆信息,提高工作效率,避免数据处理手工操作,工作量大,出错率高的弊端。接着对需求分析进行细致的分析,特别对图书借阅者、图书馆工作人员二者权限进行分配。接着对系统功能模块进行分析,指出本系统功能模块主要分为“图书资料管理”模块、“学生资料管理”模块、“借阅管理”模块。总的来说,本图书管理系统,介绍了该系统组成结构、功能特点、使用原理和方法,本系统实现了系统登陆、图

2、书管理、学生管理图书的借阅与归还、图书借阅排行榜和查看逾期未还图书以及各种信息的打印等功能。有了这个系统就使图书馆的工作变得简单了许多,使图书馆的图书管理形成了一个整体自动化管理模式。关键词:图书借阅 数据连接 模块功能 系统工程目录摘 要11 前言11.1作业背景11.2选题说明11.2.1基本思路21.2.2作业目标21.3工作业绩21.3.1个人主要工作21.3.2主要收获21.3.3自我评定32 系统设计与分析42.1功能描述42.2功能模块设计43 数据库设计与实现53.1数据库需求分析53.2数据库表的设计63.2.1概念结构设计63.2.2逻辑结构设计84表的开发与设计104.1

3、学生信息表的开发与设计104.1.1学生信息表的表编辑器104.1.2学生信息表的数据录入104.2班级信息表的开发与设计114.2.1班级信息表的表编辑器114.2.2班级信息表的数据录入114.3书籍信息表的开发与设计124.3.1书籍信息表的表设计器124.3.2书籍信息表的数据录入124.4借阅信息表的开发与设计134.4.1借阅信息表的表设计器134.4.2借阅信息表的数据录入134.5用户信息表的开发与设计144.5.1用户信息表的表设计器144.5.2用户信息表的数据录入145系统的实现155.1主程序实现155.2 “命令按钮”实现165.2.1“命令按钮”界面设定165.2.

4、2“命令按钮”属性设置165.2.3“命令按钮”代码实现175.3 Pass表单实现195.3.1Pass表单数据环境195.3.2Pass表单界面设定195.3.3Pass表单代码实现195.4 系统主表单实现215.4.1系统主菜单的页面设定215.4.2系统主菜单的代码实现215.5学生管理表单实现225.5.1学生管理表单的数据环境225.5.2学生管理表单的页面设定225.5.3学生管理表单的代码实现235.6学生查询条件表单实现285.6.1学生查询条件表单界面设定285.6.2学生查询条件表单代码实现285.7学生信息查询结果表单实现295.7.1学生信息查询结果表单数据环境29

5、5.7.2学生信息查询结果表单界面设定295.7.3学生信息查询结果表单代码实现295.8图书管理表单实现305.8.1图书管理表单的数据环境305.8.2图书管理表单的页面设定315.8.3图书管理表单的代码实现315.9图书查询条件表单实现365.9.1图书查询条件表单界面设定365.6.2图书查询条件表单代码实现365.10借阅管理表单实现375.10.1借阅管理表单数据环境375.10.2借阅管理表单界面设定375.10.3借阅管理表单代码实现385.11图书借阅排行榜表单实现385.11.1图书借阅排行榜表单数据环境385.11.2图书借阅排行榜表单页面设定385.11.3图书借阅排

6、行榜表单代码实现396程序的调试406.1输入模块调试406.2查询模块调试416.3统计模块调试42结束语43参考文献44IV沈阳理工大学图书借阅系统设计与开发1 前言1.1作业背景本文根据数据库系统应用课程要求而做。课程作业要求如下:用数据库管理系统开发工具(Visual FoxPro)开发一个实用的小型管理信息系统。在学习数据库原理与应用教程之后,学会运用数据库建立管理系统。选择生活中需要创建管理系统的题材,建立数据库管理系统。如图书馆管理系统、学生档案管理管理系统、客房管理系统等等。要求实现表单的设计、查询、修改与添加等。建立数据库,将若干逻辑联系的表统一管理便于应用。建立表单的查询与

7、视图,从一个或多个表中检索符合指定条件的记录,供用户查看、更改、保存和分析。在视图中可以实现对表的更改并直接返回原表便于在大量数据中通过简单的方式很容易的完成数据的更新。(1)根据课程设计时间选择适当规模大小的设计题目,分小组进行设计。(2)小组组长为组员分配任务,根据合理的安排,按照系统开发的流程及方法,踏实地开展课程设计活动。(3)课程设计活动中,撰写相关技术文档。最后提交详细的课程设计报告。(4)开发出可上机运行的管理信息系统,通过上机检查。 1.2选题说明长期以来,图书管理都是依赖人工进行的,面对如此众多的图书信息,其工作量可想而知,不仅仅浪费了大量的人力物力,而且由于人工管理存在着大

8、量的不可控因素,造成了图书管理的某些不规范。在学校,尤其是在大中专院校,图书管理是学校的一项重要的数据资源,图书管理也是学校的一项常规性的重要工作。随着社会的日益发展,尤其是科技的迅猛发展,计算机广泛地应用在生产生活的各个方面,不仅提高了工作效率,而且也降低了劳动强度,美化了我们的工作环境。1.2.1基本思路沈阳理工大学图书借阅系统的功能包括学生管理、图书管理和借阅管理的输入、查询等。利用VF系统实现自动化控制,实现系统登录、图书管理、学生管理、图书借阅与归还、图书借阅排行榜和查看逾期未还图书以及各种信息的打印功能。1.2.2作业目标(1)开发设计至少6个表单,开发设计至少3个数据表;(2)建

9、立“沈阳理工大学图书借阅管理系统”数据库系统,建立各个数据表之间数据逻辑关系;(3)实现系统登录、图书管理、学生管理、图书借阅与归还、图书借阅排行榜和查看逾期未归还图书以及各种信息的打印功能;(4)实现图书信息管理工作自动化与数据化;1.3工作业绩1.3.1个人主要工作我个人完成了数据库的功能分析与系统设计,数据库各个数据表的设计与录入,数据库各个表单的设计与开发,数据库各个功能实现的代码开发与录入,数据库各个功能的调试等工作。1.3.2主要收获课程设计是培养学生综合运用所学知识、发现、提出和解决实际问题,锻炼时间能力的重要环节,是对学生实际工作能力的具体训练和考察过程。所以通过此次课设不仅锻

10、炼了自己这方面的能力,也确实提高了自己。(1)数据库的主要目的是实现数据的共享,共享的前提是实现系统的严密性和完整性,任何一个微小的细节与错误都会引起后续工作的较大的错误。所以,在开发的过程中应该注意每一个细节问题,避免之后的修改工作;(2)数据库开发是一项辛苦的工作,需要周全的考虑和耐心,尤其是后续调试阶段,由于功能设计与模块设计的不严密,导致在调试的过程中出现其他的情况。除了在设计阶段保持设计的严密性之外,在后续调试阶段,需要站在全数据库系统的层面看待出现的问题。从而抓住核心问题,却不是为了节省时间改动小范围的实现表单内部顺利运行;(3)数据库开发属于计算机语言的范畴,语言的掌握重点在于使

11、用的频率,通过课本与课堂的方式不能良好地掌握语言,还是需要反复的使用。即使完成课程设计之后想要继续掌握这门语言,也需要不断地利用数据库开发的思想考虑问题。1.3.3自我评定 优 良 中 及格 不及格2 系统设计与分析沈阳理工大学图书借阅管理系统需根据学校实际情况进行设计,根据不同的特点添加不同的模块,所以需要合理划分功能模块,成功的系统分析可使系统的实现以及系统测试节省很多的物理和人力。2.1功能描述图书借阅系统的功能包括系统登录、图书管理、学生管理、图书借阅与管理、图书借阅排行榜和查看逾期未还图书以及各种信息的打印功能。本次设计包括三大功能模块,各功能模块包括以下内容:(1)学生管理模块:学

12、生信息的查看、添加、编辑、查找、删除、打印等功能;(2)图书管理模块:图书信息的查看、添加、编辑、查找、删除、打印等功能;(3)借阅管理模块:图书的借阅、归还,超期图书的查看、归还,查看图书借阅排行等功能;2.2功能模块设计系统的主要功能模块如下图2.1所示: 图2.1主要功能模块示意图3 数据库设计与实现数据库设计是系统开发中非常重要的一个环节,数据库结构设计得好坏将直接影响系统的效率。在设计数据库之前,要了解用户需求,从而确定数据库的结构。否则,如果在代码实现过程中再修改数据库的结构,将会浪费巨大的人力和物力。同时,在数据库设计中,表的数量不能太多,逻辑层次也不能太多,否则系统的升级和维护

13、将会非常困难。3.1数据库需求分析用户的需求具体体现为各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,要收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。通过对系统功能的分析可知,图书借阅管理系统需要包含以下数据库信息。 图书信息数据:包括图书各方面的信息数据 学生信息数据:包括学生各方面的信息数据 借阅信息数据:包括借阅关系各方面的信息数据经过上述系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构。(1)图书信息,包含图书的编号、类别、书名、作者、定价、出版社、入库日期、借阅次数等;(2)学

14、生信息,包含学号、姓名、性别、学院、班级、电话等;(3)借阅信息,包含学号、图书编号、借阅日期、归还日期等;(4)用户信息,包含账户、密码等;(5)班级信息,包含班级编号、班级信息等; 在需求分析、数据结构设计、数据项分析的基础上,继续进行课程设计。3.2数据库表的设计3.2.1概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。本实例根据上面的设计规划出的实体有:图书信息实体、学生信息实体、借阅信息实体、用户信息实体以及班级信息实体。各个实体具体的描述E

15、-R图如下。“学生信息和、“论文信息”和“导师信息”实体之间关系的E-R 图如图3.1所示:学生信息借阅信息图书信息图3.1 实体之间关系 E-R 图 “图书信息”实体的 E-R 图如图3.2所示:图书信息编号 书名类别作者出版社图3.2“图书信息”实体 E-R 图“学生信息”实体的 E-R 图如图3.3所示:学生信息 专业电话号码年龄性别姓名学号 图3.3“学生信息”实体 E-R 图“借阅信息”实体的 E-R 图如图3.4所示:借阅信息归还日期借阅日期图书编号学号图3.4“借阅信息”实体 E-R 图3.2.2逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据

16、库系统所支持的实际数据模型,也就是数据库的逻辑结构。使用Visual FoxPro开发时可以直接使用Visual FoxPro自带的数据库。图书借阅管理系统中使用的各个数据表的字段设置如下:论文信息表的字段设置如表3.1所示:表3.1Book表结构表 学生信息表的字段设置如表3.2所示:表3.2Student表结构表借阅信息表的字段设置如表3.3所示:表3.3Borrow表结构表用户信息表的字段设置如表3.4所示:表3.4User表结构表班级信息表的字段设置如表3.5所示:表3.5Dept表结构表4表的开发与设计4.1学生信息表的开发与设计4.1.1学生信息表的表编辑器单击项目管理器中“新建”

17、命令创建“表”,或者在命令框中输入“create”建立新表,其中表设计器的录入应当符合之前制定的逻辑结构,具体如图4.1所示: 图4.1学生信息表表编辑器示意图4.1.2学生信息表的数据录入完成表设计器之后系统默认提示“是否现在录入数据”,单击“是”,则可以开始录入数据,或者输入“append”命令添加新的数据,学生信息表的数据录入具体如图4.2所示:图4.2学生信息表数据录入示意图4.2班级信息表的开发与设计4.2.1班级信息表的表编辑器单击项目管理器中“新建”命令创建“表”,或者在命令框中输入“create”建立新表,其中表设计器的录入应当符合之前制定的逻辑结构,具体如图4.3所示: 图4

18、.3班级信息表表编辑器示意图4.2.2班级信息表的数据录入完成表设计器之后系统默认提示“是否现在录入数据”,单击“是”,则可以开始录入数据,或者输入“append”命令添加新的数据,班级信息表的数据录入具体如图4.4所示下: 图4.4班级信息表数据录入示意图4.3书籍信息表的开发与设计4.3.1书籍信息表的表设计器单击项目管理器中“新建”命令创建“表”,或者在命令框中输入“create”建立新表,其中表设计器的录入应当符合之前制定的逻辑结构,具体如图4.5所示: 图4.5书籍信息表表设计器示意图4.3.2书籍信息表的数据录入完成表设计器之后系统默认提示“是否现在录入数据”,单击“是”,则可以开

19、始录入数据,或者输入“append”命令添加新的数据,书籍信息表数据录入具体如图4.6所示: 图4.6书籍信息表数据录入示意图 4.4借阅信息表的开发与设计4.4.1借阅信息表的表设计器单击项目管理器中“新建”命令创建“表”,或者在命令框中输入“create”建立新表,其中表设计器的录入应当符合之前制定的逻辑结构,具体如图4.7所示:图4.7借阅信息表表设计器图4.4.2借阅信息表的数据录入完成表设计器之后系统默认提示“是否现在录入数据”,单击“是”,则可以开始录入数据,或者输入“append”命令添加新的数据,借阅信息表数据录入具体如图4.8所示下:图4.8借阅信息表数据录入示意图4.5用户

20、信息表的开发与设计4.5.1用户信息表的表设计器单击项目管理器中“新建”命令创建“表”,或者在命令框中输入“create”建立新表,其中表设计器的录入应当符合之前制定的逻辑结构,具体如图4.9所示:图4.9用户信息表数据录入示意图4.5.2用户信息表的数据录入完成表设计器之后系统默认提示“是否现在录入数据”,单击“是”,则可以开始录入数据,或者输入“append”命令添加新的数据,用户信息表数据录入具体如图4.9所示:图4.9用户信息表数据录入示意图5系统的实现5.1主程序实现在“项目管理器”对话框中打开“代码”选项卡,选择“程序”选项,单击“新建”按钮,即可打开程序编辑窗口,在程序编辑窗口创

21、建main程序并将其设置为主程序,如图5.1所示: 图5.1主程序代码示意图代码为:set talk offset safety offset stat bar offset sysmenu off &可关掉Visual FoxPro系统菜单的区域set sysmenu to &关闭系统菜单set century on _screeen.visible=.f. &隐藏系统主菜单do form formspass &执行登录表单read events &开始事件循环5.2 “命令按钮”实现5.2.1“命令按钮”界面设定单击项目管理器的“类”建立,新建创建“命令按钮类”,其最终效果如图5.2所示:

22、 图5.2命令按钮界面设定示意图5.2.2“命令按钮”属性设置命令按钮属性如表5.1所示: 表5.1命令按钮属性设置示意图5.2.3“命令按钮”代码实现(1)“首记录”代码this.mousepointer=99this.mouseicon=sys(5)+imagepoint.curGo topthis.enabled=.f.this.parent.CmdPrev.enable=.f.this.parent.CmdNext.enable=.t.this.parent.CmdEnd.enable=.t.thisform.refresh(2)“上一条”代码this.mousepointer=99t

23、his.mouseicon=sys(5)+imagepoint.curskip-1if bof() messagebox(已经是第一条记录,48,信息窗口) this.enabled=.f. this.parent.CmdTop.enabled=.f. endifthis.parent.CmdNext.enabled=.t.this.parent.CmdEnd.enabled=.t.thisform.refresh(3)“下一条”代码this.mousepointer=99this.mouseicon=sys(5)+imagepoint.curskipif eof() messagebox(已

24、经是最后一条记录,48,信息窗口) skip-1 this.enabled=.f. this.parent.CmdEnd.enabled=.f. endif this.parent.CmdTop.enabled=.t. this.parent.CmdPrev.enabled=.t. thisform.refresh(4)“末记录”代码this.mousepointer=99this.mouseicon=sys(5)+imagepoint.curGo bottomthis.enabled=.f.this.parent.CmdPrev.enabled=.t.this.parent.CmdNext.

25、enabled=.f.this.parent.CmdTop.enabled=.t.thisform.refresh(5)“返回”代码this.mousepointer=99this.mouseicon=sys(5)+imagepoint.curthisform.releasedo form formsmainform5.3 Pass表单实现5.3.1Pass表单数据环境本表单的功能用于接受用户名和密码,判断是否合法。如果为合法用户,则调用mainform主表单,如果为非法用户,重新输入用户名和密码,三次输入均为非法用户时,系统将终止运行。Pass表单的数据环境为User表,其数据环境设计器界面

26、如图5.3所示: 图5.3Pass表单数据环境示意图5.3.2Pass表单界面设定Pass表单设计界面如图5.4所示: 图5.4Pass表单页面设定示意图5.3.3Pass表单代码实现(1)form的init事件 public s s=0(2)CmdExit的Click事件set exact ons=s+1select userlocate for alltrim(用户名)=alltrim(thisform.TXT用户.value) and alltrim(密码)=alltrim(thisform.TXT口令.value) if found() do formmainform Else if

27、s3 messagebox(用户名/密码不正确,重新输入,48,系统提示) thisform.txt用户.value= thisform.txt口令.value= thisform.txt用户.setfocus() else messagebox(系统无法启动!,48,系统提示) thisform.release clear quit endifendifthisform.releaseset exact off5.4 系统主表单实现5.4.1系统主菜单的页面设定本菜单使用命令按钮调用“学生管理”表单、“图书管理”表单和“借阅管理”表单,其设计界面如图5.5所示: 5.5系统主菜单页面设定示意

28、图5.4.2系统主菜单的代码实现(1)“学生管理”按钮的Click事件this.mousepointer=99this.mouseicon=sys(5)+imagespoint.curdo form formsstudentthisform.release(2)“图书管理”按钮的Click事件this.mousepointer=99this.mouseicon=sys(5)+imagespoint.curdo form formsbookthisform.release(3)“借阅管理”按钮的Click事件this.mousepointer=99this.mouseicon=sys(5)+im

29、agespoint.curdo form formsborrowthisform.release(4)“返回”按钮的Click事件this.mousepointer=99this.mouseicon=sys(5)+imagespoint.curthisform.releasedo formPass表单5.5学生管理表单实现5.5.1学生管理表单的数据环境学生管理表单用于学生记录的编辑功能,其数据环境如图5.6所示下: 图5.6学生管理表单数据环境示意图5.5.2学生管理表单的页面设定学生管理表单的页面设定如图5.7所示: 图5.7学生管理表单页面设定示意图5.5.3学生管理表单的代码实现(1)

30、Form的init事件 Public sfindendproc(2)Form的stubrowse事件Thisform.stubutton.CmdTop.enabled=.t.Thisform.stubutton.CmdPrev.enabled=.t.Thisform.stubutton.CmdNext.enabled=.t.Thisform.stubutton.CmdEnd.enabled=.t.Thisform.stubutton.CmdAdd.enabled=.t.Thisform.stubutton.CmdEdit.enabled=.t.Thisform.stubutton.CmdDel

31、ete.enabled=.t.Thisform.stubutton.CmdFind.enabled=.t.Thisform.stubutton.CmdPrint.enabled=.t.Thisform.stubutton.CmdSave.enabled=.f.Thisform.stubutton.CmdCancel.enabled=.f.Thisform.stubutton.CmdExit.enabled=.t.Thisform.stuogp.enabled=.f.Thisform.txt学号.readonly=.t.Thisform.txt姓名.readonly=.t.Thisform.tx

32、t学院.readonly=.f.Thisform.txt.专业readonly=.t.Thisform.txt班级.readonly=.t.Thisform.txt地址.readonly=.t.Thisform.txt电话.readonly=.t.endproc(3)Form的stumodify事件Thisform.stubutton.CmdTop.enabled=.f.Thisform.stubutton.CmdPrev.enabled=.f.Thisform.stubutton.CmdNext.enabled=.f.Thisform.stubutton.CmdEnd.enabled=.f.

33、Thisform.stubutton.CmdAdd.enabled=.f.Thisform.stubutton.CmdEdit.enabled=.f.Thisform.stubutton.CmdDelete.enabled=.f.Thisform.stubutton.CmdFind.enabled=.f.Thisform.stubutton.CmdPrint.enabled=.f.Thisform.stubutton.CmdSave.enabled=.t.Thisform.stubutton.CmdCancel.enabled=.t.Thisform.stubutton.CmdExit.ena

34、bled=.f.Thisform.stuogp.enabled=.t.Thisform.txt学号.readonly=.f.Thisform.txt姓名.readonly=.f.Thisform.txt学院.readonly=.t.Thisform.txt.专业readonly=.f.Thisform.txt班级.readonly=.f.Thisform.txt地址.readonly=.f.Thisform.txt电话.readonly=.f.endproc(4)Form的Active事件Select studentSet filter toGo topThisform.stubrowse()

35、This.refreshendproc(5)Cmd的valid事件Thisform.txt班级.valid()Select studentEndpro(6)“添加”按钮的click事件Select studentThisform.sturecord=recno()Go bottomAppend blankThisform.stumodify()Thisform.refresh()endproc(7)“编辑”按钮的click事件Thisform.sturecord=recno()Thisform.stumodify()Thisform.txt学号.readonly=.t.Thisform.ref

36、resh()Endproc(8)“删除”按钮的click事件If messagebox(“确定删除”,4+32,“图书借阅管理系统”)=6Thisform.sturecord=recno()Set exact onSelece borrowLocate for 学号=alltrim(thisform.txt学号.value)and emptyIf found()Messagebox(“该学生有未还书籍,不能删除”,48,“图书借阅管理系统”)Select studentSet filter toGo thisform.sturecordElseSelect borrowGo topDo whi

37、le not eof()If 学号=alltrim(thisform.txt学号.value)DeletePackEndifSkipEnddoSelect studentDeletePackMessagebox(“删除成功”,64,“图书借阅管理系统”)Select studentGo topThisform.stubrowse()EndifThisform.refresh()Set exact offEndifEndproc(9)“查找”按钮的click事件Do form formsstuinputendproc(10)“取消”按钮的click事件If messagebox(“确定取消”,4

38、+32,“系统消息”)=6Tablerevert(.f.)Go thisform.sturecordThisform.stubrowse()Thisform.txt学号.readonly=.t.Thisform.refresh()Endifendproc(11)“打印”按钮的click事件Stuno=thisform.txt学号.valuePname=”stu”Do form formsprintoutEndproc(12)“保存”按钮的click事件Local xX=.t.Do caseCase empty(alltrim(thisform.txt学号.value)Messagebox(“学

39、号不能为空”,48,“图书借阅管理系统”)Thisform.txt学号.setfocus()X=.f.Case empty(alltrim(thisform.txt姓名.value)Messagebox(“姓名不能为空”,48,“图书借阅管理系统”)Case empty(thisform.Cmb班级.value)Messagebox(“班级不能为空”,48,“图书借阅管理系统”)Thisform.Cmb班级.setfocus()X=.f.EndcaseIf x=.t.If messagebox(“确定保存”,4+32,“图书借阅管理系统”)=6Messagebox(“保存成功”,64,“图书借

40、阅管理系统”)Thisform.stubrowse()Thisform.refresh()EndifEndifEndproc5.6学生查询条件表单实现5.6.1学生查询条件表单界面设定本表单被student表单调用,其设计界面如图5.8所示: 图5.8学生查询条件表单界面设定示意图5.6.2学生查询条件表单代码实现(1)“查询”按钮的click事件Sfind=”.t.”If not empty(alltrim(thisform.txt学号.value)Sfind=”+alltrim(thisform.txt学号value)+”$学号”EndifIf not empty(alltrim(this

41、form.txt姓名.value)Sfind=sfind+”.and.”+”+alltrim(thisform.txt姓名.value)+”$姓名”EndifThisform.release()Do form formsstufindEndproc(2)“退出”按钮的click事件Procedure CmdExit.click()Thisform.releaseEndproc5.7学生信息查询结果表单实现5.7.1学生信息查询结果表单数据环境该表单为stuinput调用,用于显示学生查询结果,其数据环境如图5.9所示: 图5.9学生信息查询结果表单数据环境示意图5.7.2学生信息查询结果表单界

42、面设定学生信息查询结果表单界面如图5.10所示: 图5.10学生信息查询结果表单界面设定示意图5.7.3学生信息查询结果表单代码实现(1)Form的init事件Select studentSet filter to &SfindCourt for &Sfind to nIf n=0Thisform.CmdPrint.enabled=.f.Endifendproc (2)“打印”按钮的click事件Report form reportsstudent for &sfind previewendproc5.8图书管理表单实现5.8.1图书管理表单的数据环境该表单用于图书记录的编辑功能,其数据环境如

43、图5.11所示: 图5.11图书管理表单数据环境示意图 5.8.2图书管理表单的页面设定该图书管理表单页面设定如图5.12所示: 图5.12图书管理表单页面设定示意图5.8.3图书管理表单的代码实现(1)Form的init事件 Public booknoendproc(2)Form的stubrowse事件Thisform.stubutton.CmdTop.enabled=.t.Thisform.stubutton.CmdPrev.enabled=.t.Thisform.stubutton.CmdNext.enabled=.t.Thisform.stubutton.CmdEnd.enabled=

44、.t.Thisform.stubutton.CmdAdd.enabled=.t.Thisform.stubutton.CmdEdit.enabled=.t.Thisform.stubutton.CmdDelete.enabled=.t.Thisform.stubutton.CmdFind.enabled=.t.Thisform.stubutton.CmdPrint.enabled=.t.Thisform.stubutton.CmdSave.enabled=.f.Thisform.stubutton.CmdCancel.enabled=.f.Thisform.stubutton.CmdExit.

45、enabled=.t.Thisform.txt图书编号.readonly=.t.Thisform.txt图书名称.readonly=.t.Thisform.txt图书类别.readonly=.t.Thisform.txt入库日期.readonly=.t.Thisform.txt出版社.readonly=.t.Thisform.txt定价.readonly=.t.Thisform.edt备注.readonly=.t.endproc(3)Form的stumodify事件Thisform.stubutton.CmdTop.enabled=.f.Thisform.stubutton.CmdPrev.e

46、nabled=.f.Thisform.stubutton.CmdNext.enabled=.f.Thisform.stubutton.CmdEnd.enabled=.f.Thisform.stubutton.CmdAdd.enabled=.f.Thisform.stubutton.CmdEdit.enabled=.f.Thisform.stubutton.CmdDelete.enabled=.f.Thisform.stubutton.CmdFind.enabled=.f.Thisform.stubutton.CmdPrint.enabled=.f.Thisform.stubutton.CmdS

47、ave.enabled=.t.Thisform.stubutton.CmdCancel.enabled=.t.Thisform.stubutton.CmdExit.enabled=.f.Thisform.stuogp.enabled=.t.Thisform.txt图书编号.readonly=.f.Thisform.txt图书名称.readonly=.f.Thisform.txt图书类别.readonly=.f.Thisform.txt入库日期.readonly=.f.Thisform.txt出版社.readonly=.f.Thisform.txt定价.readonly=.f.Thisform.

48、edt备注.readonly=.f.endproc(4)Form的Active事件Select bookSet filter toGo topThisform.stubrowse()This.refreshendproc(5)Form的refresh事件Select bookIf 是否借出=.f.Thisform.lblshow.forecolor=RGB(0,0,255)Thisform.lblshow.caption=”此书未借出”ElseThisform.lblshow.forecolor=RGB(0,0,255)Thisform.lblshow.caption=”此书已借出”Endif

49、endproc(6)“添加”按钮的click事件Select bookThisform.bookrecord=recno()Go bottomAppend blankThisform.bookmodify()Thisform.refresh()endproc(7)“编辑”按钮的click事件Thisform.bookrecord=recno()Thisform.bookmodify()Thisform.txt图书编号.readonly=.t.Thisform.refresh()Endproc(8)“删除”按钮的click事件If messagebox(“确定删除”,4+32,“图书借阅管理系统

50、”)If x=6Thisform.bookrecord=recno()If thisform.lbjshow.caption=”此书已借出”Messagebox(“该书未还”,48,”图书借阅管理系统”)ElseSet exact onSelece borrowGo topDo while not eof()If 图书编号=alltrim(thisform.txt图书编号.value)DeletePackEndifSkipEnddoSelect studentDeletePackMessagebox(“删除成功”,64,“图书借阅管理系统”)EndifThisform.refresh()Set

51、 exact offEndifEndproc(9)“查找”按钮的click事件Do form formsbookinputendproc(10)“取消”按钮的click事件If messagebox(“确定取消”,4+32,“系统消息”)=6Tablerevert(.f.)Go thisform.sturecordThisform.stubrowse()Thisform.txt学号.readonly=.t.Thisform.refresh()Endifendproc(11)“打印”按钮的click事件Stuno=thisform.txt学号.valuePname=”stu”Do form fo

52、rmsprintoutEndproc(12)“保存”按钮的click事件Local xX=.t.Do caseCase empty(alltrim(thisform.txt图书编号.value)Messagebox(“图书编号不能为空”,48,“图书借阅管理系统”)Thisform.txt学号.setfocus()X=.f.Case empty(alltrim(thisform.txt图书名称.value)Messagebox(“图书名称不能为空”,48,“图书借阅管理系统”)Case empty(thisform.Cmb图书类别.value)Messagebox(“图书类别不能为空”,48,

53、“图书借阅管理系统”)Thisform.Cmb图书作者.setfocus()X=.f.EndcaseIf x=.t.If messagebox(“确定保存”,4+32,“图书借阅管理系统”)=6Messagebox(“保存成功”,64,“图书借阅管理系统”)Thisform.bookbrowse()Thisform.refresh()EndifEndifEndproc5.9图书查询条件表单实现5.9.1图书查询条件表单界面设定本表单被Book表单调用,其设计界面如图5.13所示: 5.13图书查询表单页面设定示意图5.6.2图书查询条件表单代码实现(1)“查询”按钮的click事件Bfind=

54、”.t.”If not empty(alltrim(thisform.txt图书编号.value)Bfind=”+alltrim(thisform.txt图书编号value)+”and编号”EndifIf not empty(alltrim(thisform.txt图书名称.value)Bfind=Bfind+”and 书名”+”+alltrim(thisform.txt图书名称.value)+”EndifIf not empty(alltrim(thisform.txt图书类别.value)Bfind=Bfind+”.and.”+”+alltrim(thisform.txt图书类别.valu

55、e)+”EndifThisform.release()Do form formsstufindEndproc(2)“退出”按钮的click事件Procedure CmdExit.click()Thisform.releaseEndproc5.10借阅管理表单实现5.10.1借阅管理表单数据环境该表单用于图书借阅管理,其数据环境如图5.14所示: 图5.14借阅管理表单数据环境示意图5.10.2借阅管理表单界面设定借阅管理表单界面设定如图5.15所示: 图5.15借阅管理表单系统界面设定示意图5.10.3借阅管理表单代码实现5.11图书借阅排行榜表单实现5.11.1图书借阅排行榜表单数据环境该表

56、单用于显示图书借阅前10位排行,其数据环境如图5.16所示: 图5.16图书借阅排行榜表单数据环境示意图5.11.2图书借阅排行榜表单页面设定图书借阅排行榜表单的设定界面如图5.17所示: 图5.17图书借阅排行榜表单界面设定示意图5.11.3图书借阅排行榜表单代码实现(1)Form表单的load事件Select top 10 book.编号,book.书名,book.作者,book.出版社,book.借阅次数;From 图书管理!book book order by book.借阅次数 desc into cursor TMPendproc(2)“打印”按钮的click事件Select TMPReport form reportsbooklist previewendproc(3)“退出”按钮的cli

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!