图书馆管理系统数据库课程设计_第1页
图书馆管理系统数据库课程设计_第2页
图书馆管理系统数据库课程设计_第3页
图书馆管理系统数据库课程设计_第4页
图书馆管理系统数据库课程设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、成绩:实 验 报 告课程名称:数据库应用技术实验项目:图书馆管理系统姓 名:专 业:计算机科学与技术班 级:计算机09-1班学 号:计算机科学与技术学院实验教学中心2012年 5月 10日1项目背景1.1 系统背景信息化是当今世界发展的大趋势,所谓信息化,就是充分利用信息技术,开发利用信息资源,促进信息交流和知识共享,提高经济增长质量,推动经济社会发展转型的历史进程。大力推进信息化发展,已成为我国经济社会发展新阶段重要而紧迫的战略任务。小型图书馆管理信息系统就是能满足读者和图书相对数量较少的小型图书馆实现日常操作信息化和后台统计电算化的系统,它可以帮助图书馆管理人员处理基本的管理项目,使小型图

2、书馆也能满足信息化的需要。开发这个小型图书馆管理软件,利用计算机对图书资料以及读者资料进行管理能提高工作效率,可方便查找图书信息,快捷的借出或归还图书。管理员还可根据系统提供的图书借阅排行榜功能即时了解图书的需求信息,掌握今后图书的订购计划;也可根据罚款统计功能统计某一时间段内收缴罚款的总额。本系统面向windows操作系统,以microsoft access 2003为后台数据库,采用visual basic.net作为开发工具,开发过程采用面向对象技术。1.2 系统意义 图书馆进行社会教育,主要表现在可以为社会、为读者提供最完备的学习条件:资源、场地、设备。受教育者可以长期的、自由地利用图

3、书馆进行自学。它还是学校教育的重要组成部分。在学校里,图书馆是基本的教育设施,它被誉为“知识的宝库、知识的喷泉”,“大学的心脏”,“学校的第二课堂”,直接承担着培养人才的重任。2 系统分析2.1 可行性分析1)技术可行性随时计算机技术和管理信息系统的不断进步和发展,对小型图书馆的管理从以前手工管理转移到计算机管理是切实可行的。由于市面上已经有很多大型图书馆的管理软件,因此在技术上是相当成熟的,其可行性也是毋庸置疑的。本系统是针对小型单位或组织的小型图书馆来开发图书馆管理系统,面向windows操作系统,以microsoft access 2003作为后台数据库,采用visual basic.n

4、et作为开发工具,采用面向对象技术。笔者对这两种工具掌握程度较好,因此在技术上不存在问题。2)经济可行性本系统的开发只需有安装好相应运行软件的计算机即可,对经济的要求很低。项目成功后,可加快对数据的处理,节省人力,节约时间。系统对于输入输出的规范,也提高了数据的可用性,增强了数据库的安全系数。运用系统能方便的对图书和读者进行录入、修改、查询和统计以及书籍借阅和归还等工作,也能快速统计出图书借阅排行榜,从而便于掌握对各类图书的需求,对以后制订的图书订购计划能提供一定帮助,具有一定的现实意义。3)操作可行性本系统界面友好,不仅提供各种查询菜单栏,更提供直观的工具栏按钮,操作流程与实际流程一致,图书

5、馆管理人员只要稍加了解就能熟练操作。系统实现后,能使小型图书馆管理人员从繁杂的手工作业中解放出来,提高其工作效率。综上所述,系统是可行的。2.2 需求分析小型图书馆管理信息系统,是按照实际的图书借阅流程来设计的,因此其功能也是跟实际的图书馆借阅功能一致。所以,该小型图书馆管理系统的设计,要包含图书借出、归还功能和数据统计功能。主要应具备以下业务处理能力:图书借出,完成借书时的信息查询,借后的信息入库,借书次数统计等等;图书归还,完成还书时的信息查询和数据入库等。另外还需具有图书信息管理和读者信息管理所需的基本功能,包括添加、删除、修改和查询,以及相关信息导入excel和打印功能等。此外,一些相

6、关的数据统计功能也很必要,如借阅统计、读者超期罚款统计等,可以为管理员工作提供参考。整个系统既要实现基本业务,还要提供高效性、易用性和稳定性的性能要求。2.3系统功能分析系统功能分析是在系统开发的总体任务的基础上完成。图书管理系统需要完成功能主要有:l 有关读者种类标准的制定、种类信息的输入,包括种类编号、种类名称、借书数量、借书期限、有效期限、备注等。l 读者种类信息的修改、查询等。l 读者基本信息的输入,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等。l 读者基本信息的查询、修改,包括读者编号、读者姓名、读者种类、读者性别、工作单位

