Visual Basic6.0+SQL Server2000图片管理系统
第一章 绪 论§1.1 数据库应用系统开发简介 在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。 数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。 数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。
1.1.1 数据库 数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。
1.1.1.1 用户数据 目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。第二章描述了一个用以产生良好结构关系的过程,称作规范化。
1.1.1.2 元数据 数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、关键字、规则和数据库结构的其他部分。 在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。本文第二章所介绍的SQL语言可以同时用于元数据和用户数据。
1.1.1.3 索引 第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。下面以本人的图书管理信息系统中的book表为例来说明。
1.1.1.4 应用元数据 存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查询和其他形式的查询组件。并非所有的DBMS都支持应用组件,支持组件的DBMS也不一定把全部组件的结构作为应用元数据存储在数据库中。然而,大多数现代的DBMS产品存储这种数据作为数据库的一部分。一般来说,数据库开发人员和用户都不直接访问应用元数据,想反,他们通过DBMS中的工具来处理这些数据。SQL Server2000中就支持窗体、存储过程等应用元数据。
1.1.2 数据库管理系统 数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。SQL Server2000就是一种关系型数据库管理系统。 关系模型。关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。 关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。关系模型是数学化模型。SQL语言是关系数据库的标准化语言,已得到了广泛的应用。
§1.2 图书管理系统 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。 尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。 数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。 基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
1.2.1 系统所做工作 1) 了解应用开发工具的现状 2) Visual Basic6.0编程基础 3) MS SQL Server基础 4) 设计数据库;设计界面 5) 开发数据库。
§1.3 本文所作工作 绪论部分对数据库应用系统的结构、开发进行了简要介绍,分析了图书管理信息系统设计的特点和任务。 第二章介绍了数据库的设计和范式分析,并系统介绍了SQL语言,为设计和理解应用程序做了铺垫。 第三章对系统介绍了Visual Basic 6.0的数据库编程技术、SQL语言在Visual Basic 6.0中的应用、SQL Server基础。 第四章分析了图书管理系统的应用需求,设计了系统的数据库结构,并根据需求对系统功能进行了划分和细化。 第五章根据第四章的设计结果利用SQL Server2000和Visual Basic 6.0进行了具体的应用程序设计98
Visual Basic6.0+SQL Server2000图片管理系统
第二章 数据库理论基础 一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。 信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。(1) 数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。(2) 概念设计的任务是从DFD出发,绘制出本主题的实体-关系图,并列出各个实体与关系的纲要表。(3) 逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。(4) 物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,实现物理建库,完成数据库物理设计字典。(5) 加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。 要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则: 基本表的个数越少越好。 主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。 字段的个数越少越好。 所有基本表的设计均应尽量符合第三范式。 数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。下面我们着重从SQL应用、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决。
§2.1 数据库系统设计及范式分析 信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。
2.1.1 数据库系统设计 数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。数据库设计的步骤是:(1) 数据库结构定义(2) 数据表定义(3) 存储设备和存储空间组织(4) 数据使用权限设置(5) 数据字典设计
2.1.2 数据库设计范式分析 建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据指标体系是建立DB的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。 数据组织的规范化形式 在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是二维的,它有如下四个性质:1在表中的任意一列上,数据项应属于同一个属性2表中所有行都是不相同的,不允许有重复组项出现3在表中,行的顺序无关紧要4在表中,列的顺序无关紧要,但不能重复 在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,……,依此类推。 第一范式(first normal form,简称1st NF)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st NF实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满足1st NF。 第二范式(second normal form,简称 2nd NF)是指每个表必须有一个(而且仅一个)数据元素为主关键字(primary key),其它数据元素与主关键字一一对应。通常我们称这种关系为函数依赖(functional depEndence)关系。即表中其它数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所标识。 第三范式(third normal form,简称 3rd NF)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足了 2nd NF的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元素的现象,必须加以消除。 为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计。§2.2 SQL语言介绍2.2.1 SQL基础 SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如"Select"、 "Insert"、 "Update"、 "Delete"、 "Create"和 "Drop"常常被用于完成绝大多数数据库的操作。MS SQL Server 就是用的Transact- SQL。
2.2.2 SQL语句 SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据; DDL(Data Definition Language,数据定义语言): 用于定义数据的结构,比如创建、修改或者删除数据库对象; DCL(Data Control Language,数据控制语言):用于定义数据库用户的权限。DML组可以细分为以下的几个语句:SELECT:用于检索数据;INSERT:用于增加数据到数据库;UPDATE:用于从数据库中修改现存的数据;DELETE:用于从数据库中删除数据。DDL语句可以用于创建用户和重建数据库对象。下面是DDL命令:CREATE TABLE,ALTER TABLE,DROP TABLE,CREATE INDEX,DROP INDEX2.2.2.1 DDL与DML 数据定义语言DDL:它是用来创建和修改数据库结构的一种语句,包括 Create、Alter和Drop 语句。 数据操作语言DML:包括数据查询与数据更新。数据查询主要是由Select语句完成,这一点不再赘述。而数据更新所造成的风险大大超过数据查询。数据库管理系统必须在更改期内保护所存储的数据的一致性,确保有效的数据进入数据库,数据库必须保持一致性,DBMS还必须协调多用户的并行更新,以确保用户和它们的更改不至于影响其它用户的作业。用于修改数据库内容的 SQL 语句主要有以下三个: (1) Insert,向一个表中加入新的数据行 (2) Delete,从一个表中删除数据行 (3) Update,更改数据库中已经存在的数据
Visual Basic6.0+SQL Server2000图片管理系统第三章 应用系统开发工具§3.1 Visual Basic6.0介绍 VB是微软公司出品的一个快速可视化程序开发工具软件,借助微软在操作系统和办公软件的垄断地位,VB在短短的几年内风靡全球。VB是极有特色和功能强大的软件,主要表现在:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,较易维护的生成代码。 Visual Basic是在Basic语言的基础上发展起来的,是第一个可进行可视化开发的集成开发工具,它所具有的“编辑后继续运行(edit and continue)”的特性,超越了旧的编辑-编译-测试模式。Visual Basic引入了面向对象的程序设计思想和“控件”概念,使得大量已经编好的visual Basic程序可以直接拿来使用。同时,Visual Basic又是最容易学习与应用的程序语言之一。虽然最容易学习与使用,但它的功能却非常强大。它已成为一种专业化的开发语言和环境。使用Visual Basic不仅可以快速创建Windows程序,还可以编写企业水平的客户/服务器程序及强大的数据库应用程序。现在,从个人使用的小型工具软件到大型企业的系统软件,甚至通过网络普及全球的分布式应用软件,都可以使用Visual Basic开发。§3.2 SQL Server简述 SQL Server 是一个后台数据库管理系统,它功能强大操作简便,日益为广大数据库用户所喜爱。越来越多的开发工具提供了与SQL Server的接口。SQL Server 是一个关系数据库管理系统,它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的。于1988 年推出了第一个OS/2 版本,在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。 SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能、具有使用方便、可伸缩性好与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。MSSQL Server不但可以应用于大中型数据库管理中,建立分布式关系数据库,并且也可以开发桌面数据库。事实上,SQL Server数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server的数据库处理方式,则是使用面向对象的操作方式与精神,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO(面向对象)的一个系统结构。 SQL Server 企业管理器是 SQL Server 的主要管理工具,它提供了一个遵从 MMC 标准的用户界面,使用户得以: · 定义 SQL Server 实例组。· 将个别服务器注册到组中。· 为每个已注册的服务器配置所有 SQL Server 选项。· 在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。· 在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。· 通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理和脚本。· 唤醒调用为 SQL Server 定义的各种向导。
第四章 图书管理系统设计分析§4.1 应用需求分析 图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护并生成催还图书报表。 图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码。这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。 图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录,并打印生成相应的报表给用户查看和确认。 图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。对所有用户开放的图书查询借阅者维护借阅者个人部分信息借阅者查看个人借阅情况信息维护借阅者个人密码查询及统计各种信息维护图书信息维护工作人员和管理员信息维护借阅者信息处理信息的完整性§4.2 系统数据库设计4.2.1 概念设计 在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。然后再把概念模式转换成逻辑模式。将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。 利用ER方法进行数据库的概念设计,可分成三步进行:首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。(1) 设计局部ER模式实体和属性的定义:图书(图书编号,图书名称,作者,出版社,出版日期,备注,价格,数量,)借阅者(借书证号,姓名,性别,身份证,联系电话,密码)身份(身份编号,身份描述,最大借阅数)图书类别(图书类别编号,类别描述) ER模型的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。(2)设计全局ER模式 所有局部ER模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。1)确定公共实体类型 为了给多个局部ER模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。在这一步中我们仅根据实体类型名和键来认定公共实体类型。一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。2)局部ER模式的合并 合并的原则是:首先进行两两合并;先和合并那些现实世界中有联系的局部结构;合并从公共实体类型开始,最后再加入独立的局部结构。3)消除冲突冲突分为三类:属性冲突、结构冲突、命名冲突。 设计全局ER模式的目的不在于把若干局部ER模式形式上合并为一个ER模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。3)全局ER模式的优化 在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。一个好的全局ER模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:实体类型的个数要尽可能的少;实体类型所含属性个数尽可能少;实体类型间联系无冗余。
4.2.2 关系数据库的逻辑设计 由于概念设计的结果是ER图,DBMS一般采用关系型,因此数据库的逻辑设计过程就是把ER图转化为关系模式的过程。由于关系模型所具有的优点,逻辑设计可以充分运用关系数据库规范化理论,使设计过程形式化地进行。设计结果是一组关系模式的定义。(1) 导出初始关系模式book(图书编号#,图书名称,图书类别#,作者,出版社,出版日期,备注,价格,数量)class(图书类别#,类别名)user(借书证号#,姓名,性别,身份编号#,身份证,联系电话,密码)ID(身份编号#,身份描述,最大借阅数)
Visual Basic6.0+SQL Server2000图片管理系统
Owner(借书证号#,图书编号#,借书日期)(2) 产生子模式 子模式是用户所用到的那部分数据的描述。除了指出用户用到的数据外,还应指出数据与概念模式中相应数据的联系,即指出概念模式与子模式之间的对应性。借书子模式(借书证号#,姓名,图书编号#,图书名称,借书日期)4.2.3 数据库的实现我选用Microsoft SQL Server2000(企业版)数据库来进行数据库的逻辑设计。首先创建七个基本数据库表,然后根据全局ER图,建立各个表之间的联系。 图4-1 借阅者基本信息表的结构若图片无法显示请联系QQ3710167,Visual Basic6.0+SQL Server2000图片管理系统系统免费,转发请注明源于www.lwfree.cn图4-2 图书信息表的结构图4-3 图书类别信息表的结构
第五章 图书馆管理系统应用程序设计§5.1 系统功能设计 通过前面的功能分析可以将图书管理系统划分为5大功能模块,分别为基础信息维护,新书订购管理,图书借阅管理,统计打印和系统维护这5部分。其中,基础信息维护主要能够完成书商管理,出版社管理,收藏单位管理和印刷厂管理以及对图书类别的维护管理;新书订购管理主要能够完成新书经购,验收订购的新书以及检索和查询库存图书的功能;图书借阅管理是本系统的核心部分,完成对读者借书,还书,续借图书以及丢书的管理,在此模块中可以维护读者基本信息和查看超期图书的详细信息;统计打印能够完成打印书目分类报表的功能;系统维护主要能够完成管理用户,更换操作员,更换操作员口令和设置读者借书的最大数量的功能。下面给出图书馆管理系统的系统结构,
图书馆管理系统
新书订购管理
订购新书
验收新书
入库图书查询
库存图书检索
图书借阅管理
读者信息管理
读者借书管理
读者还书管理
读者续借管理
图书丢失管理
超期提醒
图书类别维护
统计打印
书目分类统计
系统管理
用户管理
更换操作员
更换口令
系统设置
退出§5.2 主界面设计 系统主窗体主要控制基础数据维护,新书订购管理,图书借阅管理,统计打印和系统管理几大模块。 在主窗体中,通过工具栏按钮和单击TreeView控件中的节点控制各个功能模块的运行,通过时钟控件的Timer事件下的控制代码实现在状态栏中显示当前系统日期和时间,同时在状态栏中还可以显示名称,当前登录的操作员信息等。下面是图书馆管理系统主界面的详细设计:5.2.1 菜单设计图书馆管理系统的菜单主要由VB中的菜单编辑器设计完成,其设计方法如下:1)在VB工程中打开菜单编辑器。2)为主窗体设计菜单。在菜单编辑器中设计菜单的结果如图:
5.2.2 工具栏设计 为了给用户提供常用菜单命令的快捷访问方式,在图书馆管理系统中设计了工具栏。工具栏由Toolbar控件和ImageList控件共同完成。具体设计过程如下:1)添加Toolbar控件和ImageList控件到工具箱 在窗体上制作工具栏可以使用Toolbar控件和ImageList控件,Toolbar控件主要用于设置工具栏中的按钮,ImageList控件主要是为工具栏中的按钮设置图片。2)在窗体上设计工具栏5.2.3 状态栏设计 使用StatusBar控件进行状态栏设计。
Visual Basic6.0+SQL Server2000图片管理系统
§5.3 主要功能模块设计 5.3.1 新书订购管理 窗体界面设计如下:程序代码设计新书添加代码如下:Private Sub Command5_Click() clear Dim temp1 temp1 = Format(Now, "yyyymmdd") Adodc2.RecordSource = "select * from newtb where 订单号 like '%" + temp1 + "%' order by 订单号" Adodc2.Refresh If Adodc2.Recordset.RecordCount > 0 Then Adodc2.Recordset.MoveLast Text1.Text = Val(Adodc2.Recordset.Fields("订单号")) + 1 Else Text1.Text = temp1 + "0001" End If Adodc2.RecordSource = "select * from newtb where 是否验收=0 order by 订单号" Adodc2.Refresh DT1.SetFocusEnd Sub记录删除代码如下:Private Sub Command4_Click()If Adodc2.Recordset.EOF = False Then c = MsgBox("您确认要删除该记录吗?", 17, "提示信息") If c = vbOK Then Adodc2.Recordset.Delete Adodc2.Refresh Else End If Else MsgBox "当前数据库中已经没有可删除的记录", 64, "提示信息" End If End Sub记录保存代码如下:Private Sub Command1_Click() If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text9.Text = "" Or Text10.Text = "" Or Text11.Text = "" Or Text12.Text = "" Then MsgBox "输入的信息不能为空!", , "提示提示" Else Adodc2.RecordSource = "select * from newtb where 条码号='" & Text11.Text & "'" Adodc2.Refresh If Adodc2.Recordset.RecordCount > 0 Then MsgBox "此条码号已经存在!", , "信息提示" Adodc2.RecordSource = "select * from newtb" Adodc2.Refresh Else rs1.Open "select * from newtb where 订单号='" & Text1.Text & "'", cnn, adOpenKeyset, adLockOptimistic If rs1.RecordCount > 0 Then MsgBox "订单号已存在!", , "提示信息" Else Dim sql, temp As String temp = "0" sql = "insert into newtb values('" & Text1 & "','" & DT1 & "','" & Text2 & "','" & Text3 & "','" & Text4 & "','" & Text5 & "','" & DT2 & "','" & Text6 & "','" & Text7 & "'," & Text8.Text & ",'" & Text9 & "','" & Text10 & "','" & Text11 & "','" & Text12 & "','" & Text13 & "','" & temp & "')" cnn.Execute (sql) MsgBox "数据保存成功!", 64, "提示信息" Adodc2.Refresh End If rs1.Close End If End IfEnd Sub5.3.2 读者借书管理窗体界面设计如下:
Visual Basic6.0+SQL Server2000图片管理系统图书借出代码如下:Private Sub Command1_Click() If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text9.Text = "" Then MsgBox "输入的借书信息不完全!", , "提示信息" Else rs.Open "select sum(借书数量) from dzjstb where 读者编号='" + Text1.Text + "'", cnn, adOpenKeyset, adLockOptimistic Adodc3.RecordSource = "select * from sz" Adodc3.Refresh If rs.Fields(0) + Val(Text9.Text) > Adodc3.Recordset.Fields(0) Then MsgBox "您的借书量已满!!", vbOKOnly, "提示" rs.Close Exit Sub Else Adodc2.RecordSource = "select * from books where 条码号='" + Text3.Text + "'" Adodc2.Refresh If Adodc2.Recordset.RecordCount > 0 Then cnn.Execute ("insert into dzjstb values('" & Text1 & "','" & Text2 & "','" & Text3 & "','" & Text4 & "'," & Text5.Text & ",'" & Text6 & "','" & Text7 & "','" & Text8 & "','" & Text9 & "','" & Text10 & "','" & DTPicker1 & "','" & DTPicker2 & "','借')") x = Val(Adodc2.Recordset.Fields("复本数")) - Val(Text9.Text) y = Val(Adodc2.Recordset.Fields("借书数量")) + Val(Text9.Text) hs1 = "update books set 复本数='" & x & "',借书数量='" & y & "'where 条码号='" & Text3.Text & "'" cnn.Execute (hs1) Else End If End If MsgBox "借出完毕!", vbOKOnly, "提示" Set rs = Nothing End IfEnd Sub5.3.3 读者还书管理窗体界面设计如下:图书归还代码如下:Private Sub Command1_Click() Dim hs, js, i As String Dim hs1, sz1 As String Dim x, y, z As Integer If Text1.Text = "" Or Text2.Text = "" Then MsgBox "请输入读者编号和条码号", , "提示信息" Text2.SetFocus Else i = MsgBox("确认归还该图书吗!", vbYesNo + vbOKOnly, "提示") If i = vbYes Then Set rs = cnn.Execute("insert into hsstb values('" & Text1 & "','" & Text2 & "','" & Text3 & "'," & Text5.Text & ",'" & Text6 & "','" & Text7 & "','" & Text8 & "','" & DTPicker1 & "','" & DTPicker2 & "','" & Text9 & "','" & DTPicker3 & "','" & Text10 & "')") Adodc1.Refresh Adodc3.RecordSource = "select * from books where 条码号='" & Text1.Text & "'" Adodc3.Refresh If Adodc3.Recordset.RecordCount > 0 Then Adodc2.RecordSource = "select * from dzjstb where 条码号='" & Text1.Text & "' and 读者编号='" + Text2.Text + "'" Adodc2.Refresh If Adodc2.Recordset.RecordCount > 0 Then x = Val(Adodc3.Recordset.Fields("复本数")) + Val(Adodc2.Recordset.Fields("借书数量")) y = Val(Adodc3.Recordset.Fields("借书数量")) - Val(Adodc2.Recordset.Fields("借书数量")) hs1 = "update books set 复本数='" & x & "',借书数量='" & y & "'where 条码号='" & Text1.Text & "'" cnn.Execute (hs1) Else End If End If js = "update dzjstb set 借='还',借书数量='0' where 条码号='" & Text1.Text & "'" cnn.Execute (js) Adodc2.Refresh MsgBox "还书成功!", vbOKOnly, "提示" Else On Error Resume Next rs.CancelUpdate End If End IfEnd Sub
Visual Basic6.0+SQL Server2000图片管理系统
结 束 语
这次毕业设计从2005年9月开始,到现在已经有三个月了,时间虽然不是很长,但我却在其中学到了不少东西,很是值得总结一下的。 我所做的毕业设计的指导老师是候彦华。我的毕业设计题目是“图书馆管理信息系统”。 我觉得在这些具体工作中使我收益最大的就是对程序的理解,使我深刻地体会到了逻辑和编程的严谨性。在初期,经常由于我的不严谨,而给程序造成错误。为了克服这个不足,我把要注意的问题都写在笔记本上,强迫自己按照严谨的规则来处理程序。 最后,我认为毕业设计确实是我们毕业生的很好的锻炼机会,可以在工作中逐渐融入到实际岗位上,为我们从学校走向社会提供了一个过渡期,这个过渡期是很有必要的。
参 考 文 献
《Visual Basic 6.0 信息系统设计与开发实例》 黄明 梁旭 编著 机械工业出版社
《信息系统开发案例分析与课程设计》 宋茂强 主编 中央广播电视大学出版社
《毕业论文精选与写作指导》 杨秀芸主编 中国建材工业出版社
《数据库基础与应用》 刘世峰主编 中央广播电视大学出版社
《Visual Basic》程序设计 陈明 编 中央广播电视大学出版社
致 谢
在我作毕业设计的过程中,感谢北京电大开放学院的各位老师对我的帮助。 在这里我尤其感谢的是我的指导老师候彦华老师及本专业的责任教师赵红梅老师,是她们一遍遍细心地讲解软件项目制作及论文的写作方法,才能使我按时完成毕业设计。 在工作过程中,我也感谢曾经帮助过我的同学和朋友们,谢谢大家!
Visual Basic6.0+SQL Server2000图片管理系统
摘 要 图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 因此本人结合图书馆的要求,对SQL Server2000数据库管理系统、Visual Basic应用程序设计,Visual Basic数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆管理员的需要。 第一章 对数据库应用系统开发和图书管理系统进行了简明的介绍,并分析了开发图书管理系统所应进行的工作。 第二章 对数据库的设计和SQL语言的使用进行了系统分析,为深入理解数据库应用打下了基础。 第三章 学习了具体的开发工具Visual Basic 6.0,SQL Server2000 并对其进行系统的介绍。 第四章 分析了图书管理信息系统的应用需求,按照数据库设计理论一步一步地给出了系统需求说明书、局部ER图、全局ER图、系统关系模式,子模式,利用SQL Server2000建立了数据库 第五章 进行了具体的程序设计。实现了数据库表的浏览,记录的添加、删除、修改和查询,实现了密码维护功能。
设计充分利用Visual Basic 6,SQL Server2000数据库技术的强大力量,提高了编程效率和可靠性。关键词:数据库,SQL语言,Visual Basic 6,数据库组件,图书管理,窗体,listview组件目 录摘 要 ……………………………………………………………………………… I第一章 绪 论 …………………………………………………………………… 1 §1.1 数据库应用系统开发简介 ……………………………………………… 1 §1.2 图书管理系统 …………………………………………………………… 2 §1.3 本文所做的主要工作 …………………………………………………… 3第二章 数据库理论基础 ………………………………………………………… 4 §2.1 数据库系统设计及范式分析 …………………………………………… 4 2.1.1 数据库系统设计………………………………………………………4 2.1.2 数据库设计范式分析…………………………………………………5 §2.2 SQL语言介绍…………………………………………………………… 5 2.2.1 SQL基础 ……………………………………………………………… 5 2.2.2 SQL语句 ……………………………………………………………… 6第三章 应用系统开发工具……………………………………………………… 7 §3.1 Visual Basic6.0介绍………………………………………………… 7 §3.2 SQL Server简述 …………………………………………………… 7第四章 图书管理系统设计分析 ……………………………………………… 9 §4.1 应用需求分析 ……………………………………………………… 9 §4.2 系统数据库设计 …………………………………………………… 9 4.2.1 概念设计……………………………………………………………9 4.2.2 关系数据库的逻辑设计……………………………………………10 4.2.3 数据库的实现………………………………………………………11第五章 图书管理系统应用程序设计 ………………………………………… 12 §5.1系统功能设计………………………………………………………… 12 §5.2主界面设计…………………………………………………………… 13 5.2.1 菜单设计……………………………………………………………13 5.2.2 工具栏设计…………………………………………………………14 5.2.3 状态栏设计…………………………………………………………14 §5.3主要功能模块设计…………………………………………………… 14 5.3.1 新书订购管理………………………………………………………14 5.3.2 读者借书管理………………………………………………………17 5.3.3 读者还书管理………………………………………………………18结束语…………………………………………………………………………… 20参考文献 ……………………………………………………………………… 20致谢 ………………………………………………………………………………20