电大图书管理系统毕业论文-VB编程毕业设计_第1页
电大图书管理系统毕业论文-VB编程毕业设计_第2页
电大图书管理系统毕业论文-VB编程毕业设计_第3页
电大图书管理系统毕业论文-VB编程毕业设计_第4页
电大图书管理系统毕业论文-VB编程毕业设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要摘要 图书管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用 程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后 者则要求应用程序功能完备,易使用等特点。 因此本人结合开放式图书馆的要求,对Microsoft Office Access 20XX数据库管理系统、Visual Basic 6.0应用程序设计进行了学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、 数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理 系统可以满足借阅者、图书馆工作人员的使用需要。 关键词 图书管理、数

2、据库、Microsoft、Excel、Visual Basic 前言前言 进入21世纪,传统的数据的数据管理已逐渐向使用计算机进行管理步进,因为使用计算机进行数 据管理比传统数据的管理有更简单方便的使用性,维护性和保密性等好处。 我的电大图书馆管理系统就是根据这个构思的,因为使用传统的纸和笔来进行图书馆的管 理是远远没有敲几下键盘跟用鼠标点点就能瞬间进行图书的借阅、归还等操作的方便,试想一下,只 需要输入一个图书的编号,就马上得到该书借出去了没有,如果借了出去,又借出了多少天?是否超 过了租借的期限?超过了又该罚多少款?这些数据都可以以瞬间显示出来,因此大大减少了图书管 理员的操作时间,增加了

3、工作效率,而且,别忘了,这只是这个系统的一个小部分功能而已。好处是显 而易见的。 由于时间和水平有限,难免有不足和错漏,欢迎批评指正。 目目 录录 第一章第一章 绪论绪论.4 1.1 数据库应用系统开发简介 .4 1.2 图书管理系统 .4 1.3 开发工具及其环境 .5 第二章第二章 图书管理系统设计分析图书管理系统设计分析.6 2.1 数据库系统设计及范式分析.6 2.1.1 数据库系统设计.6 2.1.2 数据库设计范式分析.8 2.2 应用需求分析 .9 2.3 数据流图 .10 2.4 系统总体流程图 .12 2.5 系统数据库设计 .13 2.6 逻辑结构设计 .14 第三章第三章

4、 图书管理系统应用程序系统详细设计图书管理系统应用程序系统详细设计.17 3.1 用户登录系统 .17 3.2 创建菜单编辑系统主菜单 .18 3.3 实现数据库之间的联系 .18 第四章第四章 系统祥细设计系统祥细设计.20 登录界面.20 主窗体.22 数据维护窗体.25 借书窗体.28 还书窗体.31 查找图书窗体.34 查找读者窗体.40 读者借阅窗体.44 添加图书窗体.46 用户设置窗体.49 结束语结束语.56 参考文献参考文献.56 1 第一章第一章 绪论绪论 1.1 数据库应用系统开发简介数据库应用系统开发简介 在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据

5、库的结构、开发数据库 应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。 数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的 需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功 能完备、高效能的应用。 数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技 术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着 World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。 1.2 图书管理系统图书

6、管理系统 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于 信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不 仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统 的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有 很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信 息管理的主要

7、方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限 定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及 借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失, 且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于 信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。 2 数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情 况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情

8、况是记录在 借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚, 时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长 时间以前的图书进行更改就更加困难了。 基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免 图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。 1.3 开发工具及其环境开发工具及其环境 电大图书馆管理系统采用Microsoft Office Access 20XX进行后台数据库管理,Visual Basic 6.0进行应用程序设计

9、。 Access 20XX 拥有一套功能强大的应用工具,其完善程度足以满足专业开发人员的需要。虽然 如此,新手也能十分容易的学习和掌握该产品。通过创建或使用强大的数据库解决方案,能够更为轻 松地组织、访问和共享信息资源。 Visual Basic 6.0,是微软公司推出的可视化编程工具MSDN之一,是目前世界上使用最广泛的程 序开发工具。它的快捷的开发速度,简单易学的语法,体贴便利的开发环境,不失一款优秀的编程工 具. 第二章第二章 图书管理系统设计分析图书管理系统设计分析 3 2.1 数据库系统设计及范式分析数据库系统设计及范式分析 信息系统的主要任务是通过大量的数据获得管理所需要的信息,这