7、、家庭住址、电话号码、电子邮件地址、办证日期、备注等等。l 书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称、关键词、备注信息等。l 书籍类别信息的查询、修改,包括类别编号、类别名称、关键词、备注信息等。l 书籍信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页数、关键词、登记日期、备注信息等。l 借书信息的查询、修改,包括借书信息编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。l 还书信息的输入,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。还书信息的查寻和修改,包括还书信息编号、读者编号、读者

8、姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。2.3.1系统功能模块图对上述各功能进行集中、分块,按照结构化程序设计的要求,得到如图一所示的系统功能模块图。2.4业务流程分析2.4.1 业务流程描述1)添加图书新添加的图书由管理员进行入库操作,添加图书信息到图书信息表中。管理员依次输入图书条形码,书名,作者,出版社,出版时间,页数,类别,存放位置,图书总数和图书价格,系统自动根据图书类别、出版时间给出该书在数据库中的唯一编号,并同时记录入馆时间。所有这些信息将会被添加到图书基本信息表中。2)添加读者新加入的读者也由管理员进行添加操作,添加新读者信息到读者信息表中。管理员依次输入读者

9、姓名,单位部门,住址,备注,联系电话和类别,系统自动根据读者类别等信息给出该读者在数据库中的唯一编号,并自动记录登记日期。所有这些信息将被添加到读者基本信息表中。3)图书管理可以对数据库中所有的图书(包括在馆和不在馆的)进行管理,可以对图书信息进行修改、删除。首先使用“定位”来确认要管理的图书,也可通过图书编号、条形码等来查找要管理的图书。4)读者管理可以对数据库中所有的读者进行管理,可以对读者的信息进行修改、删除。首先使用“定位”来确认要管理的读者,也可通过读者编号、姓名等来查找要管理的读者。5)图书借出业务读者根据需要查询图书信息,找到要借图书后,系统根据读者编号和图书编号调出相关信息,判

10、断读者能否借此书,并根据读者类别计算应还日期,借书成功后系统自动在相关数据表中修改读者借书信息以及该图书相关信息。6)图书归还业务系统根据图书实际归还日期以及应还日期判断是否超期,根据罚款设置表中相关信息计算罚款金额,并提示过期读者应缴纳的罚款金额,最后将归还信息写入数据库各相应的数据表中。7) 信息查询业务包括图书基本信息查询,读者基本信息查询,在这个查询界面,系统提供多种查询条件供用户选择,根据需要查询信息。主界面上的用户自定义查询都支持模糊查询,以方便用户。另外也可对所有借出图书,当日借出、当日归还、当日新进图书信息进行查询,以及当日借书读者、当日还书读者,当日新增读者和过期未还读者信息

11、的查询。无论是那种查询,都可以把查询出来的数据导入到excel或打印。8) 统计业务包括图书借阅排名统计和罚款金额统计。在图书借阅排名统计中,系统提供借出次数前10名的图书排行榜,让管理员掌握读者的喜好,为以后购买图书提供参考。在罚款金额统计中,管理员只需选择要统计的时间段,就可以统计出该时间段内的罚款信息以及罚款总额。9)系统管理这部分包括修改管理员登录密码、图书类别设置、存放位置设置和读者类别设置等。10)打印操作 本系统提供所有图书信息打印,所有读者信息打印等,另外也提供自定义打印,即可对查询出来的结果进行打印。2.4.2 系统业务流程图业务流程图(transaction flow di

12、agram, tfd)是一种描述系统内各单位、人员之间业务关系,作业顺序和管理信息流向的图表1。业务流程图常用符号如图所示:根据上述对图书馆管理流程一系列的调研和分析,可以得到如下图所示的系统综合业务流程图:2.5 数据流程分析数据流程图(data flow diagram, dfd)是以管理业务流程图为依据,通过抽象以舍去具体的组织结构、工作场所和物流等,单从数据信息流动的角度,来描述系统内部及系统与环境之间的数据信息的传递、处理和存储过程的一种工具1。数据流程图中常用的符号如图所示:根据系统的业务流程,对其中的数据流向、处理及数据存储进行分析后,可以得到本系统的数据流程图:2.6 数据字典

