1、摘 要图书馆管理信息系统是典型的计算机信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本管理系统包括了系统登录、读者管理、书籍管理、借阅信息管理四个总的功能块。在各个功能块中又具体包括了读者种类信息管理、读者信息管理、书籍类别管理、书籍信息管理、借书信息管理、还书信息管理功能。使用户方便的对图书馆的信息进行管理,为读者借阅还书的节省了大量的时间。 经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向
2、对象的开发工具,尤其是数据窗口这一功能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键字:图书馆管理信息系统、数据库、VISUAL BASIC。前 言随着人类社会的发展,人类知识不断地增长、扩大。人们也面临更大的挑战,在这种挑战面前,人们需要不断的学习、不断的进步,来面对更大的挑战。在这种形势下,书籍就渐渐地成为人们获取、增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置。在图书馆方面,就必然面临着一个问题:怎样才能科学、有效的把图书馆里图书管理好?这一个问题直接关系到读者求
3、知的方便程度,也关系到图书馆的发展。在现代社会中,计算机已经在各行各业发挥着重要的作用,用计算机来管理已经成为必然的结果。图书馆也不例外,在图书馆的管理过程中,同样也必需使用计算机来辅助管理。有了计算机的辅助管理,必然要有一套较完善的计算机处理系统(图书馆管理系统)来管理图书馆,这样才能科学、有效的对图书进行管理。利用图书馆管理系统进行管理,能更有效的对图书进行系统管理,方便读者对各类图书的查询,同时也大大提高了办理借书、还书手续方面的工作效率和提高图书馆的服务效率,为读者提供方便。针对上述情况,本人开发了一套图书馆管理专业软件-图书管理系统,该系统并不针对某一个图书馆而开发,所以在通用性方面
4、相对较广些。相对于同类软件来说,该系统功能较齐全,集合了图书馆从进书、销书、查询、借书、还书、管理等多种功能。在操作方面也比较方便,界面也较友好。在数据库方面,该系统采用SQL Server2000数据库系统,在安全性方面也有了较大的提高例,谈谈其开发过程和所涉及到的问题及解决方法。在下面的各章中我们将对图书馆管理信息系统简单介绍其开发过程和所涉及到的问题及解决方法。与传统的手工作业相比,它大大提高了工作效率,而且系统采用人机对话方式,菜单提示,界面友好、操作简单,实现开架借书,加强了图书流通管理。目 录第一章 图书馆管理信息系统总体设计11.1 图书馆管理信息系统的简介11.2 图书馆管理信
5、息系统的用户需求11.3 图书馆管理信息系统功能分析21.4 图书馆管理信息系统功能模块设计3第二章 图书馆管理信息系统数据库的设计42.1 数据库的需求分析42.2 数据库逻辑结构设计52.3 数据库逻辑结构的实现7第三章 图书馆管理信息系统的开发环境93.1 图书馆管理信息系统的开发语言简介9311 开发环境的选择93.2 数据库环境的选择103.3 VB语言和函数103.4 Active数据对象ADO113.4.1、ADO的编程模型113.4.2、ADO的对象模型123.4.3、为项目添加ADO133.5 与数据库的连接性13第四章 图书馆管理信息系统的具体实现154.1 系统客户端程序
6、154.2 系统用户管理模块的创建174.3 读者种类管理模块的创建184.4 读者信息管理模块的创建204.5 书籍类别管理模块的创建22第一章 图书馆管理信息系统总体设计1.1 图书馆管理信息系统的简介 图书馆管理信息系统是针对图书馆的大量业务处理工作而开发的管理软件。根据用户的要求,实现借阅管理、读者管理、和图书管理,等几个方面的功能。 本软件是为了规范单位的图书馆日常运作,加强图书借阅的信息管理而开发设计的。时间比较仓促,肯定存在许多问题,同时将边运行边修改与完善,使其更好的服务于图书馆的日常管理,满足图书馆管理方面的各种需要。 本软件界面友好,操作简单,小巧实用,运行稳定,自动化程度
7、较高,具备多种功能,能满足一般小型图书室的日常管理需要。可进行书籍、读者、借书和还书等信息的录入、修改与删除,同时提供灵活丰富的查询、报表打印等功能,方便统计汇总。1.2 图书馆管理信息系统的用户需求总体功能需求图书馆管理信息系统是针对图书馆的大量业务处理工作用计算机进行全面现代化管理.主要包括读者管理、书籍管理、和借阅信息管理, 等几个方面的功能,以实现用户方便的借书.还书.查询所需书籍等需求。具体系统功能需求描述(1)读者管理读者管理可分为读者种类管理和读者信息管理,可完成对读者种类的添加.修改.删除功能;以及完成对读者信息的添加.修改.删除.查询功能。(2) 书籍管理书籍管理包括书籍类别
8、管理和书籍信息管理,可完成对书籍类别的添加.修改.删除功能;以及完成对书籍信息的添加.修改.删除.查询功能。 (3) 借阅信息管理借阅信息管理包括借书信息管理和还书信息管理,借书信息管理要完成对所借书籍的添加.修改.删除.查询功能;还书信息管理要完成对所还书籍的添加.修改.删除功能。1.3 图书馆管理信息系统功能分析 系统开发的总任务是实现企业人事管理信息关系的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成的,本系统的需要完成功能主要有:l 有关读者种类标准的制定、种类信息的输入,包括种类编号、种类名称、借书数量、借书期限、有效期限、备注等。l 读者种类信息的修改、查询
9、等。l 读者基本信息的输入,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等。l 读者基本信息的输入,包括读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等等。l 书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称、关键词、备注信息等。l 书籍类别信息的查询、修改,包括类别编号、类别名称、关键词、备注信息等。l 书籍信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页数、关键词、登记日期、备注信息等。l 书籍信息的查询、修改,包括书籍编号、书籍名称、
10、书籍类别、作者姓名、出版社名称、出版日期、书籍页数、关键词、登记日期、备注信息等。l 借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。l 借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注信息等。l 还书信息的输入,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。l 还书信息的查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。1.4 图书馆管理信息系统功能模块设计对上述各项功能进行集中、分块,按照结构化程序设计
11、的要求,得到下图所示的系统功能模块图:图书馆管理信息系统 书籍信息查询书籍信息修改还书信息添加还书信息修改借书信息查询借书信息修改借书信息添加书籍信息添加书籍类别修改书籍类别添加读者信息查询读者信息修改读者信息添加读者种类修改读者种类添加用户管理密码管理设置读者种类设置读者信息设置书籍种类设置书籍信息借书信息管理还书信息管理系统管理读者信息管理书籍信息管理借阅信息管理还书信息查询系统功能模块图(图1-1)第二章 图书馆管理信息系统数据库的设计数据库在信息管理系统中有着很重要的地位,合理的数据库结构设计可以提高数据储存的效率,保证数据的完整和一致,有利于程序的实现。设计数据库系统时应该首先充分了
12、解用户各个方面的要求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:l 数据库需要分析。l 数据库概念结构设计。l 数据库逻辑结构设计。2.1 数据库的需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。仔细分析调查有关图书馆管理信息需求的基础上,得到下图所示的本系统所处理的数据流程:书籍信息返回读者信息返回基本信息录入书籍登记基本信息录入读者登记基本信息录入基本信息录入借阅信息管理书籍信息管理读者信息管理书籍类别信息管理读
13、者种类信息管理 书籍类别设置读者种类设置借阅信息输入图书馆管理信息系统数据流程图(图2-1)针对一般的图书馆管理信息系统的要求,通过对图书馆管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:l 读者种类信息,包括的数据项有:种类编号、种类名称、借书数量、借书期限、有效期限、备注等。l 读者信息,包括的数据项有:读者编号、读者姓名、读者种类、读者性别、工作单位、家庭住址、电话号码、电子邮件地址、办证日期、备注等。l 书籍类别信息,包括的数据项有:类别编号、类别名称、关键词、备注信息等。l 书籍信息,包括的数据项有:书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书
14、籍页数、关键词、登记日期、备注信息等。l 借阅信息,包括的数据项有:借阅信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。2.2 数据库逻辑结构设计采用SQL Sever 2000来完成图书馆管理信息系统的数据库,需将上面的数据库的概念结构转化为SQL的数据库所支持的实际数据模型,这也就是数据库的逻辑结构。图书馆管理信息管理系统数据库中的表格的设计结果有以下的表格所表示,这些表格表示在数据库中的一个表:l readertype 读者种类信息表表中内容有:读者种类编号、读者种类名称、借书数量、借书期限、有效期限、备注信息。l readers 读者信息表格表中内容有
15、:readertype中的所有内容、读者编号、读者姓名、读者性别、电话号码、电子邮件地址、办证日期、工作单位、家庭住址。l booktype 书籍类别信息表表中内容有:书籍类别编号、书籍类别名称、关键词、备注信息。l books 书籍信息表表中内容有:书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍页数、关键词、登记日期、备注信息。l borrowinfo 借阅信息表表中内容有:包括books表中的书籍名称、书籍类别、作者姓名、出版社、书籍备注信息,以及读者信息中的读者编号、读者姓名、读者种类、借书日期、备注信息。 readertype 读者种类信息表(图2-3)readers 读者信
16、息表格(图2-4) booktype 书籍类别信息表(图2-5)books书籍信息表(图2-6) borrowinfo借阅信息表(图2-7)得到上面的各项数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及他们之间的关系,为以后的逻辑结构设计打下基础。根据上面的设计规划出的实体有:读者类别信息实体、读者信息实体、书籍类别信息实体、书籍信息实体、借阅信息实体。由于上面已经介绍了各个实体的包含内容,这里就不在对每个实体的E-R图做介绍。现介绍各个实体之间的相互关系E-R图如下: 书籍信息管理读者信息管理书籍信息登记读者信息登记书籍类别信息读者类别信息借阅书籍 借阅信息管理 图2-22
17、.3 数据库逻辑结构的实现经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。然后用SQL server 2000 数据库系统中的SQL查询分析器实现该逻辑结构。下面是就用户表格、读者种类信息表格、读者信息表格、书籍类别信息表格的SQL语句举例如下:l 创建系统用户表格 user_InfoCREATE TABLE dbo.user_Info1 (user_ID char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,user_PWD char (10) COLLATE Chinese_PRC_CI_AS NULL ,user_Des char (10
18、) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYl 创建读者种类信息表格 readertypeCREATE TABLE dbo.readertype (typeno char (10) COLLATE Chinese_PRC_CI_AS NOT NULL , typename char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,booknumber numeric(4, 0) NULL ,bookdays numeric(4, 0) NULL ,userfullife numeric(5, 0) NULL ,me
19、mo text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARYl 创建读者信息表格 readersCREATE TABLE dbo.readers (readerno char (10) COLLATE Chinese_PRC_CI_AS NULL ,readername char (20) COLLATE Chinese_PRC_CI_AS NULL ,readersex char (3) COLLATE Chinese_PRC_CI_AS NULL ,readertype char (10) COLLATE
20、Chinese_PRC_CI_AS NULL ,readerdep char (40) COLLATE Chinese_PRC_CI_AS NULL ,address char (40) COLLATE Chinese_PRC_CI_AS NULL ,readertel char (20) COLLATE Chinese_PRC_CI_AS NULL ,email char (20) COLLATE Chinese_PRC_CI_AS NULL ,checkdate datetime NULL ,readermemo text COLLATE Chinese_PRC_CI_AS NULL )
21、ON PRIMARY TEXTIMAGE_ON PRIMARYl 创建书籍类别信息表格 booktypeCREATE TABLE dbo.booktype (booktypeno char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,typename char (20) COLLATE Chinese_PRC_CI_AS NULL ,keyword char (20) COLLATE Chinese_PRC_CI_AS NULL ,memo text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE
22、_ON PRIMARY 第三章 图书馆管理信息系统的开发环境3.1 图书馆管理信息系统的开发语言简介311 开发环境的选择Microsoft公司推出Windows以后,立即以其新颖的图形用户界面、卓越的多任务操作系统性能、高层次的软件开发平台而风靡全球。尤其是Office使用软件的方便使用使许多应用人员想到手动的设计Windows用户界面。然而由于对于程序员来说,工作的难度很大。为了适应Windows下运行程序,就必须建立相应的窗口、菜单、对话框等各种控件,面对这种情况,1990年Microsoft公司推出了Windows应用程序开发工具VB,从而达到了可视化的结果。在visual basic
23、中,既继承了basic语言简单易用的特点,又采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把windows编程复杂性封装起来,提供了可见即所得的可视界面设计方法。Vb已经经历了几个版本,Vb6.0在功能上进一步得到完善和扩充,尤其在数据库管理与网络应用方面更胜一筹。Vb6.0包括三个版本:学习版,专业版,企业版。我们所用的是企业版(中文)。Vb6.0的功能特点:具有面向对象的可视设计工具,事件驱动的编程机制,易学易用的应用程序集成开发环境,结构化的程序设计语言,支持多种数据库的访问,ole技术,active技术,完备的help联机帮助功能。 Vb6.0的运行环境:Vb6.0是window
24、s95/98或windows NT下的一个应用程序,本身对软硬件没有特殊的要求。跟windows95/93或windows NT要求是一致的。 硬件要求:一般在586以上的处理器、16MB以上的内存、100MB以上的硬盘等。 软件要求:windows95/93或windows NT3.51以上版本。3.2 数据库环境的选择 SQL Server 2000是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。 SQL Server 2000能作为一个功能强大的数据库服务器有效地工作,而且数据库引擎也应用于客户端本地存储独立数据库的应用程序中。SQL Server 2000可以动态的配置
25、成能有效的使用客户端桌面的可用资源,而不需要为每个客户端专设一个数据库管理员。SQL Server 2000能提高超大型系统所学要的数据库服务。SQL Server 2000提供了很多的编程组件和工具。3.3 VB语言和函数Microsoft 公司的Visual Basic6.0是开发Windows应用程序,尤其是数据库应用程序的快捷有效的工具, 和以前各版本相比,功能更加强大,使用起来更加方便。另外,在Visual Basic6.0中可以用公用模块来存放整个工程项目公用函数、过程和全局变量等。这样可以极大的提高代码的效率。在项目资源管理器中为项目添加一个Module,保存为Module.ba
26、s。往下就可以写入需要的代码了。由于系统中各个功能模块都将频繁使用数据库中的各种资源,因此需要一个公共的数据操作函数,用来执行各种SQL语句。这就需要添加函数ExecuteSQL了。ExecuteSQL函数的参数是SQL,它用来存放需要执行的SQL语句。函数执行时,首先判断SQL语句中包含的内容;当执行查询操作时,ExecuteSQL函数将返回一个与函数同名的记录集对象(Recordset),所有满足条件的记录包含在对象中;当执行如删除、添加等操作时,不返回记录集对象。在ExecuteSQL函数中使用了Connect String函数,这个函数用来连接数据库,代码如下:Public Funct
27、ion ConnectString() As String返回一个数据库连接ConnectString=”FileDSN=gzgl.dsn;UID=sa;PWD=”End Function由于在后面的程序中,需要频繁的检查各种文本框的内容是否为空,这也定义了Testtxt函数,代码为:Public Function Testtxt(txt As String) As Boolean判断输入内容是否为空 If Trim(txt)=” Then Testtxt=False Else Testtxt=True End IfEnd Function.如果文本框内容为空时,函数将返回True,否则将返回
28、False。3.4 Active数据对象ADO从简单的文本文件到各种复杂的关系型数据库,数据库应用程序都需要面对各种各样的数据源。Visual basic6.0提供ADO(Active Data Objects)作为应用程序和OLE-DB连接的桥梁。尽管用户对数据的要求种类繁多,但典型的数据源都是支持ODBC和SQL的。ADO,即Active数据对象:实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口相连。用户可以使用任何一种ODBC数据源,即不仅适合于SQL sever、Oracle、Access等数据库应用程序,也适合excel表格、文本
29、文件、图形文件和无格式数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。Microsoft在Visual Basic6.0以后的版本都集成了ADO。它与以前的DAO、RDO相比有了很大的提高。DAO(Data Access Objects)即数据访问对象,是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM数据库,使用DAO/ODBC Direct功能可以实现远程RDO功能。RDO(Remote Data Objects)即远程数据对象,为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。RDO是ODBC
30、 API的一个浅层界面接口,是专为访问远程的ODBC关系数据源而设计的。ADO集中了DAO和RDO的优点,可以通过简单的编程实现和各种数据结构进行连接。3.4.1、ADO的编程模型 可以通过以下几步来完成对数据库的操作: 创建一个到数据源的连接(connection),连接到数据库;或者开始一个事物(Transction)。 创建一个代表SQL命令行(包括变量、参数、可选项等)的对象。执行命令行。 如果返回以表格的形式组织的数据,则将他们保存到缓存中,产生相应的数据集对象(Recordset)。通过对数据集对象进行各种操作,包括修改、增加、删除等。 更新数据源,如果使用事务,确认是否接受事务期
31、间发生的数据变化。 结束连接或事务3.4.2、ADO的对象模型 使用ADO的目的是进入数据源,使得修改、更新数据成为可能。ADO提供一系列的类象来完成各种操作。 1. 连接对象Connection 一个连接(Connection)对象代表一个到指定数据源的成功连接。应用程序通过一个连接(包括实现数据交换的环境设置)访问数据源,也可以直接访问数据源(在两层数据结构的系统中比较常见),或者通过类似Microsoft Internet Information Server 的中间层间接访问访问数据源(这就是通常说的三层结构)。连接成功,Connection以对象的形式存在。连接对象在ADO对象模型中
32、的地位就是在Connection里包括(Error、Command、Recordset)。因此使用连接对象的操作如下: 在打开连接前需要设置ConnectionString、ConnectionTimeout和Mode属性。 设置CursorLocation属性,可以设置或者返回指针位置。设置DefaultDatabase属性可以连接指定的一个默认的数据库。设置IsolationLevel属性可以确定事务(Transation)在连接的隔离等级。设置Provider可以连接指定的一个OLE-DB寄主。设置Open与Close方法来建立和中断一个连接。使用Execute方法在连接上建立执行命令,
33、设置CommandTimeout属性来指定或者返回命令执行时间。 使用BeginTrans、CommitTrans和RollbackTrans方法以及Attributes属性来管理事物。通过检察Error对象可以知道数据源返回的错误。通过Version属性可以知道ADO的版本。使用OpenSchema方法可以知道数据库的计划信息。2. 命令行对象Command命令行对象是对数据库将要执行的一系列操作的定义。使用命令行对象来查询数据库并返回数据集对象(recordset)形式的查询结果。命令行对象指定变量、参数、以及可选项来完成对数据库的操作,如添加记录、删除记录、更新记录等。命令行对象在ADO
34、对象的模型中是Connection包含Command,Command又包含Parameters。使用命令行对象的各种属性和方法可以如下操作:设置CommandText属性可以定义命令行的内容,如SQL语句。使用Execute方法执行命令行并返回一个数据集对象(recordset)。设置CommandType属性可以优化命令的效率。设置CommandTimeout属性可以指定服务器等待医疗命令执行的时间。设置ActiveConnection属性可以将一个命令行对象与一个打开的连接关联。3. 数据集对象Recordset如果命令行指定数据以表的形式组织,执行命令行后将返回相应的数据集。同过数据集可
35、以对记录以及组成记录的列进行各种操作。数据集对象在ADO对象模型中的地位是Connection包含Recordset,而Recordset包含fields。3.4.3、为项目添加ADO ADO虽然集成在Visual Basic6.0中,但只是可选项。因此在创建项目后,需要为项目添加ADO。 选择”project”菜单中的”References”命令,在References列表框中中选择”Microsoft ActiveX Object 2.6 Library”选项,再确定。3.5 与数据库的连接性VISUAL BASIC提供了与底层数据库系统紧密的连接。 VISUAL BASIC支持不同的关系
36、数据库管理系统并充分发挥每一个数据库的特长。开发人员和利用ODBC来确定数据源,则ADO就能通过数据源来对数据库里的数据进行操作。而具体的连接哪个数据库,ODBC没有设置限定,从而使设计者能够应用自己比较熟悉的数据库。以下进行图例说明:(图3-1)VISUAL BASIC INFORMIX数据库ODBC接口SQLANYWHERE数据库SYBASE数据库ORACLE数据库 值得一提的是VISUAL BASIC拥有数据窗口对象(FORM)。它是一个智能对象是MICROSOFT公司的技术。它能操纵关系数据库的数据并可以编写SQL语言。利用该对象可以修改、更新、插入、删除、滚页、打印数据窗口直接管理数
37、据库的交互与控制。在本系统开发过程中大多数报表均使用此对象生成,使用其操纵关系数据库的数据十分方便、快捷。它是一个支持数据操纵的封装性很好对象。第四章 图书馆管理信息系统的具体实现4.1 系统客户端程序以上的SQL语句在SQL Sever 2000查询分析器中执行后,将自动产生需要的所有表格。有关数据库结构的所有后台工作已经完成。现在将通过图书馆管理信息系统中各个功能模块的实现,来说明如何使用Visual Basic 来编写 系统的客户端程序。l 创建工程项目Library_MIS打开Visual Basic 后,单击File|New Project 菜单,在工程模块中选择Standard E
38、XE,Visual Basic 将自动产生一个Form窗体,属性都是缺省设置。将这个窗体删除,单击File|Save Project菜单,将这个工程项目命名为Library_MIS.l 创建图书馆管理信息系统的主窗体这个项目可以使用多文档界面,单击工具栏中的ADD MDI Form按钮,生成一个窗体。在这个窗体上添加所需的控件,窗体和控件的属性设置如下: 主窗体及其控件属性设置控件 属 性 属性取值frmMain(form)NameFrmMainCaption图书馆管理信息系统StartUpPositionCenterScreenWindowStateMaximized创建好的主窗体如下: 图
39、书馆管理信息系统窗体(图3-2)l 创建主窗体的菜单在上图所示的主窗体中,单击鼠标右键,选择弹出式菜单中的Menu Editor,创建如下所示的菜单结构。系统修改密码添加用户退出读者管理读者种类管理添加读者种类修改读者种类删除读者种类读者信息管理添加读者信息修改读者信息删除读者信息查询读者信息书籍管理书籍类别管理添加书籍类别修改书籍类别删除书籍类别书籍信息管理添加书籍信息修改书籍信息删除书籍信息查询书籍信息借阅信息管理借书信息管理添加借书信息 修改借书信息删除借书信息查询借书信息还书信息管理添加还书信息修改还书信息查询还书信息帮助Aboutl 创建公用模块在Visual Basic 中可以用公
40、用模块来存放整个工程项目公用的函数、过程和全局变量等。这样可以极大的提高代码的效率。在项目资源管理器中为项目添加一个 Module,保存为Module.bas。由于系统中各个功能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种SQL语句。在主窗体中,我们将用到两个全局变量gintMode和flagEdit用来记录各个状态,因而需要在模块中声明,代码如下: Public gintMode As Integer 定义整形变量,记载读写状态Public flagEdit As Boolean 定义Boolean变量,记载信息列表窗体是否打开 gintMode变量用来记
41、录是添加状态还是修改状态,赋值1为添加,赋值2为修改。flagEdit变量用来标示是否进入修改的窗体。 由于启动图书管理系统后,需要对用户进行判断。如是授权用户,将进入系统,否则将停止程序的执行。这个判断需要在系统运行的最初进行,因此将代码放在公用模块中。4.2 系统用户管理模块的创建用户管理模块主要实现:用户登陆、添加用户、删除用户、修改密码四个功能。其窗体如下(图3-3) 用户点击确认后,其数据会添加到数据库中,添加用户数据库中会多一条新记录,修改密码即将数据库中的数据进行更新(update),然后将新记录保存到数据库里,删除用户就是将数据库中的数据清除。用户的登录界面与此界面基本相同,同
42、样是调用数据库library表中的信息,再对用户的登录信息进行判断,决定用户的权限。这里需要强调的是删除用户时,数据库中所记录的是您本次登录所使用的用户名和密码,所以用户名已定,只需对您所输入的密码进行判断,密码正确,则删除您本次登录的用户名。同时也说明了您无权删除别人的用户名和密码。4.3 读者种类管理模块的创建图书馆需要管理不同种类的读者,并且不同读者享受的服务不同。读者种类管理模块主要实现如下功能:添加读者种类、修改读者种类、删除读者种类。一、 添加读者种类窗体的创建选择“读者管理|读者种类管理|添加读者种类”菜单,出现如下窗体:(图3-4)在窗体上放置多个文本框,用来输入读者种类信息;
43、两个按钮用来确定是否添加读者种类信息;多个标签用来提示文本框中需要输入的内容。在载入窗体时,程序首先判断所处状态,载入窗体时,将首先通过变量gintRTmode判断是添加 还是修改。如果是添加状态,文本框将清除内容,窗体有提示信息;如果是修改状态,将选择显示当前的记录。用户输入内容后,单击cmdSave按钮将触发Click事件。程序首先对是否输入内容进行判断,然后进行格式判断。程序将判断是否有重复编号的记录,然后添加数据到数据库。最后根据状态来显示相应的信息:如果是添加状态,将提示添加成功,然后重新显示并清空所有文本框,以便继续添加记录:如果处于修改状态,将提示修改成功,然后更新所有记录的列表。 当文本框获得焦点时将触发下面的事件:自动选中输入的内容,便于修改。单击cmdExit按钮取消添加信息,输入完内容,按下回车键将自动进入下一个文本框,将触发文本框的Keydown事件(EnterTOTab KeyCode),按键号码传递给EnterToTab函数,如果是回车自动转换为Tab键。关于判断的代码如下:添加判断是否有相同的ID记录 If gintRTmode = 1 Then txtSQL = select
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100