10、就必须存储和管理大量的数 据。因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管 理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。 2.1.1 数据库系统设计数据库系统设计 数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织 起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之 间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存 取效率高、能满足多种查询要求的数据模型。 数据库设计的步骤是: (1) 数据库结构定义:目前的数据库管理系统(DBMS

11、)有的是支持联机事务处理CLTP(负责对事务数据 进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策 的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据 库。针对选择的DBMS,进行数据库结构定义。 (2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类 型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化 要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要 满足数据存储的要求,还要增加一些如反映有

12、关信息、操作责任、中间数据的字段或临时数据表。 (3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本 如何保证一致性和数据的完整性。 (4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。 (5) 数据字典设计:用数据字典描述数据库的设计,便于维护和修改。 为了更好地组织数据和设计出实际应用数据库,应该注意如下问题: 规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。 关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。 这一步设计完成后数据库和数据结构设计工作基本完成,

13、只待系统实现时将数据分析和数据字典的 内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。 4 建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结 构;建立整个数据库的关系结构。 (1)链接关系的确定 在进行了上述数据规范化重组后,已经可以确保每一个基本数据表(我们简称为表)是规范的,但 是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整全面地反映 问题。也就是说在这些基本表的各宇段中,所存储的是同一事物不同侧面的属性。那么计算机系统 如何能知道哪些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一

14、个事物呢?这就 需要在设计数据结构时将这种各表之间的数据记录关系确定下来。这种表与表之间的数据关系一般 都是通过主或辅关键词之间的连接来实现的。因为在每个表中只有主关键词才能唯一地标识表中的 这一个记录值(因为根据第三范式的要求,表中其它数据字段函数都依赖于主关键词),所以将表通过 关键词连接就能够唯一地标识出某一事物不同属性在不同表中的存放位置。 (2)确定单一的父子关系结构 所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用M:N来表示)的现 象,即设法使得所有表中记录之间的关系呈树状结构(只能由一个主干发出若干条分支,而不能有若 干条主干交错发出若干条分支状况)。所谓的

15、“父系”就是指表的上一级关系表。消除多对多关系 可以借助于E-R图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。 消除这种M:N情况的办法也很简单,只需在二表之间增加一个表,则原来M:N的关系就改成了M:1,1:N 的关系了。 确定数据资源的安全保密属性: 一般DBMS都提供给我们自己定义数据安全保密性的功能。系统所提供的安全保密功能一般有8个等 级(0-7级),4种不同方式(只读、只写、删除、修改),而且允许用户利用这8个等级的4种方式对每一 个表自由地进行定义。 定义安全保密性的方法一般有如下几种: a原则上所有文件都定义为4级,个别优先级特别高的办公室(终端或微机的入网账

16、号)可定义 高于4级的级别,反之则定义为低于4的级别。 b统计文件(表)和数据录入文件一般只对本工作站定义为只写方式,对其它工作站则定义为只 读方式。 c财务等保密文件一般只对中工作站(如财务科等)定义为可写、可改、可删除方式,对其它工 作站则定义为只读方式,而且不是每个人都能读,只有级别相同和高级别者才能读。 5 2.1.2 数据库设计范式分析数据库设计范式分析 建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据 指标体系是建立DB的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类 就是关系数据库中的一个基本表,而这个指标类下面的一个个具体

17、指标就是这个基本表中的一个字 段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还必须 进行规范化的重新组织。 a. 数据组织的规范化形式 在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关 系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本 表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一 个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是 二维的,它有如下四个性质: l 在表中的任意一

18、列上,数据项应属于同一个属性(如图中每一列都存放着不同合同记录的同一属性 数据)。 l 表中所有行都是不相同的,不允许有重复组项出现(如图中每一行都是一个不同的合同记录)。 l 在表中,行的顺序无关紧要(如图中每行存的都是合同记录,至于先放哪一个合同都没关系)。 l 在表中,列的顺序无关紧要,但不能重复(如图中合同号和合同名谁先谁后都没关系,但二者不可重 复或同名)。 在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范 式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即 满足第五范式的数据结构自动满足一、二、三、四范式

19、,满足第四范式的数据结构自动满足第一、 二、三范式,依此类推。 第一范式(first normal form,简称1st NF)就是指在同一表中没有重复项出现,如果有则应将 重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st NF实 际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满足 1st NF。 第二范式(second normal form,简称 2nd NF)是指每个表必须有一个(而且仅一个)数据元素为 主关键字(primary key),其它数据元素与主关键字一一对应。例如,在图l9.7中如果我们将合同号 定义为主

20、关键字(其它数据元素中的记录数据都有可能重名,故不能作为主关键字),故只要知道了一 6 个合同记录的合同号,就可以唯一地在同一行中找到该合同的任何一项具体信息。通常我们称这种 关系为函数依赖(functional depEndence)关系。即表中其它数据元素都依赖于主关键字,或称该数 据元素唯一地被主关键字所标识。 第三范式(third normal form,简称 3rd NF)就是指表中的所有数据元素不但要能够唯一地被 主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足了 2nd NF的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元素

21、的现象,必须 加以消除。 为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽 量按关系规范化要求进行数据库设计。 2.2 应用需求分析应用需求分析 图书管理系统需要满足来自两方面的需求,这两个方面分别是图书馆工作人员和图书馆管理人 员。 图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者 查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护, 及系统状态的查看、维护。图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工 作人员登陆本模块进行更多的考虑。在此模块中,图书馆工作人员可以为图书

22、借阅者加入借书记录 或是还书记录。 图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借 阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员 可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修 改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这 部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书 借阅者借阅记录的级联删除。 设计不同用户的操作权限和登陆方法 对所有用户开放的图书查询 借阅者维护借阅者个人部分信息 借

23、阅者查看个人借阅情况信息 7 维护借阅者个人密码 根据借阅情况对数据库进行操作并生成报表 根据还书情况对数据库进行操作并生成报表 查询及统计各种信息 维护图书信息 维护工作人员和管理员信息 维护借阅者信息 处理信息的完整性 对借阅过期的图书生成报表 2.3 数据流图数据流图 在数据流图的基础上,定义数据字典。数据字典是关于数据库中数据的描述,它的作用是在软件 分析和设计过程中为有关人员提供关于数据描述信息的查询,以保证数据的一致性。下面在上图的 基础上举例说明数据字典的定义。 图中涉及很多数据项,其中数据项“读者编号”可以描述如下: 数据项名:读者编号 含义:唯一标识每个读者 8 类型:字符型

24、 取值范围:00000000 至 99999999 取值含义:顺序编号 “读者”一个数据结构,它可以描述如下: 数据结构名:读者 含义说明:是图书管理系统的数据结构之一,定义了一个读者的有关信息 组成:读者编号,姓名,性别,班级 数据流“借阅记录”可描述如下: 数据流名:借阅记录 说明:读者的借书记录 数据来源:办理借阅手续 数据去向:借阅 数据结构:读者编号、借阅日期 数据存储“借阅”可以描述如下: 数据存储名:借阅 说明:记录读者的借书情况 流出数据流:借阅记录 流入数据流:借阅记录 数据描述:读者编号、借阅日期 存取方式:随机存取 处理过程“判断能否借书”可描述如下: 处理过程“判断能否

25、借书” 说明:根据读者的已借书情况可被借图书的馆藏情况判断读者能否借书 输入:借阅记录、读者信息、被借图书信息 输出:能否借书的标志 处理:读者提出借书请求后,先判断该读者以前的借书量是否达到了 10 本,如果达到了 10 本,则不能再借书,如果没有达到 10 本,则再判断读者要借的图书的可借量是 否为 0,如果不为 0,则该书可以借出。 9 2.4 系统总体流程图系统总体流程图 2.5 系统数据库设计系统数据库设计 概念设计 在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点 的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶

26、段的 用户登录 超级管理员 图书管理员 书 籍 管 理 读 者 管 理 系 统 设 置 借 阅 图 书 续 借 图 书 还 书 书 籍 查 询 借 阅 信 息 读 者 查 询 用 户 设 置 书 籍 设 置 读 者 设 置 数据备份 打印报表 注销 退出 10 任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。 利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综 合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。 (1) 设计局部ER模式 实体和属性的定义: 图书(图书编号,图书名称,作者,出版社,出版日期,备注,

27、价格,数量,) 借阅者(借书证号,姓名,性别,身份证,联系TEL) 图书类别(图书类别编号,类别描述) ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类 型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步 确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在 联系,多个实体类型之间是否存在联系,等等。联系定义,解释如下: u 一个借阅者(用户)只能具有一种身份,而一种身份可被多个借阅者所具有; u 一本图书只能属于一种图书类别(类别),而一种图书类别可以包含多本图书; u 一

28、个用户可以借阅多本不同的书,而一本书也可以被多个不同的用户所借阅。 (2)设计全局ER模式 所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构 不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。 1)确定公共实体类型 为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。 在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类 型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。 2)局部ER模式的合并 合并的原则是:首先进行两两合并;先和合并那些现实世界

29、中有联系的局部结构;合并从公共 实体类型开始,最后再加入独立的局部结构。 3)消除冲突 冲突分为三类:属性冲突、结构冲突、命名冲突。 设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成 11 为能够被所有用户共同理解和接受的同一的概念模型。 3)全局ER模式的优化 在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。 一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数 要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。 综上所述,系统的实体ER模式如图 2.