13、数据字典是用来规范化描述数据具体内容的工具,也是对数据汇总分析的一个总结,包括数据流字典、数据存储字典和数据处理字典(分别如下文所示)。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述1。数据流字典清单:1) 编号:f1名称:读者借阅请求来源:读者去向:p1检查库存和读者信息内容:读者相关信息以及要借图书编号或条形码等信息2) 编号:f2名称:新的借阅信息来源:p1检查库存和读者信息去向:p2创建新的借书记录内容:读者合法且可以借书,图书有库存可以借出3) 编号:f3名称:新的读者信息来源:p1检查库存和读者信息去向:p3创建新读者内容:没有该读者,以及新读者的

14、基本信息如姓名、单位等4) 编号:f4名称:图书相关信息来源:d2图书信息表去向:p1检查库存和读者信息内容:被要求借阅图书的信息,包括图书基本属性和现有数量等信息5) 编号:f5名称:合法的读者信息来源:p3创建新读者去向:d1读者信息表内容:系统要求的读者信息,如姓名、单位、登记日期等6) 编号:f6名称:读者情况来源:d1读者信息表去向:p1检查图书库存和读者信息内容:有借书请求的读者相关情况7) 编号:f7名称:超期罚款标准来源:d1读者信息表去向:p5计算罚款金额内容:超期读者的类别以及该类别超期的罚款标准8) 编号:f8名称:借阅信息来源:p2创建新的借阅记录去向:d3借阅情况表内

15、容:借书的读者信息以及所及图书信息,借书日期9) 编号:f9名称:归还图书请求来源:读者去向:p4归还图书内容:读者信息,要归还图书信息10)编号:f10名称:归还图书信息来源:p4归还图书去向:d3借阅信息表内容:读者信息,归还的图书信息,还书时间11)编号:f11 名称:超期天数来源:p4归还图书去向:p5计算罚款金额内容:读者超期图书的超期天数12)编号:f12名称:罚款记录来源:p5计算罚款金额去向:d4罚款金额统计表内容:读者以及超期图书相关信息,超期天数,罚款总额13)编号:f13名称:罚款金额通知来源:p5计算罚款金额去向:读者内容:读者为超期图书支付的罚款金额数据存储字典清单:

16、1) 编号:d1名称:读者信息表输入数据流:新读者信息输出数据流:读者相关信息内容:读者编号、姓名、性别、单位部门、联系电话、类别、等级日期、借书次数等与读者有关的各种信息2) 编号:d2名称:图书信息表输入数据流:新图书信息输出数据流:图书相关信息内容:图书编号、条形码、书名、作者、出版社出版时间、页数、类别、存放位置、图书总数、入馆时间、如数价格、借出次数等与图书有关的各种信息3) 编号:d3名称:图书借阅情况表输入数据流:读者信息,图书信息,读者借阅请求等输出数据流:图书借阅中读者和图书相关信息内容:编号,借书者信息、所借图书信息、借书日期等4) 编号:d4名称:罚款统计表输入数据流:超

17、期天数、读者信息、罚款标准等输出数据流:读者超期罚款相关信息内容:超期图书的借阅者、超期天数、罚款金额等数据处理字典清单:1) 编号:p1名称:检查图书库存和读者信息输入:读者借书请求处理逻辑情况:根据读者借书请求,参考d1和d2,若没有该读者则创建新读者,若图书可借则创建新的借阅信息输出:创建新的借阅信息2) 编号:p2名称:创建新的借书记录输入:新借书信息,即读者和所借图书相关信息处理逻辑情况:根据p1的结果,将新借阅信息添加到d3(图书借阅情况表)中输出:新的借阅信息3) 编号:p3名称:创建新读者输入:新读者信息处理逻辑情况:根据读者的基本信息,给出读者编号,添加到d2(读者信息表)中

18、输出:新加入的读者信息4) 编号:p4名称:归还图书输入:还书请求处理逻辑情况:根据还书读者属性,以及借阅情况,判断是否过期,若没有则还书成功,若过期,则执行p5输出:归还信息5) 编号:p5名称:计算罚款金额输入:罚款标准、超期天数处理逻辑情况:根据该读者的超期天数、对应的罚款标准计算出罚款金额,填入d4(罚款统计表)中输出:罚款信息3.数据库设计3.1 er图设计规划出的实体有:读者类别信息实体、读者信息实体、书籍类别信息实体、书籍信息实体、借阅信息实体、借阅信息实体。各个实体具体的描述e-r图如下。读者类别信息实体读者类别信息实体e-r图借书数量种类编号种类名称借书期限 读者信息实体e-

