图书管理系统设计报告

上传人:liu****han 文档编号:70176354 上传时间:2022-04-06 格式:DOC 页数:43 大小:2.99MB
收藏 版权申诉 举报 下载
图书管理系统设计报告_第1页
第1页 / 共43页
图书管理系统设计报告_第2页
第2页 / 共43页
图书管理系统设计报告_第3页
第3页 / 共43页
资源描述:

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

1、图书管理系统设计报告学 院:信息科学与工程学院专业班级:自动化0701姓 名:李瑮冉学 号:0901070111图书管理系统设计报告摘要本课程设计是一个图书信息管理系统的后台数据库的设计。由于时间和精力的限制本设计仅实现了图书管理系统基本功能的设计与实现。通过本次课程设计,达到了了解数据库应用系统的开发过程,熟悉了系统分析和设计的过程和方法的目的。在实践中掌握了知识,达到了学以致用的目标。本次设计首先通过查阅资料对图书领域的基本知识有一定的认识,了解用户各个方面的需求,包括现有的以及将来的可能增加的需求。然后按照数据库设计的六个阶段进行了设计与实现:需求分析、概念结构设计、逻辑结构设计、物理结

2、构设计、数据库实施、数据库的运行和维护。数据库在各种信息的提供、保存、更新和查询方面都要求满足各种信息的输出和输入,符合用户的基本需求。应用sql建立数据库,选用Delphi作为开发工具,完成了对图书管理系统的实现。索引关键词:数据库设计 sql应用 Delphi设计目录第一章 绪 论11.1课题研究现状分析11.2 选题的目的及意义11.3 章节安排1第二章 系统需求分析22.1 用户调查2.图书管理系统数据流图22.3 数据字典5第三章 数据库设计73.1数据库概念结构设计73.2数据库逻辑结构设计93.3数据库实施10第四章 图书管理系统使用说明13.图书管理系统登录界面:13.办公室子

3、系统界面:20.编目部子系统界面:24.流通部子系统界面:29.读者子系统界面:34第五章 总结39第 40 页 共 40页第一章 绪 论随着数据库技术在各行各业的广泛应用,强大的数据库窗口技术、良好的数据库访问能力和友好的用户界面,日益成为设计者的得力助手。1.1课题研究现状分析在现今信息化发达的社会,图书的发行量与日俱增。传统的图书馆需要制作有署名与对应编号的书卡,由读者按分类查找再交由图书管理员来处理借书工作,还书也要人工翻阅大量的记录,这样使得工作量大并及其繁琐,效率变得低下。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。

4、建立网上电子图书管理系统的目的是实现无纸化图书管理,减轻管理员的工作量,方便读者查阅所需的图书,还可以利用网络实现提醒读者还书的功能。管理员还可以对各种图书进行分析统计,对过时、损坏的图书进行删除,预约图书供应商订购更新的图书。达到降低成本提高工作效率的目标。1.2 选题的目的及意义目的:图书管理系统主要目的是对图书馆种类繁多的书籍进行管理,并且合理管理好用户的借还信息。提高图书馆的工作效率,降低管理成本。意义:通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容。1.3 章节安排 第一章为绪论部分,介绍课题的基本情况。第二章为系统需求设计分析,

5、主要为数据流图和数据字典。第三章介绍数据库的设计,主要介绍数据库的逻辑设计,结构设计等。第四章主要为图书管理系统的各个界面说明。第二章 系统需求分析2.1 用户调查1.图书馆工作人员对功能的需求工作人员对功能的需求细分如下:、职工信息的输入,查询,修改; 、书籍信息的输入,查询,修改; 、借书信息的输入。 、还书信息的输入。、读者信息的查询。2.读者对功能的需求、图书信息检索:范围可按书名,作者,出版社,类别等检索款目进行任意条件组合精确或模糊检索,最快时间查找目标书籍;、读者人个信息的输入、修改。查询。建立读者个人信息档案,获取当前读者的个人信息。并根据学号查询当前读者当前的借书情况,历史借

