已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 本文配套程序下载地址 : 无忧无虑毕设网 ()-大学生毕业设计站 ,免费毕业设计论文 ,无忧无虑毕设网 大学生毕业设计 ,出售各类毕业设计源码 ,论文 ,程序源码 ,网站源码 ,免费视频教程 ,我们将竭诚为您服务! 前 言 1课题的研究意义 在信息飞速发展的今天,各个行业对信息包含的内容、信息的容量、信息更新的速度等有了更高的要求。在信息管理尤其重要的某些领域,更是如此,图书馆对图书的管理就是其中的一个。从最开始的由人工的手记信息,到计算机出现后应用的一些低级软件管理,到今天,一些功能不完善的图书 管理系统已经不能满足像拥有十几甚至几十万本图书的大中型图书馆的信息管理。因此,开发功能强大、操作简单、更新能力强的图书馆管理系统就势在必行,本次设计的内容开发出功能强大、操作简单、更新能力强的图书馆管理系统。 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的 人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书 馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。 因此 , 很有必要 建立一个 这样的 图书管理系统, 它 使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。 目前,我国 各 学校图书馆办馆的要求及领先标志就是藏书全部开放,师生共享开架借阅。这种借阅方式是当前适合我国国情的发挥图书馆应有作用的最佳方式,也是素质教育的最好体现。它充 分发挥了图书馆的功效,最大限度地为读者服务,这也是图书馆自动化管理的最终目标。实现这一目标,必须有现代化的管理手段和管理体制。为此,各地教育主管部门都逐步提出学校要采用图书馆管理系统,从而实现人工管理做不到的一些功能并发挥图书馆的最大效益。而随着越来越多的学校采用了现代化的管理软件进行管理,进一步提升了学校管理的现代化水平,从而在竞争中处于有利位置,也对其他兄弟学校起到了示范和促进作用。 图书 馆 管理系统是典型的管理信息系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前 者要求建立起数据一致性和完整性 强, 数据安全性好的库 ,本产品采用的是 SQL Sever 来建库, 于后者则要求应用程序功能完备 ,容 易使用 ,这里用 C+builder7 来进行开发 。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 2国内外有关信息 在国外,尤其是信息技术高度发达的国家,对像图书馆管理系统这样的应用软件的开发已经发展的相当成熟。而在我国,由于信息技术尚属起步阶段,各类息管理系统的功能相当不完善,因此对这类功能强大、操作简单、更新能力强的信息管理系统的开发就显得尤其重要。完善其功能更是当务之急。 数据管理技术经历了人工管理、文件管理和数据 库系统 3个阶段。当今世界图书馆管理系统的发展趋势是应用计算机技术代替原来的人工管理。随着计算机技术的发展,图书馆的计算机管理技术越来越智能化,且随着计算机技术的普及,数据信息处理技术得到了空前发展,这就使通过运用数据库技术来管理图书成了唯一趋势。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 第一章 系统分 析 1 1 需求分析 一般通用的图书馆管理系统包括系统管理、读者管理、编目、图书流通、统计、查询等功能。比较先进的能够在一个界面下实现图书、音响、期刊的管理,设置假期、设置暂离锁(提高安全性)、暂停某些读者的借阅权、导入导出读 者、交换 MARC 数据升级辅助编目库等。此外组随着 Internet 应用的发展,一个完善的系统还应提供无缝接入Internet 的功能,通过 IE 浏览器让读者使用借阅资料查询、更换密码、预约、资料检索等功能。有些系统还能提供读者自助服务、检索资料等。 下面介绍通用图书馆管理系统所必备的功能,如图 1-1 所示,其中每个功能都由若干个相关联的子功能模块组成。除此之外系统还应包括信息系统必须具备的通用功能,例如权限设置、数据备份与恢复等。 图 1-1 图书馆管理系统 功能模块图 图书馆管理系统 基础信息维护 读者管理 图书管理 期刊流通管理 图书流通管理 期刊管理 统计分析管理 系统管理 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 1 1.1 流通管理 图书借阅者 信息管理主要目的是为了明确 图书借阅者 的类型和详细信息,为管理 图书借阅者 创造良好环境。 统计信息管理的主要功能是对借阅的图书进行查询、查询已归还的图书、查询超期图书、查询借阅图书排行,因此该功能模块有 4 个子功能模块:图书借阅查询,图书归还查询,图书超期查询,图书借阅排行。 基础信息管理的主要功能是设置图书馆基础信息、用户修改密码、书架设置,因此该功能模块有 3 个子功能模块:图书馆基础信息,密码修改,书架设置。 系统信息管理主要功能是设置用户权限和备份数据库,所以该 模块可以用两个子模块来实现其功能。 图书馆流通管理 图书借阅 图书归还 图书续借 图书预约 图书档案管理 图书罚款 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 1-2 流通系统功能模块图 图书借阅:用于登记读者借阅图书的纪录并减少图书在库的库存,登记内容包括借阅编号、图书编号、读者编号、押金、借阅时间、应还时间、操作员等。 图书归还:用于登记读者归还图书的记录比增加图书在库的库存,登记内容包括归还编号、图书编号、读者编号、退还押金、归还时间、操作员等。 图书续借 : 用于登记读者到期图书的续借记录。 图书罚款:用于对图书超期、丢失等情况的罚款管理,内 容包括罚款编号、图书编号、读者编号、罚款日期、应罚日期、实收金额、是否交款、备注等。 图书档案管理:用于设置图书相关设置的信息,内容包括编号、条形码、书名、类型、作者、译者、 ISBN、出版社、价格、页码、书架名称、现存量、库存总量、入库时间、操作员、简介、续借次数、等。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 1 1.2 系统流程图 系统流程图如图 1-2所示 图 1-3 系统流程图 图书信息 读者信息 流通管理 读者管理 管理员 图书借阅 图书归还 图书征订 预约续借 罚款管理 图书管理 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 系统登录流程图如 1-3所示 N Y 图 1-4 系统登录流程图 Y Y N N 开始登陆 输入用户名 用户名不为空 ? 输入密码 密码不为空 ? 打开用户权限 用户权限验证 ? 2quanxian yanzh 登陆成功 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 1 2 系统数据流图 预定 操作请求 操作答复 D1 图书 借书 操作请求 操作答复 D2 借书信息 图 1-5 图书库存管理数据流程图 借书 续借 D1 库存图书 D2 借书情况 读者 管理员 读者 图书档案管理 借书管理 读者 读者 符合结束条件 借阅信息处理 管理员 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 1-6 借书处理数据流程 第二章 概要设计 根据上一章系统分析,一个基本的图书馆系统数据库中大概包括40 多张数据表,分别存放在相应的子功能的数据信息,其中“读者信息”和“图书信息”是关键的表用于存放图书馆读者的信息和文献信息, 图书馆管理系统实际上就是对读者和文献的管理。其他涉及读者信息和文献信息的数据表,都只记录相应的编号,根据作为外键的“编号”字段相对应。因此“读者信息”、“图书信息”和其它数据标的关系是 1:N的关系。 2.1 图书馆管理系统 E-R 图 因为整个系统涉及的实体和属性较多,限于篇幅也不能也没必要一一列举。下面是图书馆管理系统关键实体的 E-R图。 图 2-1 已借阅图书实体图 已借阅图书实体 借阅编号 图书编号 读者编号 借阅时间 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 2-2 已归还图书 实体图 图 2-3 读者实体图 已归还图书实体 归还编号 图书编号 读者编号 归还时间 读者 姓名 住址 班级 电话 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 由系统 E-R图可以快速、方便地看出图书、管理员、读者、罚款信息各实体间的关系,如下图所示 M N P 1 1 1 1 Q 图 2-4 系统 E-R图 读者 借阅超期 借还 罚款 罚款信息 图书 图书预约 管理员 类型 信息 编号 权限 日期 数额 类型 信息 借阅日期 还书日期 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 第三章 逻辑结构设计 3.1 C+builder 简介 Borland C+builder 是 inprise(borland)公司推出的基于 C+语言的快速应用程序开发( rapid application development,RAD)工具。C+Builder 充分利用已经成熟发展的 Delphi的可视化组件库 (visual component library,VCL),吸收 Borland C+ 优秀编译器诸多优点,结合先进的基于组件的程序设计技术已成为一个非常成熟的可视化应用程序开发工具 ,可以快速、高效地开发出基于 Windows 环境的各类程序 ,尤其在数据库应用和网络应用方面 , C+builder更是一个十分理想的软件开发平台。 3.1.1 C+builder 的可视化开发环境 一般的用户的应用程序是由应用程序界面和数据处理两部分组成 ,如在 Windows 应用程序中单击窗体中的菜单或按钮 (用户界面 )来执行某一命令或完成某一操作(数据处理 )。这种基于窗体的应用程序运用 C+builder 这样的可视化开发工具后,用户界面的设计过程如同“搭积木”一样,只需根据需要在窗体上放置各种组件(“积木”),并根据需要改变它(们)的位置(或外观),程序员不必编写大量的代码来实现界面功能,因而可以把主要精力集中在关键代码的设计上。 Windows 平台下常用的可视化开发工具(编程环境)有Inprise(Borland)公司的 delphi、 C+builder, Microsoft 公司的无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: Visual Basic等。 Inprise(Borland)公司还提供与 delphi相似的 linux下的可视化开发工具 Kylix,它也是 Linux 平台下市场占有率最高的RAD 工具。通过这些工具,程序员可以直观的使用图形化工具来创建Windows应用程序。 C+builder 的集成开发环境( IDE)使程序员可以利用一组窗体、菜单和其他组件,并使用可视化的方式( WYSIWYG-what you see is what you get,即所见所得)来设计应用程序的界面,将代码和事件与界面中的某一元素建立联系,并对整个应用程序调试 3.1.2 数据库组件介绍 用 C+builder开发数据库应用 , 重点是和各种数据库组件打交道 ,能和数据库挂钩的组件对象有 5种 , 它们是 : Session( 数据库会话 ) 、Database( 数据库 ) 、 Dataset( 数据集 ) 、 DataSource( 数据源 ) 、 Data control( 数据控制组件 , 也叫 data-controls 即数据感知组件 ) 。其中前面 4种统称为数据访问( Data Access)组件。 ADO 组件 C+builder 包含了可以用来访问 Microsoft 公司的ActiveX Data Objects( ADO)格式数据库的组件。 ADO是 Micrsoft公司关于各种类型数据的高等界面,后来逐渐演变成满足所有数据访问需要的完整解决办法。 ADO 的对象模型是所有数据访问接口对象模型中最简单的一种。 Microsoft 公司用来访问 ADO数据的应用程序界面技术是 OLE DB。 OLE DB 是一种底层编程接口,用来访问许多不同类型的数据源, 其中包括消息、文件系统以及其他一些非传统的数据源。 OLE DB是一个由 Component Object Model( COM)接口组成的集合,用来隐藏创建数据访问服务过程中的细节。 OLE DB 提供了访问任何数据资源的方法,包括相互关联的数据库和相互不关联的数据库、 Email和文件系统、文本和图形以及用户定义的数据对象。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: C+builder 的 ADO 组件无需依靠 BDE 而是使用 ADO 技术,提供了可以通过数据控制组件访问数据的新方法。唯一的要求是在使用 ADO 组件时必须运行 ADO/OLE DB。 ADO 组件的使用使得 C+BUILDER 在访问数据的类型和采用的技术方面都有了很大的突破。 使用 ADO 控件访问SQL Server数据库时,通常需要做以下几件事情: ( 1) C+builder 中的 Form 窗体或 Data Module 中添加 ADO 数据控件; ( 2) 使用 ADO 数据控件连接到一个 SQL Server 数据库; ( 3) 将 ADO 数据控件连接到一个或多个数据绑定控件 3.1.3 SQL语言在 C+builder 中的应用 在 C+builder 中使用 SQL 语言非常方便,一般来说,都是通过Tquery 或 TADOquery 组件来使用 SQL 语言的。可以在 Tquery 或TADOquery组件的 SQL属性中设置 SQL语句。设计程序时,在该组件的属性对话框中选择 SQL属性,单击带省略号的按钮,就可以打开 String List Editor对话框,然后我们就可 以在对话框中添加 SQL语句。还可以使用 C+builder 的 SQL Builder 来自动生成 SQL语句,这样可以避免手工编写 SQL 而可能造成的语法错误。 静态 SQL 语句在程序设计时便已固定下来,它不包含任何参数和变量。 动态 SQL 语句,也被称作参数化的语句,在其中间包含着表示字段名或表名的参 数。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 3.2 图书馆信息管理系统数据库的建立 一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术 。 本系统是一个功能简单,单机使用的软件。 基本表的个数越少越 好 , 主键的个数越少越好 , 键是表间连接的工具,主键越少,表间的连接就越简单 , 字段的个数越少越好 , 所有基本表的设计均应尽量符合第三范式。 考虑到这些因素,选用 SQL 作为后台数据库。根据需求分析,并依据数据库设计技术,为图书馆管理系统建立一个数据库。该数据库包含 13 个表格,本人实现的模块用到 8个表格如下所示: 如表 3-1 所示,读者信息表对读者信息进行设置,包括条形码、编号、姓名、性别、类型、出生日期、有效证件、证件号码、联系方式、登记日期、有效期至、操作员、备注、是否挂失字段,设置编号为主键 。 表 3-1 读者信息 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 如表 3-2 所示,图书借阅表设置已借出书籍的信息,包括借阅编号、图书编号、读者编号、借阅时间、应还时间、操作员、状态字段,设置借阅编号为主键。 表 3-2 图书借阅 如表 3-3 所示,图书归还表设置归还图书的信息,包括归还编号、图书编号、读者编号、退还押金、归还时间字段,设置归还编号为主键。 表 3-3 图书归还 如表 3-4 所示,管理员表对用户权限 进行设置,包括编号、名称、密码、读者信息、图书信息、流通管理、统计信息、基础信息、系统信息字段,设置编号为主键。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 表 3-4 权限设置 如表 3-5 所示,图书罚款表对显示超期图书的信息,包括罚款编号、图书编号、读者编号、罚款日期、应罚金额、实收金额、是否交款、备注字段,设置罚款编号为主键。 表 3-5 图书罚款 通过设置表的主键和外键,系统生成的数据库表关系 图如图 3-1: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 3-1 数据表关系图 由上图可以看出图书借阅表与图书信息表一对一关联,图书归还表与图书信息表一对一关联,图书罚款表与图书信息表一对一关联,图书罚款表与读者信息表一对一关联。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 第四章 图书馆流通系统详细设计 4.1 具体功能模块的实现 系统先由登录窗体通过权限设置进入主窗体界面,各功能由其子窗体实现,可以实现图书借阅、图书归还、图书罚款、图书预约、图书续借、图书档案管理 6 个子窗体功能模块,还可以实现数据库备份功能。 4.1.1 登录功能 的实现 这里用户输入用户名和密码,通过 adoquery 控件访问已建好的数据库,若正确则成功登录进入主界面,若不正确则提示错误信息,并且用户会根据用户的权限激活主界面相应的菜单和工具按钮。设计界面如图 4-1 所示 图 4-1 系统登录界面 adoquery 与 adotable 连接数据库的方式相同,点击各自的connectionstring 属性右边的省略号,出现如下图 4-2界面,然后再点新出来界面的 Build按钮,出现图 4-2所示界面,选择所需数据库,测试链接成功后就表示与数据库连接好了。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 4-2 数据链接属性图 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 4.1.2 主窗体设计 系统主窗体界面主要用来管理各个功能模块,要进入相应子模块必须先进入主界面,主窗体包括的菜单项有读者信息、图书信息、流通管理、统计管理、基础信息、系统信息、退出。读者信息下有子菜单读者类别设置、读者档案管理;图书类别设置、图书档案管理;流通管理下有子菜单图书借阅、图书征订、图书归还、图书罚款;统计信息下有子菜单图书借阅查询、图书归还查询、图书罚款查询、图书借阅排行 ;基础信息下面有子菜单图书馆基础信息、密码修改、书架设置;系统信息下有子菜单权限设置、数据库备份。主界面设计如图4-3所示: 图 4-3 系统主界面 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 4.1.3 系统维护父窗体 该系统中有几个子功能模块实现方法类似,所以采用系统维护父窗体进行设计,继承过来的窗体具有父窗体的所有属性、功能。 该窗体中最上一排是工具栏,可以对信息进行修改,保存,取消。选择方向键可以查看首记录,上记录,下记录,尾记录。通过分别设置 adotable控件与 adoquery控件的 connectionstring 属 性使二者与数据库相连,由 adoquery控件来访问已建好的数据库,根据各功能模块需要, adotable 控件可以与数据库中特定的表相连接,进而使adoquery 访问数据库中指定的表,将符合查询条件的信息显示在界面上。当 adoquery 访问的表不只一个时, adotable不能与单个表连接 4.1.4 图书借阅模块设计 该功能模块的窗体是继承维护父窗体得来的, adotable 的tablename属性设置为图书借阅,主要是查询已借阅图书的信息,包括借阅编号、图书编号、读者编号、借阅时间,应还时间等信息。 图如下: 图 4-4 图书借阅窗体 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: Tform*pFrom = FormExist(“图书借阅” ) sql = insert into 图书借阅 (图书编号 , 读者编号 , 借阅时间 , sql += 应还时间 , 续借次数 , 操作员 , 状态 ) 按照编号输入读者信息后回车,显示读者信息和可借册数,按编号输入图书信息后回车,可以查询图书的状态信息,点击借阅,借阅成功后界面如下图所示: 图 4-5 图书借阅 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 4-6 图书已经借出 4.1.5 图书归还模块设计 该窗体 是继承父窗体来的, adotable 的 tablename 属性设置为图书归还,主要功能是查询已归还图书的信息。包括归还编号、图书编号、读者编号、归还时间等信息。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 4-7 图书归还窗体 Tform*pFrom = FormExist(“图书归还” ) 图书归还时,按要求输入读者编号,则显示该读者的借书信息,未还记录等,出现下面窗体: 图 4-8 图书归还查询 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 点击归还选择的图书,则归还该书,如果超过还书日期则会提示罚款,如下面窗体所示: 图 4-9 归还图书罚款提示 4.1.6 图书罚 款模块设计 该窗体是在继承父窗体的基础上设计出来的,增加了一个adoquery控件,还添加了 adocommand 控件,这样在编程的时候思路比较清晰, 程序也不容易受到干扰。 Adocommand 与 adoquery 的用途和方法相似,只不过后者比前者功能更全面,在本窗体中只用于访问数据库,两者都能实现该功能。由于 adoquery控件要访问图书信息,读者信息,图书罚款 3个表,所以 adotable 的 tablename 属性不用设置。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 4-10 图书罚款窗体 Tform*pFrom = FormExist(“图书罚款” ) 按要求输入读者编号等信息则可以查看该读者的罚款信息,包括应罚金额,实还金额和罚款日期等,如下图所示: 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 4-11 查看图书罚款信息 4.1.7 图书档案管理模块设计 该窗体是继承父窗体来的, adotable 的 tablename 属性设置为图书档案管理,主要功能是设置图书相关的信息。包括编号、书名 、类型、作者、出版社、价格、现存量、库存总量、入库时间等。 图 4-12 图书档案管理窗体 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: Tform*pFrom = FormExist(“图书档案管理” ) 进入图书档案管理, 按要求输入相关信息就可以查询图书和读者的相关信息,以及包括新增,修改,删除等功能。如下图所示: 图 4-13 查看图书档案信息 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 第五章 系统调试程序与测试 软件编程者对程序的调试这一步骤是必不可少的,而且也是系统设计中一个很重要的环节。此次毕设中遇到了许多问题。这里把系统设计中的一些主要问题简略介绍一下。 在整个系统设计过程中,开始设计主窗体时,由于主窗体是对所有系统子窗体进行统一调度,在调用子窗体单元时,经常忘记在implementation 后面引用子窗体的单元,这将导致程序语法错误。例如 : implementation uses LoginForm,BorrowForm,ReturnForm,LibInfForm,BookShellForm,ManageForm,PswdchForm,TopForm,BookCancelForm,UserSettingForm,UserDocuForm,BookSettingForm,BookDocuForm,BookOrderForm,BookBorrowForm,BookReturnForm,BookOverdueForm,ForfeitForm; 在登 录系统设计方面 , 本来想程序刚运行时先出现登录窗体 , 登录成功后再弹出主窗体 , 但由于主窗体是 MDI 的 MainForm,这项功能难以实现。因此改为运行后直接出现未激活任何功能的主窗体和登录窗体 , 将 project/options/Forms 中的自动创建窗体项设置为 main,并在主窗体 Oncreate 事件中创建 Login 窗体 , 但运行后系统出现错误,如图 5-1所示 : 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 5-1 错误提示 1 错误可能出现在主窗体的 Oncreate 事件中,在经过多次尝试后,取消这个事件,而在主窗体中添 入一个 Timer控件,当它触发 Ontimer事件后,创建 Login窗体,此功能正常实现。 在系统数据录入窗体设计中,刚开始没有控制 Edit 编辑框中可以悬空,当录入信息的 Edit 的 text 属性为空时,单击保存,系统进入死循环,弹出报错对话框。如图 5-2所示: 图 5-2 错误提示 2 遇到这种情况时,要用 If条件语句控制编辑中的 Text可以为空,把空字符串赋给 Edit 就可以实现,当 Text 为空时,库存系统弹出提示信息,“资料输入不全!”,详细程序为: if (edit1.Text=)or (edit2.Text=)then messageDlg(资料输入不全! ,mtwarning,mbok,0) else with ADOTable1 do begin open ; 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: append; fieldvalues名称 :=trim(edit1.Text); fieldvalues密码 :=trim(edit2.Text); end; 在用户及权限窗体设计中,也出现了一个的问题,就是每次 新增用户时,如果没有选择各权限的 Dbcheckbox,这时直接单击“保存”工具栏按钮,系统出现报错信息,如图 5-3所示。 图 5-3 错误提示 3 根据提示信息,说明不能将空数值插入“管理员” 表的“读者管理” 字段中,但由于在编程时对 DBCheckbox 是否选中的属性设置未知,因此将数据库“管理员”表的各个权限字段默认值设置为“ T” ,这样在添加用户时可以省去不少操作,使操作更简 单。 还有应该注意,由于父窗体里面已经对窗体关闭事件编程,实现关闭窗体后释放内存,所以凡是 继承来的窗体就不必再进行这一工作的,而非继承来的窗体都必须编程实现窗体关闭后释放内存,如果不这样的话,在程序运行后桌面会出现几个窗体,占用内存空间。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 通过已借阅图书的借阅编号和图书编号以及读者编号可以查询到相应的图书信息。由于开始父窗体中没有模糊查询,当进行借阅查询没有输入查询条件时系统报错,如图 5-4所示: 图 5-4 错误提示 4 在 设 计 借 阅 查 询 窗 体 时 , 由 于 SQL 语言adoquery1.sql.Add(select top 10 with ties * from 图书信息 order by 借出次数 desc);语句中少写了 * ,运行后进行借阅前10名查询时系统报错,报错信息框如图 5-5所示: 图 5-5 错误提示 5 在设计书架设置窗体时,由于是继承父窗体得来的,在删除该窗体不需要用到的 adoquery控件时系统报错,如图 5-6所示 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 图 5-6 错误提示 6 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 第六章 结 论 本次设计是是对数据库技术,软件工程,编程技术的一次综合实践。在系统开发阶段之前,要全面、细致地调查研究,全面的需 求分析,明确用户的需求。通过需求分析,得出系统的功能模块,并根据需求分析的结果,建立相应的数据库。建库的时候考虑要周全,还要尽量符合建立数据库的相关理论,明确各表之间的关系。而编程时则要尽量模块化,避免代码的过多重复。 本系统实现了图书馆管理系统流通系统的最基本的管理功能,但是仍然存在很多不足的地方,做需求分析时也还有很多没考虑到情况。如:本系统的数据库建得还不够科学,有些字段根本没有必要。另外,本系统没有考虑到丢书、期刊的管理等图书馆管理中实际存在的问题。希望有兴趣对本系统进行改进的人能将这些问题 考虑进去。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 致 谢 本次毕业设计得到了指导老师方芳老师的精心指导,这对毕业设计的顺利完成起了重要作用。 在制作过程中同组同学江佐华同学给了很大的帮助,检查老师赵敏老师、黄丽珍老师等指出了软件存在的一些问题 ,并给出了一些很好的建议,软件的质量得到提高,自己的能力也得到了提高。本次设计顺利完成是老师和同学的帮助,在此一并表示感谢。 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 参考文献 1 宋静 .学生信息管理系统设计与实现 J.计算机与数 字工程, 2008( 8) 2 陆卫忠、刘文亮 .C+Builder6程序设计教程 M,北京:科学出版社, 2005 3 侯识忠 .数据结构算法 -C+Builder6.0 程序集 M.北京:中国水利水电出版 4 李进 . 软件工程导论 M. 北京:清华大学出版社, 1998.1 5 郭盈发,张红娟 .数据库原理 M.西安:西安电子科技大学, 2002 6 美 O Neil,P.DATABASE Principles Programming and Performance.( second editionl) M.北京:高等教育出版社, 2001 8 孙鑫 .VC+深入详解 M.电子工业出版社 ,2006年 9 苗雪兰 .数据库系统原理及应用教程 J.机械工业出版社 ,2007年 10 李伟明 .VISUAL C+开发技术大全 M.人民邮电出版社 ,2007年 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: 程序附录 void _fastcall TfmMain:mnuReaderInfoClick(TObject *Sender) TForm *pForm = FormExist(读者档案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmReaderInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuBookTypeClick(TObject *Sender) TForm *pForm = FormExist(图书类别设置 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookType(Application); pForm-Show(); void _fastcall TfmMain:mnuBookInfoClick(TObject *Sender) TForm *pForm = FormExist(图书档案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuOrderClick(TObject *Sender) 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: TForm *pForm = FormExist(图书征订 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookOrder(Application); pForm-Show(); /- void _fastcall TfmMain:mnuBorrowClick(TObject *Sender) TForm *pForm = FormExist(图书借阅 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookBorrow(Application); pForm-Show(); void _fastcall TfmMain:mnuReturnClick(TObject *Sender) TForm *pForm = FormExist(图书归还 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookReturn(Application); pForm-Show(); void _fastcall TfmMain:mnuDueDateClick(TObject *Sender) 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: TForm *pForm = FormExist(图书逾期清单 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookDue(Application); pForm-Show(); void _fastcall TfmMain:mnuFineClick(TObject *Sender) TForm *pForm = FormExist(图书罚款 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookFine(Application); pForm-Show(); #include #pragma hdrstop #include Main.h #include readertype.h #include readerinfo.h #include booktype.h #include bookinfo.h #include bookorder.h #include bookborrow.h #include bookreturn.h 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: #include bookdue.h #include bookfine.h #pragma package(smart_init) #pragma resource *.dfm TfmMain *fmMain; _fastcall TfmMain:TfmMain(TComponent* Owner) : TForm(Owner) TForm* TfmMain:FormExist(AnsiString szCaption) for(int i=0; iMDIChildCount; i+) TForm *pForm = this-MDIChildreni; if(pForm-Caption = szCaption) return pForm; return NULL; void _fastcall TfmMain:mnuExitClick(TObject *Sender) Application-Terminate(); void _fastcall TfmMain:Label1Click(TObject *Sender) for(int i = 0; iItems-Count; i+) TMenuItem* pItem = MainMenu1-Items-Itemsi; TMenuItem* pItem1 = pItem-Find( (TLabel*) Sender)-Caption); 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: if(pItem1) pItem1-Click(); void _fastcall TfmMain:mnuReaderTypeClick(TObject *Sender) TForm *pForm = FormExist(读者类别设置 ); if(pForm) pForm-SetFocus(); else pForm = new TfmReaderType(Application); pForm-Show(); void _fastcall TfmMain:mnuReaderInfoClick(TObject *Sender) TForm *pForm = FormExist(读者档案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmReaderInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuBookTypeClick(TObject *Sender) TForm *pForm = FormExist(图书类别设置 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookType(Application); pForm-Show(); 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: void _fastcall TfmMain:mnuBookInfoClick(TObject *Sender) TForm *pForm = FormExist(图书档案管理 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookInfo(Application); pForm-Show(); void _fastcall TfmMain:mnuOrderClick(TObject *Sender) TForm *pForm = FormExist(图书征订 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookOrder(Application); pForm-Show(); void _fastcall TfmMain:mnuBorrowClick(TObject *Sender) TForm *pForm = FormExist(图书借阅 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookBorrow(Application); pForm-Show(); void _fastcall TfmMain:mnuReturnClick(TObject *Sender) 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: TForm *pForm = FormExist(图书归还 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookReturn(Application); pForm-Show(); void _fastcall TfmMain:mnuDueDateClick(TObject *Sender) TForm *pForm = FormExist(图书逾期清单 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookDue(Application); pForm-Show(); void _fastcall TfmMain:mnuFineClick(TObject *Sender) TForm *pForm = FormExist(图书罚款 ); if(pForm) pForm-SetFocus(); else pForm = new TfmBookFine(Application); pForm-Show(); #include BookBorrow.h #pragma package(smart_init) #pragma resource *.dfm TfmBookBorrow *fmBookBorrow; _fastcall TfmBookBorrow:TfmBookBorrow(TComponent* Owner) 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: : TForm(Owner) void _fastcall TfmBookBorrow:FormShow(TObject *Sender) edReaderCon-SetFocus(); StringGrid1-Cells00 = 状态 ; StringGrid1-Cells10 = 编号 ; StringGrid1-Cells20 = 书名 ; StringGrid1-Cells30 = 借出时间 ; StringGrid1-Cells40 = 应还时间 ; StringGrid1-Cells50 = 出版社 ; StringGrid1-Cells60 = 书价 ; void _fastcall TfmBookBorrow:btOkClick(TObject *Sender) AnsiString sql; for(int i=1; iRowCount; i+) if(!(StringGrid1-Cells0i = 新借 & StringGrid1-Cells1i.Length()0) continue; sql = insert into 图书借阅 (图书编号 , 读者编号 , 借阅时间 , ; sql += 应还时间 , 续借次数 , 操作员 , 状态 ) values (; sql += StringGrid1-Cells1i + ,; sql += edReaderCon-Text + ,; sql += StringGrid1-Cells3i + ,; sql += StringGrid1-Cells4i + ,0,操作员 ,新借无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: ); Query1-SQL-Clear(); Query1-SQL-Add(sql); Query1-ExecSQL(); TQuery* pQuery = new TQuery(NULL); pQuery-DatabaseName = db; pQuery-SQL-Add(exec sf_图书借阅 ); pQuery-ExecSQL(); delete pQuery; m_nBorrowNum = 0; m_nNum = 0; edReaderCon-Text = ; edBookCon-Text = ; edReaderCon-SetFocus(); for(int i=1; iRowCount; i+) StringGrid1-Cells0i = ; StringGrid1-Cells1i = ; StringGrid1-Cells2i = ; StringGrid1-Cells3i = ; StringGrid1-Cells4i = ; StringGrid1-Cells5i = ; StringGrid1-Cells6i = ; Panel2-Caption = ; void _fastcall TfmBookBorrow:btCancelClick(TObject *Sender) 无忧无虑毕设网 ():毕业设计源码下载 毕业设计源码下载: m_nBorrowNum = 0; m_nNum = 0; edReaderCon-Text = ; edBookCon-Text = ; edReaderCon-SetFocus(); for(int i=1; iRowCount; i+) StringGrid1-Cells0i = ; StringGrid1-Cells1i = ; StringGrid1-Cells2i = ; StringGrid1-Cells3i = ; StringGrid1-Cells4i = ; StringGrid1-Cells5i = ; StringGrid1-Cells6i = ; Panel2-Caption = ; void _fastcall TfmBookBorrow:btExitClick(TObject *Sender) this-Close(); void _fastcall TfmBookBorrow:FormCl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 英语-山东省淄博市2024-2025学年第一学期高三期末摸底质量检测试题和答案
- 小学一年级100以内
- 《管饲患者临床护理》课件
- 小学数学五年级下分数混合运算
- 《施工视频截图》课件
- 《管子加工及连接》课件
- 《刑事诉讼法立案》课件
- 广东省深圳市福田区2023-2024学年高三上学期期末考试英语试题
- 《滴眼药水的护理》课件
- 游戏行业技术工作概览
- 水利水电工程安全管理制度例文(三篇)
- 2025四川宜宾市南溪区属国企业招聘融资人员6人管理单位笔试遴选500模拟题附带答案详解
- DB45T 2048-2019 微型消防站建设管理规范
- 2025年超星尔雅学习通《劳动通论》章节测试题库及参考答案(培优)
- SCTP大云云计算PT2题库【深信服】认证考试题库及答案
- 外研版(2024新版)七年级上册英语期末质量监测试卷 3套(含答案)
- 《测土配方施肥》课件
- 2024预防流感课件完整版
- 新疆乌鲁木齐市(2024年-2025年小学六年级语文)统编版质量测试(上学期)试卷及答案
- 人教版2024-2025学年第一学期八年级物理期末综合复习练习卷(含答案)
- 职业健康检查管理制度
评论
0/150
提交评论