30、6 逻辑结构设计逻辑结构设计 用户表 字段名称字段名称数据类型数据类型字段大小字段大小必填字段必填字段允许空字段允许空字段 密码文本 8 是否 用户名文本 8 是否 书籍表 字段名称字段名称数据类型数据类型字段大小字段大小必填字段必填字段允许空字段允许空字段 书籍编号文本 8 是否 书籍名称文本 50 是否 12 类别代码文本 2 是否 出版社文本 20 是否 作者姓名文本 10 是否 书籍价格数字单精度是否 书籍页码数字单精度是否 登记日期文本 10 是否 书籍类别表 字段名称字段名称数据类型数据类型字段大小字段大小必填字段必填字段允许空字段允许空字段 类别代码文本 2 是否 书籍类别文本

31、10 是否 借出天数文本 10 是否 借阅表 字段名称字段名称数据类型数据类型字段大小字段大小必填字段必填字段允许空字段允许空字段 读者编号文本 10 是否 书籍编号文本 10 是否 借书日期文本 10 是否 超出天数文本 10 是否 罚款金额文本 10 是否 读者表 字段名称字段名称数据类型数据类型字段大小字段大小必填字段必填字段允许空字段允许空字段 读者编号文本 10 是否 读者姓名文本 10 是否 读者性别文本 2 是否 办证日期文本 10 是否 联系 TEL文本 10 是否 所属班级文本 10 是否 13 家庭住址文本 50 是否 第三章第三章 图书管理系统应用程序系统详细设计图书管理