6、书情况等。.图书管理系统数据流图图书管理系统编目部子系统流通部子系统办公室子系统读者子系统图书借阅图书归还图书信息查询职工信息录入职工信息修改职工信息检索读者信息录入,修改借阅情况查询图书信息检索读者信息查询图书编目图书修改图书编目图2-1 系统功能分解图2-2 第0层数据流图数据输出数据来源数据存储数据处理数据流数据流检查有效性根据权限处理数据用户登录要求图2-3 第1层数据流图无效输入输出查询信息查询请求接受查询数据查询图书信息编目请求录入图书信息图书信息表数据文件输出修改信息修改请求修改图书信息图2-4 采编部数据流图图书借阅信息表输出借阅信息借阅请求判断读者借阅权限记录借阅信息接受读者

7、信息图书归还信息表输出信息归还请求添加归还记录接受图书信息输出查询信息图书查询请求接受查询数据查询图书信息图书信息表输出查询信息读者信息查询请求接受查询数据查询读者信息读者信息表图2-5 流通部数据流图输出查询信息查询请求接受查询数据查询职工信息职工信息录入请求录入职工信息职工信息表数据文件输出修改信息修改请求修改职工信息图2-6 办公室数据流图输出查询信息查询请求接受查询数据查询读者信息职工信息录入请求录入读者信息读者信息表数据文件输出修改信息修改请求修改读者信息图2-7 读者系统数据流图输出查询信息图书查询请求接受查询数据查询图书信息图书信息表2.3 数据字典1. 主要数据项的定义 .图书

8、信息表属性名数据类型长度允许空备注流水号char10N唯一分类号char10N索取号char10N书名char50N作者char30N价格moneyY出版社char50Y出版日期char10Y是否借出char5N2.读者信息表属性名数据类型长度允许空备注学号char10N唯一密码char10N姓名char30N性别char2N所属系char50Y电子邮件char50Y备注char100Y3.职工信息表属性名数据类型长度允许空备注职工编号char5N唯一密码char10N姓名char30N性别char2N联系电话char11Y所属部门char3N4.部门信息表属性名数据类型长度允许空备注部门编号

9、char3N唯一部门名称char30N5.借阅图书信息表属性名数据类型长度允许空备注流水号char10N学号char10N书名char50N借书日期datetimeN应还日期datetimeN归还标记char5N6.归还图书信息表属性名数据类型长度允许空备注流水号char10N学号char10N书名char50N还书日期datetimeN2. 主要数据存储的定义(1)存储名称:图书记录 输入:流水号 输出:图书所有信息及是否借出 数据结构:流水号+分类号+索取号+书名+作者+价格+出版社+出版日期+是否借出(2)存储名称:读者记录 输入:学号 输出:读者信息及借书记录(所借书的流水号) 数据结

10、构:学号+姓名+流水号+书名+应还日期(3)存储名称:借阅记录 输入: 书号+读者编号+职工编号 输出:图书的借阅记录信息 数据结构:流水号学号+职工编号+书名+借书日期+应还日期归还标记(4)存储名称:归还记录 输入:书号 输出:图书的归还记录信息 数据结构:流水号+学号+书名+还书日期(5)存储名称:职工记录 输入:职工编号 输出:职工信息 数据结构:职工编号+密码姓名+性别+联系电话所属部门第三章 数据库设计3.1数据库概念结构设计1.数据库需要表述的信息有以下几种:(1)图书信息,(2)学生信息,(3)管理员信息(4)学生借阅归还图书信息部门部门号职工部门名称属于管理图书借阅归还图书馆

11、读者归还日期归还人借出日期应还日期学号所属系姓名性别电子邮件职工号联系电话姓名性别电子邮件流水号分类号索取号书名作者价格出版社出版日期是否借出图3-1 系统E-R图通过分析整理可得图书管理系统E-R图为:由系统图可得其主要数据流和主要处理过程:. 主要数据流定义 (1)数据流名称:读者信息 定义:学号+密码姓名+性别+所属系+电子邮件+备注 (2)数据流名称:图书信息 定义:流水号+分类号+索取号+书名+作者+价格+出版社+出版日期+是否借出 (3)数据流名称:职工信息 定义:职工编号+密码姓名+性别+联系电话所属部门 (4)数据流名称:借阅图书 定义:流水号+学号+书名+借书日期+应还日期归