19、r图。读者信息实体办证日期读者编号读者类别读者姓名 书籍类别实体e-r图书籍类别信息实体备注信息类别编号类别名称关键词 书籍信息实体e-r图书籍信息实体出版社书籍编号书籍类别书籍名称 借阅信息实体e-r图借阅信息实体借书借书借阅信息编号书籍信息读者信息 实体之间相互关系的e-r图书籍类别信息读者类别信息 读者信息登记书籍信息登记书籍信息管理读者信息管理借阅登记借阅信息管理3.2 数据库逻辑结构设计e-r图是建立数据模型的基础,根据e-r模型向关系模式的转换规则,可以将e-r图中所有的实体和联系都用关系来表示,从而可以得到数据库的逻辑模型。该图书馆管理信息系统中各个数据表的设计如下所示:图书馆管

20、理系统中数据库的各个表格设计结果如下: 书库图书信息表列名列名表示数据类型长度图书编号bidnumber20书名bnamevarchar220类别liebievarchar220出版社chubanshevarchar220作者zuozhevarchar220版次bancinumber20定价pricenumber20是否损坏brokenboolean5是否遗失missboolean5入库时间timedate/time20库存总数btotalnumnumber20已借出数bborrowednumnumber20 学生信息表列名列名表示数据类型长度学号stuordnumber20姓名stuname

21、varchar220性别sexboolean5系别xibievarchar220班级classnumber20已借图书stuborrowinteger5已借数量stunnumnumber20 借阅信息表列名列名表示数据类型长度图书编号bidnumber20学号stuordnumber20书名bnamevarchar220学生姓名stunamevarchar220已借图书borrownuminteger5借阅日期datedate/time20是否归还backboolean5续借xujieboolean5 过期书信息表列名列名表示数据类型说明图书编号bidnumber20书名bnamevarcha

22、r220学号stuordnumber20学生姓名stunamevarchar220过期时间deadtimedate/time20 罚款信息表列名列名表示数据类型长度流水号serialidnumber20罚款原因reasonvarchar2100罚款金额numnumber5日期datedate/time203.3物理结构设计3.3.1创建表空间1、 创建表空间create tablespace book_tbsdatafile'c:lib_tablespacebook_tbs01.dbf'size 32m;2、 在oracle中创建用户book并使用上面的表空间create us