32、系统应用程序系统详细设计 14 3.1 用户登录系统用户登录系统 本窗体是为不同的用户(工作人员,管理员)提供选择以进入不同的模块,满足不同用户的需求。 让工作人员或图书馆管理员按照用户名和密码进行登录,并且跟据用户名检查数据表中的“权限” 字段,以分辩进入图书馆管理人员模块还是进入工作人员模块。 3.2 创建菜单编辑系统主菜单创建菜单编辑系统主菜单 开始 .登录 .注销 .- .数据备份 .- .退出 操作 .借阅图书 .续借图书 .- .还书 编辑 .查找图书 .查找读者 .读者借阅查询 添加 .添加图书 .添加读者 系统设置 .基本设置 .图书类别设置 .- .管理员设置 统计 .管内图

33、书统计 打印 .读者信息表 .图书信息表 帮助 .帮助 .软件信息 15 3.3 实现数据库之间的联系实现数据库之间的联系 数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这 种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的 不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自 己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关 键字、组合关键字和外关键字。在表中使用的关键字类型用于 描述库表示什么以及在数据库中如何与其它的库建立关系。 16 第四章第四

34、章 系统祥细设计系统祥细设计 登录界面登录界面 Private Sub Command1_Click() If Text1.Text = Then MsgBox 请填写用户名!, vbInformation + vbOKOnly, 警告 Text1.SetFocus Exit Sub End If If Text2.Text = Then MsgBox 请填写密码!, vbInformation + vbOKOnly, 警告 Text2.SetFocus Exit Sub End If g_strsql = select * from systeminfo where 名称= data sou