12、还标记 (5)数据流名称:归还图书 定义:流水号+学号+书名+还书日期 (6)数据流名称:部门信息 定义:部门号+部门名称. 主要处理过程的定义 (1)处理过程:读者管理输入:读者编号 输出:读者的注册信息处理操作:对所有注册的读者信息建表,用学号作为读者统一编号,编号是唯一的。 (2)处理过程:职工管理 输入:职工编号号 输出:职工的基本信息 处理操作:对所有职工编号,建立职工信息表,职工编号具有唯一性, (3)处理过程:图书管理 输入:流水号 输出:图书的基本信息 处理操作:对所有进馆的图书编号,建立图书信息表,图书编号具有唯一性, (4)处理过程:图书查询 输入:流水号 输出:所查询图书

13、的相关信息 处理操作:用户登录后可以查询图书信息,按图书编号可以查询到某本书的详细情况,也可以通过书名,作者,出版社进行模糊查询(5)处理过程:图书借出 输入:流水号,学号 输出:图书借阅信息 处理操作:添加图书借阅记录,建立图书借阅信息表。(6)处理过程:图书归还 输入:流水号 输出:图书归还信息 处理操作:添加图书归还记录,建立图书归还信息表。3.2数据库逻辑结构设计通过E/R模型到关系模型的转化,可以得到如下关系模式:图书(流水号,分类号,索取号,书名,作者,价格,出版社,出版日期,是否借出)。读者(学号,姓名,性别,所属系,电子邮件,备注)。职工(职工编号,密码,姓名,性别,联系电话,

14、所属部门)。部门(部门号,部门名称)借阅图书(流水号,学号,借书日期,书名,应还日期,归还标记)。归还图书(流水号,学号,还书日期,书名)。每个关系模式的主键码都用下划线标出。(1)流水号是图书的键码,每本书有唯一的流水号。一个读者可以同时借阅多本书,一个管理员可以处理多个读者的借阅事宜。(2)同一本书可以借给不同的同学,同一个读者可以再次借同一本书。于是借书关系的键码为流水号,学号和借书日期的组合。(3)要知道图书当前的状态,是在图书馆存放还是被借阅。需要在图书的模式中增加对应项用以表示图书当前的状态,现在增加是否借出项,并且约定取值和状态的对应关系如下:0:在图书馆中没有被借阅;1:已经被

15、借出。3.3数据库实施 3.3.1数据库及表结构的创建 设本系统使用的数据库名为图书管理系统,根据已设计的关系模式及各模式的完整性要求,现在就可以在SQL Server 2005数据库系统中实现这些逻辑结构。下面是创建基本表的SQL语句:create table 读者信息(学号char(10)not null primary key,密码char(10)not null,姓名char(30) not null,性别char(5)not null,所属系char(50),电子邮件char(50),备注char(100),)create table 职工信息(职工编号char(5)not null

16、 primary key,密码char(10)not null,姓名char(30)not null,性别char(5)not null,联系电话char(11),所属部门char(3)not null,)create table 部门信息(部门编号char(3)not null primary key,部门名称char(30)not null,)create table 借阅图书信息(流水号char(10)not null,学号char(10)not null,书名char(50)not null,借书日期datetime not null,应还日期datetime not null,归还标

17、记char(5)not null,)create table 归还图书信息(流水号char(10)not null,学号char(10)not null,书名char(50)not null,还书日期datetimenot null,) 下面是使用sql server 2005 建立的图书管理系统:系统各基本表的属性如下:读者信息图书信息:职工信息:部门信息:借阅图书信息:归还图书信息:表与表关系的建立截图(部分):3.3.2数据库前台的设计根据数据库的设计,该图书管理系统可以分成四个子模块:、编目部子模块:负责实现行图书信息的录入,修改以及查询。、流通部子模块:进行图书的借阅,归还信息的处理

18、。、办公室子模块:负责进行职工信息的录入与修改及查询。、读者子模块:进行读者信息的录入,借阅情况的查询,图书信息的查询。根据四个模块的不同功能,可以分别设计不同的操作界面,以实现其功能。根据不同模块的权限不同,设计登录界面,根据不同的权限访问不同的子系统。第四章 图书管理系统使用说明.图书管理系统登录界面:图书管理系统登录界面:通过下拉菜单可以选择用户类型,共有五种类型:读者,办公室,流通部,编目部,管理员。输入正确的用户名和密码就可以分别进入对应的操作界面。如下图:登录部分相关代码为:var code:string;begincase combobox1.ItemIndex of0:begi