23、er bookidentified by bookdefault book_tbs;3、 给book用户授权并使用book用户完成下列步骤grant create session,dba to book;4、 创建各对象表书库图书信息表:create table books( bid number(20), bname varchar2(20), liebie varchar2(20), chubanshe varchar2(20), zuozhe varchar2(20), banci number(20), price number(5),broken boolean(5),miss bo

24、olean(5),time data,btotalnum number(20),bborrowednum number(20);学生信息表:create table students( stuord number(20), stuname varchar2(20), sex boolean, xibie varchar2(20), class number(20), stuborrow int stunum number(20);借阅信息表:create table borrow ( bid number(20), bname varchar2(20),stuord number(20), s

25、tuname varchar2(20),borrownum int, date date, liebie varchar2(20), back boolean,xujie boolean);过期书信息表:create table guoqi ( bid number(20),bname varchar2(20),stuord number(20), stuname varchar2(20),deadtime date);罚款信息表:create table fakuan(serialid number(20),num number(5),reason varchar2(100),date da

26、te);3.3.2创建触发器1. 创建触发器-(查询图书信息)create trigger selectborrowon borrowfor selectas declare btotal int,bborrowed intselect btotal=btotalnum,bborrowed=bborrowednum from inserteddbms.output.put_line(图书总量:| btotal)dbms.output.put_line(图书借书数:| bborrowed)end;/2. 创建触发器-(查询学生信息)create trigger selectstudenton s

27、tudentsfor selectasdeclare stuord number,stuname varchar2, stunum number, stuborrow intselect stuord = stuord, stuname = stuname,stunum= stunum, stuborrow= stuborrow from inserteddbms.output.put_line(学号:| stuord)dbms.output.put_line(学生姓名:| stuname)dbms.output.put_line(学生借书量:| stunum)dbms.output.put_

28、line(学生借书科目:| stuborrow)end;/ 3.创建触发器-(书本没有库存,则无法进行借书操作)create trigger tri_bookon booksfor updateasdeclare btotal int,bborrowed intselect btotal=btotalnum,bborrowed=bborrowednum from insertedif(btotal<bborrowed)beginrollback transactiondbms.output.put_line( '无法借阅!')dbms.output.put_line( &

29、#39;对不起,此书已经没有库存,无法进行本次借书操作!')end;/4.创建触发器-借书要求(读者最多借阅量)-假定学生最多只能借五本书create trigger borrownumon borrowfor insertasdeclare no char(10),num tinyint -获得学号select no=stuord from inserted -统计学生借书总量并做相应处理select num=count(*)from borrowwhere sno=noif(num>5) -假定学生最多只能借五本书beginrollback transactiondbms.o

30、utput.put_line( '无法借阅!')dbms.output.put_line( '对不起,你的借阅总量已经达到5本,无法进行本次借书操作!请归还部分书籍后,再进行借书操作!')end;/5.创建触发器-(图书过期要求)create trigger tri_srenewbookon studentsfor updateas declare s intselect s=deadtime from insertedif(s>60)beginrollback transactiondbms.output.put_line( '您借的图书已过期,

31、无法再借阅别的书.')end/3.3.3创建视图1.create view book_view(bv_bid,bv_bname,bv_bborrowed,bv_btotal)asselect bid,bname,bborrowednum,btotal,from books;2.create view student_view(sv_stuord,sv_stuname,sv_class,sv_borrownum)asselect stuord, stuname, class, borrownum from students;3.create view borrow_view(jv_bid

32、,jv_stuord,jv_stuname,jv_bname,jv_ borrownum,jv_back) as select bid,stuord,stuname,bname,borrownum,back from borrow;4. create view guoqi_view(gusv_bid,gusv_bname,gusv_stuname,gusv_ class)as select bid, bname, stuname, class from guoqi;4系统模块设计4.1图书馆管理信息系统主窗体的设计一.创建工程项目-library mis打开visual basic后,单击fi

33、lelnew project菜单,在工程模板中选择standard exe,visual basic将自动产生一个form窗体,属性都是缺省设置.这里我们删除这个窗体,单击filelsave project菜单,将这个工程项目命名为libray mis.二.创建图书馆管理信息系统的主窗体这个项目使用多文档界面,单击工具蓝栏中的add mdi form 按钮,生成一个窗体.在这个窗体上添加需要的控件,窗体和控件的属性设置如表6.表六 主窗体及其控件属性设置 控 件属 性属性取值frmmain(form) namefrmmaincaption图书馆管理信息系统starupositoncenters

34、creenwindowstatemaximizedsbstatusbar(statusbar)namesbstatusbarpanles(1)stylesbrtextpanles(2)stylesbrdatepanles(3)stylesbrtime在主窗体中加入状态栏控件,可以实时反映系统中的各个状态的变化.状态栏控件需要在通常的属性窗口中设置一般属性,还需要在其特有的弹出式菜单中进行设置.选中状态栏控件,单击鼠标右键,选中property菜单,然后设置属性.面板1用来显示各种文本信息,面板2用来显示当前日期,面板3用来显示当前时间.创建好的窗体如图9所示. 图 9 图书馆管理信息系统主窗体

35、三.创建主窗体的菜单在如图9所示的主窗体中,单击鼠标右键,选择弹出式菜单中的menu editor,创建如图10所示的菜单结构.系统····修改密码····添加用户····退出读者管理····读者种类管理········添加读者种类········修改读者种类·

36、3;······删除读者种类····读者信息管理········添加读者信息········修改读者信息········删除读者信息书籍管理····书籍类别管理·····

37、···添加书籍类别········修改书籍类别········删除书籍类别····书籍信息管理········添加书籍信息········修改书籍信息·····

38、···删除书籍信息借阅信息管理····借书信息管理·······添加借书信息·······修改借书信息·······删除借书信息·······查询借书信息····还书信息管理···

39、····添加还书信息·······修改还书信息·······查询还书信息帮助.·········about 图10 主窗体中的菜单结构四.创建公用模块在中可以用公用模块来存放整个工程项目公用的函数过程和全局变量等这样可以极大地提高代码的效率在项目资源管理器中为项目添加一个module,保存为module.bas.由于系统中各个功

40、能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种sql语句添加函数executesql. 在executesql函数中使用了connect string函数,这个函数用来连接数据库。在录入有关信息时,需要回车来进入下一个文本框,这样对软件使用非常方便.在所有的功能模块都需要这个函数,所以将它放在公用模块中。keyasc用来保存当前按键,sendkeys函数用来指定的按键一旦单击回车键,将返回tab键,下一个控件自动获得输入焦点添加全局变量,用来记录各个窗体的读写状态。gintrtmode变量用来记录是添加状态栏还是修改状态,赋值为添加,赋值为修改 flagrt

41、edit变量用来标示是否进入修改的窗体其它全局变量同理由于图书馆管理信息管理系统启动后,需要对用户进行判断如果登录者是授权用户,将进入系统,否则将停止程序的执行这个判断需要在系统运行的最初进行,因此将代码放在公用模块中4.2读者种类管理模块的设计图书馆需要管理不同种类的读者,并且不同读者享受的服务不同.读者种类管理模块主要实现如下功能:l 添加读者种类.l 修改读者种类.l 删除读者种类.一.添加读者种类窗体的创建选择”读者管理读者种类管理添加读者种类”菜单.将出现如图11所示的窗体: 图 11 添加读者种类窗体在窗体上放置多个文本框,用来输入读者种类信息;两个按钮用来确定是否添加读者种类信息

42、;多个标签用来提示文本框中需要输入的内容.这些控件的属性见表7.表七 添加读者种类窗体中各个控件的属性设置控 件属 性属性取值frmreadertype(form)namefrmreadertypecaption客房标准mdichildtruetxtitem(0)-txtitem(4)nametxtitem(0)-txtitem(4)label 1caption种类编号label 2caption种类名称label 3caption借书数量label 4caption借书期限label 5caption有效期限label 6caption备注信息在载入窗体时,程序首先判断所处状态。载入窗体时,

43、将首先通过变量gintrtmode判断是添加还是修改.如果是添加状态,文本框将清除内容,窗体有提示信息:如果是修改状态,将选择显示当前的记录.用户输入内容完毕后,单击cmdsave按钮将触发click事件。程序首先对是否输入内容进行判断,然后进行格式判断.程序将判断是否有重复编号的记录,然后添加数据到数据库.最后根据状态来显示相应的信息:如果是添加状态,将提示添加成功,然后重新显示并清空所有文本框,以便继续添加记录;如果处于修改状态,将提示修改成功,然后更新所有记录的列表.当文本框获得焦点时将触发下面的事件:自动选中输入的内容,便于修改.private sub txtitem gotfocus

44、(index as integer)txtitem(index).selstart=0txtitem(index).sellength=len(txtitem(index)end sud单击cmdexit按钮取消添加信息。输入完内容,按回车键将自动进入下一个文本框,将触发文本框的keydown事件。按键号码传递给enterto tab函数,如果是回车自动转换为tab键.二.修改读者种窗体的创建选择“读者管理读者种类管理修改读管理修改读者种类”菜单,将出现如图12所示的窗体,窗体放置一个表格空件。 图 12 读者种类记录列表窗体载入窗体时,触发窗体的load事件,显示当前数据库中所有的记录。选择

45、记录,然后单击鼠标右键,将触发mouseup事件,并出现入图13的弹出式菜单。 图 13 弹出式菜单这个事件发生在松开鼠标的时候。代码如下:private sub msglistmouseup(button as integer,shift as integer, x as single, y as single)if button=2 and shift=0 thenpopupmenu fmainform.menureadertypeend ifend sub在弹出式菜单中选择“修改读者种类”,将触发菜单的事件,然后在如图5所示的窗体中载入当前的内容。当窗口变化时,需要调整标签和表格的位置,

46、使标签始终处于窗体的最上方,而表格始终处于标签的下方。窗体的大小变化时将触发resize事件。三.删除读者种类选择“读者管理读者种类管理删除读者种类”菜单,将出现记录列表。选择相应记录,单击鼠标右键,选择弹出式菜单,将删除当前记录。4.3读者信息管理模块设计读者信息管理模块主要实现如下功能:l 添加读者信息。l 修改读者信息。l 删除读者信息。l 查询读者信息。一.添加读者信息窗体的创建选择“读者管理读者信息管理添加读者信息”菜单,将出现如图14所示的窗体。 图 14 添加读者信息窗体窗体中各个空件属性这里就不一一介绍。将各种文本框放在窗体的框架中,组成“读者种类”和“读者信息”两项。载入窗体

47、时,读者种类中自动添加读者种类信息,代码加在窗体的load事件中。输入完内容,单击“保存”按钮,触发click事件,首先检查文本内容是否符合格式要求,然后判断是否有重复记录,并更新读者表中的相关信息,最后添加内容到数据库。二.修改读者信息选择“读者管理读者信息管理修改读者信息“菜单,将出现如图15所示的窗体。 图 15 修改读者信息窗体窗体中放置了一个表格控件,所有读者记录都显示在里面。选择需要修改的记录,如图16所示的弹出式菜单中选择“修改读者信息“命令,出现图16的窗体,然后进行修改。 图 16 修改读者信息的弹出式菜单选择“修改读者信息“命令,将触发的事件。程序判断为修改状态后,首先删除

48、原有记录,然后把新内容加入到数据库中。三.删除读者信息在读者记录列表中选择记录,然后选择如图16菜单中的“删除读者信息“命令,将删除当前记录。四.查询读者信息选择“读者管理读者信息管理查询读者信息”菜单,将出现如图17所示的窗体。在这里可以按照各种方式以及它们的组合进行查询。 图 17 查询读者信息的窗体载入窗体时,将自动加入所有读者种类的信息。满足查询条件的所有记录将显示在如图9所示的窗体中4.4书籍类别管理模块的设计书籍类别管理模块主要实现如下功能:l 添加书籍类别。l 修改书籍类别。l 删除订房信息。一.添加书籍类别窗体的创建选择“书籍管理查书籍类别管理添加书籍类别”菜单,将出现如图18

49、所示的窗体,用来添加书籍类别。 图 18 添加书籍类别窗体二.修改书籍类别选择“书籍管理查书籍类别管理修改书籍类别”菜单,将出现如图19所示的窗体。 图 19 书籍类别信息列表在列表中选中记录,单击鼠标右键出现如图20所示的弹出式菜单,然后选择“修改书籍类别”命令。 图 20 弹出式菜单所选记录出现在如图18所示的窗体中,然后可以对记录内容进行修改。三.删除书籍类别在书籍类别表中选择记录,并在弹出式菜单中“删除书籍类别”命令,将删除当前记录。4.5书籍信息管理模块的设计书籍信息管理模块主要实现如下功能:l 添加书籍信息。l 修改书籍信息。l 删除书籍信息。l 查询书籍信息。 一.添加书籍信息窗

50、体的设计选择“书籍管理书籍信息管理添加书籍信息”菜单,将首先出现如图21所示的窗体。 图 21 添加书籍信息窗体输入完毕,单击“保存”按钮,程序将首先检查内容是否符号要求,然后检查是否有重复记录,最后添加到数据库中。二.修改书籍信息选择“书籍管理书籍信息管理修改书籍信息”菜单,将首先出现如图22所示的窗体。 图 22 书籍信息记录列表选择需要修改的记录,单击右键,出现如图23所示的弹出式菜单,选择“修改书籍信息”命令,就可以在如图21所示的窗体中对记录进行修改。 图 23 书籍信息管理的弹出式菜单三.删除书籍信息选择书籍信息列表中的记录,单击鼠标右键,在如图23所示的弹出式菜单中选择“删除书籍

51、信息”命令,可以删除所选记录。四.查询书籍信息选择“书籍管理书籍信息管理查询书籍信息”菜单,将首先出现如图24所示的窗体。 图 24 查询书籍信息窗体设置查询方式并输入查询内容后,单击“确定”按钮后,所有满足要求的记录都将显示在如图24所示的窗体中。4.6借书信息管理模块的设计借书信息管理模块主要实现如下功能:l 添加借书信息。l 修改借书信息。l 删除借书信息。l 查询借书信息。 一.添加借书信息窗体的创建选择“借阅信息管理借书信息管理添加借书信息”菜单,将首先出现如图25所示的窗体。 图 25 添加借书信息窗体载入窗体时,所有书籍信息和读者信息都将自动加入。在下拉式文本框中选择书籍种类时,书籍名称中将自动加入所有书籍的名称;选择书籍名称后,所有书籍信息都将显示出来;选择读者种类后,读者姓名中将自动加入所有同类型的读者;选择读者姓名后,所有读者信息都将显示出来。

温馨提示

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

评论

0/150

提交评论