35、rce= _ Mode=ReadWrite;persist security info=true;Jet OLEDB:Database Password=xgg2213 Adodc1.CursorLocation = adUseClient Adodc1.CommandType = adCmdText Adodc1.RecordSource = StrSQL Adodc1.Refresh DataGrid1.Refresh Label15.Caption = CStr(Adodc1.Recordset.RecordCount) g_strsql = select * from setinfo

36、Set g_rs = g_db.OpenRecordset(g_strsql) strcount = g_rs!借出册数 - Adodc1.Recordset.RecordCount Label17.Caption = CStr(strcount) bookidtxt.SetFocus End Sub 28 还书窗体还书窗体 Private Sub Command1_Click() g_strsql = select * from lentinfo where 书籍编号= data source= _ Mode=ReadWrite;persist security info=true;Jet

37、OLEDB:Database Password=xgg2213 Command3.Enabled = False Command4.Enabled = False OptionV End Sub Private Sub Option1_Click() Label1.Caption = 按编号查询 Text1.SetFocus End Sub Private Sub Option2_Click() Label1.Caption = 按名称查询 Text1.SetFocus End Sub Private Sub Option3_Click() Label1.Caption = 按类别代码查询 T

38、ext1.SetFocus End Sub Private Sub Option4_Click() Label1.Caption = 按出版社查询 Text1.SetFocus End Sub Private Sub Option5_Click() Label1.Caption = 按作者姓名查询 Text1.SetFocus End Sub Private Sub Option6_Click() Label1.Caption = 按登记日期查询 Text1.SetFocus End Sub 36 Public Sub OptionV() Option1.Value = False Optio

39、n2.Value = False Option3.Value = False Option4.Value = False Option5.Value = False Option6.Value = False Option7.Value = False Check1.Value = 0 End Sub Private Sub Option7_Click() Adodc1.CursorLocation = adUseClient Adodc1.CommandType = adCmdTable Adodc1.RecordSource = bookinfo Adodc1.Refresh If Ado

40、dc1.Recordset.RecordCount 0 Then Command3.Enabled = True Command4.Enabled = True End If End Sub 37 查找读者窗体查找读者窗体 Private Sub Command1_Click() Dim x As String If Text1.Text = Then MsgBox 请输入查询内容, vbInformation + vbOKOnly, 警告 Text1.SetFocus Exit Sub End If If Option1.Value = False And Option2.Value = F

41、alse And Option3.Value = False And Option4.Value = False Then MsgBox 请选择查询方式, vbInformation + vbOKOnly, 警告 Option1.Value = True Exit Sub End If If Option1.Value = True Then x = select * from readerinfo where 读者编号 in( + + Text1.Text + ) End If If Option2.Value = True Then x = select * from readerinfo