19、nadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add(select 密码 from 读者信息 where 学号=+edit1.text+);adoquery1.Open;code:=adoquery1.fieldbyname(密码).asstring;if adoquery1.RecordCount = 0 then begin showmessage(该用户不存在); edit1.Clear; edit1.SetFocus; edit2.Clear; endelsebeginif edit2.Text=code thenbeginsho

20、wmessage(登陆成功);form1.Hide;form10.show;endelse begin showmessage(密码错误); edit2.Clear; edit2.SetFocus; end;end;end;1:beginadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add(select 密码 from 职工信息 where 职工编号=+edit1.text+);adoquery1.Open;code:=adoquery1.fieldbyname(密码).asstring;if adoquery1.RecordCount =

21、 0 then begin showmessage(没有此用户); edit1.Clear; edit1.SetFocus; edit2.Clear; endelsebeginif edit2.Text=code thenbeginshowmessage(登陆成功);form1.Hide;form3.show;endelsebegin showmessage(密码错误); edit2.Clear; edit2.SetFocus; end;end;end;2:beginadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add(select 密码

22、from 职工信息 where 职工编号=+edit1.text+);adoquery1.Open;code:=adoquery1.fieldbyname(密码).asstring;if adoquery1.RecordCount = 0 then begin showmessage(没有此用户); edit1.Clear; edit1.SetFocus; edit2.Clear; endelsebeginif edit2.Text=code thenbeginshowmessage(登陆成功);form1.Hide;form6.show;endelsebegin showmessage(密码

23、错误); edit2.Clear; edit2.SetFocus; end;end;end;3:beginadoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add(select 密码 from 职工信息 where 职工编号=+edit1.text+);adoquery1.Open;code:=adoquery1.fieldbyname(密码).asstring;if adoquery1.RecordCount = 0 then begin showmessage(没有此用户); edit1.Clear; edit1.SetFocus; edi

24、t2.Clear; endelsebeginif edit2.Text=code thenbeginshowmessage(登陆成功);form1.Hide;form2.show;endelsebegin showmessage(密码错误); edit2.Clear; edit2.SetFocus; end;end;end;对于读者,若未在该系统注册过则可以点击注册按钮进行注册。注册界面如下:按要求填写注册信息,点击注册按钮就可以成功注册为本系统的用户。注册部分相关代码为“adoquery1.Close; adoquery1.sql.clear; adoquery1.sql.add(inser

25、t into 读者信息(学号,密码,姓名,性别,所属系,电子邮件,备注); adoquery1.SQL.Add(values(+edit1.text+,+edit3.text+,+edit4.text+,+combobox1.text+,+edit5.text+,+edit6.text+,+edit7.text+); adoquery1.execsql; showmessage(注册成功);以管理员身份登录该系统,可以显示管理员界面,管理员可以快速进入各模块,没有权限限制。.办公室子系统界面:办公室系统主要进行对图书馆工作人员信息的管理。可以进行添加,修改,删除,查询等操作。上图为职工信息添加

26、界面。相关代码为: adoquery1.Close; adoquery1.sql.clear; adoquery1.sql.add(insert into 职工信息(职工编号,密码,姓名,性别,联系电话,所属部门); adoquery1.SQL.Add(values(+edit1.text+,+edit2.text+,+edit3.text+,+combobox1.text+,+edit5.text+,+edit6.text+); adoquery1.execsql; showmessage(添加成功);职工信息修改界面:修改职工信息时需填写欲修改的职工的职工编号,然后在需要修改的项目上填写新

27、信息,不需要修改的地方可以不填写。点击修改按钮确认职工信息的修改。相关代码为:adoquery1.Close;adoquery1.sql.clear;if edit1.text = then begin showmessage(职工编号不能为空); endelsebegin if edit2.text then begin adoquery1.sql.add(update 职工信息 set 密码=+edit2.Text+ where 职工编号=+edit1.text+); adoquery1.execsql; end; if edit3.text then begin adoquery1.sq

28、l.add(update 职工信息 set 姓名=+edit3.Text+ where 职工编号=+edit1.text+); adoquery1.execsql; end; adoquery1.sql.add(update 职工信息 set 性别=+combobox1.Text+ where 职工编号=+edit1.text+); adoquery1.execsql; if edit5.text then begin adoquery1.sql.add(update 职工信息 set 联系电话=+edit5.Text+ where 职工编号=+edit1.text+); adoquery1.

29、execsql; end; if edit6.text then begin adoquery1.sql.add(update 职工信息 set 所属部门=+edit6.Text+ where 职工编号=+edit1.text+); adoquery1.execsql; end;showmessage(修改成功);职工信息查询界面:可以按职工编号,姓名,所属部门进行职工信息查询,也可以查看全部职工信息。相关代码为:adoquery1.Close;adoquery1.SQL.Clear;case n of1:begin adoquery1.SQL.Add(select 职工编号,姓名,性别,联系

30、电话,所属部门 from 职工信息 where 职工编号=+edit1.text+);end;2:begin adoquery1.SQL.Add(select 职工编号,姓名,性别,联系电话,所属部门 from 职工信息 where 姓名=+edit1.text+);end;3:begin adoquery1.SQL.Add(select 职工编号,姓名,性别,联系电话,所属部门 from 职工信息 where 所属部门=+edit1.text+);end;end;adoquery1.Open;adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.

31、Add(select 职工编号,姓名,性别,联系电话,所属部门 from 职工信息);adoquery1.Open;职工信息删除界面:输入欲删除的职工编号可以删除该职工的所有信息。相关代码为:adoquery1.Close;adoquery1.SQL.Clear;adoquery1.sql.add(delete from 职工信息 where 职工编号=+edit1.Text+);adoquery1.execsql;.编目部子系统界面:编目部系统主要进行图书信息的管理,如添加图书,修改图书信息,删除图书信息,查询图书信息等。相关代码为: adoquery1.Close; adoquery1.s

32、ql.clear; adoquery1.sql.add(insert into 图书信息(流水号,分类号,索取号,书名,作者,价格,出版社,出版日期); adoquery1.SQL.Add(values(+edit1.text+,+edit2.text+,+edit3.text+,+edit4.text+,+edit5.text+,+edit6.text+,+edit7.text+,+edit8.text+); adoquery1.execsql; showmessage(添加成功);下图为添加图书信息界面。图书信息修改界面:修改图书信息时,先输入欲修改的图书的流水号,然后在欲修改的项目内填写

33、新信息,不修改项目可以不填写。相关代码为:adoquery1.Close;adoquery1.sql.clear;if edit1.text = then begin showmessage(流水号不能为空); endelsebegin if edit2.text then begin adoquery1.sql.add(update 图书信息 set 分类号=+edit2.Text+ where 流水号=+edit1.text+); adoquery1.execsql; end; if edit3.text then begin adoquery1.sql.add(update 图书信息 s

34、et 索取号=+edit3.Text+ where 流水号=+edit1.text+); adoquery1.execsql; end; if edit4.text then begin adoquery1.sql.add(update 图书信息 set 书名=+edit4.Text+ where 流水号=+edit1.text+); adoquery1.execsql; end; if edit5.text then begin adoquery1.sql.add(update 图书信息 set 作者=+edit5.Text+ where 流水号=+edit1.text+); adoquer

35、y1.execsql; end; if edit6.text then begin adoquery1.sql.add(update 图书信息 set 价格=+edit6.Text+ where 流水号=+edit1.text+); adoquery1.execsql; end; if edit7.text then begin adoquery1.sql.add(update 图书信息 set 出版社=+edit7.Text+where 流水号=+edit1.text+); adoquery1.execsql; end; if edit8.text then begin adoquery1.

36、sql.add(update 图书信息 set 出版日期=+edit8.Text+where 流水号=+edit1.text+); adoquery1.execsql; end;showmessage(修改成功);图书信息查询界面:图书信息查询可以按照书名,作者,索取号,分类号,流水号等项目分类查询,也可以查询所有图书信息,查询结果如下:查询相关代码为:TabControl3.show;adoquery1.Close;adoquery1.SQL.Clear;case n of1:begin adoquery1.SQL.Add(select * from 图书信息 where 书名=+edit9

37、.text+);end;2:begin adoquery1.SQL.Add(select * from 图书信息 where 作者=+edit9.text+);end;3:begin adoquery1.SQL.Add(select * from 图书信息 where 索取号=+edit9.text+);end;4:begin adoquery1.SQL.Add(select * from 图书信息 where 分类号=+edit9.text+);end;5:begin adoquery1.SQL.Add(select * from 图书信息 where 流水号=+edit9.text+);e

38、nd;end;adoquery1.Open;if adoquery1.Fields0.Value=0 thenshowmessage(不存在该记录);图书信息删除界面:删除图书信息时直接填写图书流水号进行删除即可。相关代码:adoquery1.Close;adoquery1.SQL.Clear;if m=1 thenbeginadoquery1.sql.add(delete from 图书信息 where 流水号=+edit10.Text+);adoquery1.execsql;endelseshowmessage(删除失败);m:=0;.流通部子系统界面:流通部主要负责图书的借阅与归还,由于

39、读者不亲自进行图书借阅与归还的记录工作,故该功能由图书馆职工完成。图书借阅界面:图书借阅时,输入借阅人的学号及所借图书的流水号,可以自动显示出该读者当前的借阅情况以及该图书的基本信息。输入借书日期及应归还日期,点击确定即可进行图书借阅。显示部分代码为:if edit1.text thenbeginadoquery1.Close;adoquery1.sql.clear;adoquery1.sql.add(select * from 读者信息 where 学号=+edit1.Text+);adoquery1.open;if adoquery1.RecordCount 0 thenbeginadoq

40、uery1.Close;adoquery1.sql.clear;adoquery1.sql.add(select 读者信息.学号,姓名,书名,借书日期 from 读者信息 left outer join 借阅图书信息 on 读者信息.学号 = 借阅图书信息.学号 and 归还标记=否 where 读者信息.学号=+edit1.Text+);adoquery1.open;i:=true;endelse begin showmessage(无此人); i:=false; end;end;if edit2.Text thenbeginadoquery2.Close;adoquery2.sql.cle

41、ar;adoquery2.sql.add(select 流水号,书名,作者,出版社,是否借出 from 图书信息 where 流水号=+edit2.Text+);adoquery2.open;if adoquery2.RecordCount = 0 then begin showmessage(无此书); i:=false; end借书部分相关代码:adoquery2.Close;adoquery2.sql.clear;adoquery2.SQL.Add(select * from 图书信息 where 流水号=+edit2.Text+);adoquery2.open;if adoquery2

42、.fieldbyname(是否借出).asstring = 是 thenbegini:=false;showmessage(该书已借出);end;if i=true thenbeginadoquery2.Close;adoquery2.sql.clear;adoquery2.SQL.Add(select 书名 from 图书信息 where 流水号=+edit2.Text+);adoquery2.open;adoquery1.Close;adoquery1.sql.clear;adoquery1.sql.add(insert into 借阅图书信息(流水号,学号,书名,借书日期,应还日期,归还

43、标记) values (+edit2.Text+,+edit1.Text+,+adoquery2.fieldbyname(书名).asstring+,+edit3.text+,+edit4.Text+,否);adoquery1.ExecSQL;adoquery1.sql.clear;adoquery1.sql.add(update 图书信息 set 是否借出=是 where 流水号=+edit2.text+);adoquery1.ExecSQL;showmessage(借阅成功);图书归还界面:图书归还时,输入图书流水号,可显示出该书的借阅人的信息和该书的基本信息。输入归还日期就可以添加归还记

44、录。显示部分代码为:adoquery1.Close;adoquery1.sql.clear;adoquery1.sql.add(select * from 图书信息 where 流水号=+edit1.Text+);adoquery1.open;if adoquery1.RecordCount = 0 then begin showmessage(无此书); i:=false; endelse begin if adoquery1.fieldbyname(是否借出).asstring = 否 then i:=false else begin i:=true; adoquery1.Close; a

45、doquery1.sql.clear; adoquery1.sql.add(select 流水号,借阅图书信息.学号,姓名,所属系,书名,借书日期 from 借阅图书信息 left outer join 读者信息 on 读者信息.学号=借阅图书信息.学号 where 流水号=+edit1.Text+ and 归还标记=否); adoquery1.open; end; end;归还功能相关代码为:adoquery1.Close;adoquery1.sql.clear;adoquery1.SQL.Add(select 学号 from 借阅图书信息 where 流水号=+edit1.Text+ an

46、d 归还标记=否);adoquery1.open;num:=adoquery1.fieldbyname(学号).asstring;adoquery1.Close;adoquery1.sql.clear;adoquery1.SQL.Add(select 书名 from 借阅图书信息 where 流水号=+edit1.Text+ and 归还标记=否);adoquery1.open;name:=adoquery1.fieldbyname(书名).asstring;adoquery2.Close;adoquery2.sql.clear;adoquery2.sql.add(update 借阅图书信息

47、set 归还标记=是 where 流水号=+edit1.text+ and 归还标记=否);adoquery2.ExecSQL;adoquery2.sql.add(update 图书信息 set 是否借出=否 where 流水号=+edit1.text+);adoquery2.ExecSQL;adoquery2.sql.add(insert into 归还图书信息(学号,流水号,书名,还书日期) values (+num+,+edit1.Text+,+name+,+edit2.Text+);adoquery2.ExecSQL; showmessage(归还成功);.读者子系统界面:读者系统可以

48、进行图书的检索,读者当前的借阅情况,以及读者借阅的历史情况。图书检索相关代码为:adoquery1.Close;adoquery1.SQL.Clear;case n of1:begin adoquery1.SQL.Add(select * from 图书信息 where 书名=+edit9.text+);end;2:begin adoquery1.SQL.Add(select * from 图书信息 where 作者=+edit9.text+);end;3:begin adoquery1.SQL.Add(select * from 图书信息 where 索取号=+edit9.text+);en

49、d;4:begin adoquery1.SQL.Add(select * from 图书信息 where 分类号=+edit9.text+);end;5:begin adoquery1.SQL.Add(select * from 图书信息 where 流水号=+edit9.text+);end;end;adoquery1.Open;if adoquery1.Fields0.Value=0 thenshowmessage(不存在该记录);以下是图书检索界面:图书检索时,可以按照图书的名称,作者,索取号,分类号,流水号进行检索。查找结果界面如下:点击借阅查询可以查看当前用户的借阅情况:如所借书目,

50、借阅日期,应还日期等信息。相关代码为:form11.show;form10.hide;adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add(select 借阅图书信息.流水号,借阅图书信息.书名,作者,借书日期,应还日期 from 借阅图书信息 left outer join 图书信息 on 借阅图书信息.流水号 = 图书信息.流水号 where 借阅图书信息.学号=+form1.edit1.text+ and 归还标记=否);adoquery1.open;点击借阅历史可查看当前用户的历史借阅情况:相关代码为:form12.show;for

51、m10.Hide;adoquery1.Close;adoquery1.SQL.Clear;adoquery1.SQL.Add(select 借阅图书信息.流水号,借阅图书信息.书名,作者,借书日期 from 借阅图书信息 left outer join 图书信息 on 借阅图书信息.流水号 = 图书信息.流水号 where 借阅图书信息.学号=+form1.edit1.text+ and 归还标记=是);adoquery1.open;第五章 总结本设计使用Microsoft SQL Server 2005创建后台数据库,使用Delphi 7作为前台操作界面实现对图书管理系统的功能操作。本图书管

52、理系统实现了图书管理的基本功能,经过调试运行,表明该系统具有可行性和可扩充性。但数据库还有待进一步的完善与规划,操作系统还有待于进一步的改善,使系统更加高效,更加人性化。通过几周的设计练习,从系统的需求分析开始,到概念设计,逻辑设计,再到最后的系统实施与维护,一步步走下来虽然感觉有点累,但每一步都获益匪浅。认认真真完成每一步,直到完成整个系统之后,忽然有一种破茧而出的感觉。从这个设计中,不仅仅从实践中巩固提高了数据库的相关知识,体会了设计一个系统的过程,更学到了一种设计分析的思想,一种能力。从系统的需求分析开始,到后来的每一步,都需要围绕着一个整体的思路,一个工程的概念进行,需要逐层的将系统一步步分解,细化。然后,分别实现每一个功能,每一个模块,最后将全部模块整合起来,系统便成型了。在这几周的课程设计中,遇到了各种各样的问题,特别是数据库实现,与系统前台的实现阶段。由于第一次接触相关的软件,所以使用起来相当的吃力,几乎每一步都可能发生错误。为了解决这样那样的问题,我翻阅了不同的书籍,在网上搜索了大量的资料,一个一个的将问题解决掉。在这期间,无形中锻炼了我分析问题,解决问题的能里,锻炼了我自主学习的能力。在课程设计期间,我体会到了学习的乐趣

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