42、 where 读者姓名 in( + + Text1.Text + ) End If 38 If Option3.Value = True Then x = select * from readerinfo where 所属班级 in( + + Text1.Text + ) End If If Option4.Value = True Then x = select * from readerinfo where 办证日期 in(# data source= _ Mode=ReadWrite;persist security info=true;Jet OLEDB:Database Passwo

43、rd=xgg2213 Adodc1.CursorLocation = adUseClient End Sub Private Sub Option1_Click() Label1.Caption = 按编号查询 End Sub Private Sub Option2_Click() Label1.Caption = 按姓名查询 End Sub Private Sub Option3_Click() Label1.Caption = 按班级查询 End Sub Private Sub Option4_Click() Label1.Caption = 按办证日期查询 End Sub Private

44、 Sub Option5_Click() Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from readerinfo Adodc1.Refresh If Adodc1.Recordset.RecordCount = 0 Then Exit Sub Else Command4.Enabled = True Command5.Enabled = True End If End Sub 41 读者借阅窗体读者借阅窗体 Private Sub Command1_Click() Dim StrSQL As String If

45、 Text1.Text = Then MsgBox 请输入查询内容, vbInformation + vbOKOnly, 警告 Text1.SetFocus Exit Sub End If If Option1.Value = False And Option2.Value = False Then MsgBox 请选择查询方式, vbInformation + vbOKOnly, 警告 Option1.Value = True Exit Sub End If If Option1.Value = True Then StrSQL = select bookinfo.书籍名称,booktype

46、.书籍类别,lentinfo.书籍编号, _ & bookinfo.出版社,bookinfo.书籍页码,lentinfo.借书日期,lentinfo.还书 日期, _ & lentinfo.超出天数,lentinfo.罚款金额 _ & from bookinfo,booktype,lentinfo _ & where bookinfo.书籍编号=lentinfo.书籍编号 and _ & lentinfo.读者编号= & Text1.Text & and bookinfo.类别代码 =booktype.类别代码 42 End If If Option2.Value = True Then St

47、rSQL = select bookinfo.书籍名称,booktype.书籍类别,lentinfo.书籍编号, _ & bookinfo.出版社,bookinfo.书籍页码,lentinfo.借书日期,lentinfo.还书 日期, _ & lentinfo.超出天数,lentinfo.罚款金额 _ & from bookinfo,readerinfo,booktype,lentinfo _ & where readerinfo.读者编号=lentinfo.读者编号 and bookinfo.书籍编号 =lentinfo.书籍编号 and _ & readerinfo.读者姓名 = & Te

48、xt1.Text & and bookinfo.类别代码 =booktype.类别代码 End If Adodc1.RecordSource = StrSQL Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then g_rs.MoveFirst Do While Not g_rs.EOF If g_rs!书籍编号 = Text1.Text Then MsgBox 对不起,该书籍编号已经存在,请重新输入!, vbInformation + vbOKOnly, 警告 Set g_rs = Nothing Exit Sub End If g_rs.

49、MoveNext Loop End If g_rs.AddNew g_rs!书籍编号 = Text1.Text g_rs!书籍名称 = Text2.Text g_rs!类别代码 = Mid(Combo1.Text, 1, 1) g_rs!出版社 = Text3.Text g_rs!作者姓名 = Text4.Text g_rs!书籍价格 = Text5.Text g_rs!书籍页码 = Text6.Text g_rs!登记日期 = DTPicker1.Value g_rs!是否借出 = False g_rs.Update 45 Text1.Text = Text2.Text = Text3.Te

50、xt = Text4.Text = Text5.Text = Text6.Text = Set g_rs = Nothing MsgBox 书籍信息已成功添加!, vbInformation + vbOKOnly, 信息 End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() dbl DTPicker1.Value = Date Set g_rs = g_db.OpenRecordset(booktype, dbOpenTable) Combo1.Clear If g_rs.RecordCou

51、nt 0 Then g_rs.MoveFirst Do While Not g_rs.EOF Combo1.AddItem g_rs!类别代码 + - + g_rs!书籍类别 g_rs.MoveNext Loop Set g_rs = Nothing Else MsgBox 请先设置书籍类别代码!, vbInformation + vbOKOnly, 警告 setbooktype.Show Unload Me End If End Sub 46 用户设置窗体用户设置窗体 Private Sub Command1_Click() If Text1.Text = Then MsgBox 登陆名称不

52、能为空!, vbInformation + vbOKOnly, 警告 Text1.SetFocus Exit Sub End If If Text2.Text = Then MsgBox 登陆密码不能为空!, vbInformation + vbOKOnly, 警告 Text2.SetFocus Exit Sub End If If Text3.Text = Then MsgBox 密码确认不能为空!, vbInformation + vbOKOnly, 警告 Text3.SetFocus Exit Sub End If If Text2.Text Text3.Text Then MsgBox

53、 两次密码不一样,请重新输入!, vbInformation + vbOKOnly, 提示 Text2.Text = Text3.Text = Text2.SetFocus Exit Sub 47 End If If Option1.Value = False And Option2.Value = False And Option3.Value = False Then MsgBox 请选择操作权限!, vbInformation + vbOKOnly, 警告 Exit Sub End If Set g_rs = g_db.OpenRecordset(select * from system

54、info where 名称= & Text1.Text & ) If g_rs.EOF = False Then MsgBox 对不起,你所选择的用户名已经存在,请换一个登陆名!, vbInformation + vbOKOnly, 信息 Text1.Text = Text1.SetFocus Set g_rs = Nothing Exit Sub Else Set g_rs = Nothing Set g_rs = g_db.OpenRecordset(select * from systeminfo ) g_rs.AddNew g_rs!名称 = Text1.Text g_rs!密码 =

55、Text2.Text If Option1.Value = True Then g_rs!超级管理员 = True End If If Option2.Value = True Then g_rs!数据库维护员 = True End If If Option3.Value = True Then g_rs!图书管理员 = True End If g_rs.Update Set g_rs = Nothing MsgBox 用户添加成功,请返回!, vbInformation + vbOKOnly, 提示 Text1.Text = Text2.Text = Text3.Text = Text1.S

56、etFocus End If End Sub Private Sub Command2_Click() Text1.Text = Text2.Text = Text1.SetFocus Option1.Value = False 48 Option2.Value = False Option3.Value = False End Sub Private Sub Command3_Click() If Text4.Text = Then MsgBox 登陆名称不能为空!, vbInformation + vbOKOnly, 警告 Text4.SetFocus Exit Sub End If If

57、 Text5.Text = Then MsgBox 登陆密码不能为空!, vbInformation + vbOKOnly, 警告 Text5.SetFocus Exit Sub End If If Text6.Text Text7.Text Then MsgBox 两次密码不一样,请重新输入!, vbInformation + vbOKOnly, 提示 Text6.Text = Text7.Text = Text6.SetFocus Exit Sub End If g_strsql = select * from systeminfo where 名称= & Text4.Text & and

58、 密码= & Text5.Text & Set g_rs = g_db.OpenRecordset(g_strsql) If Not g_rs.EOF Then g_rs.Edit g_rs!密码 = Text6.Text g_rs.Update Text4.Text = Text5.Text = Text6.Text = Text7.Text = Set g_rs = Nothing MsgBox 用户 + Text4.Text + 的密码修改成功!, vbInformation + vbOKOnly, 信 息 Else MsgBox 对不起,请核对你输入的用户和密码是否正确!, vbInf

59、ormation + vbOKOnly, 信息 Set g_rs = Nothing Exit Sub End If End Sub 49 Private Sub Command4_Click() Text4.Text = Text5.Text = Text6.Text = Text7.Text = Text4.SetFocus End Sub Private Sub Command5_Click() If Text8.Text = Then MsgBox 登陆名称不能为空!, vbInformation + vbOKOnly, 警告 Text1.SetFocus Exit Sub End I

60、f Set g_rs = g_db.OpenRecordset(select * from systeminfo where 名称= & Text8.Text & ) If g_rs.RecordCount 0 Then If MsgBox(你是否确定删除登陆名为: + Text8.Text + 的用户?, vbInformation + vbOKCancel, 删除) = vbOK Then g_rs.Delete MsgBox 删除成功,请返回! Text8.Text = Set g_rs = Nothing Else Text8.Text = Set g_rs = Nothing End

温馨提示

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

评论

0/150

提交评论