图书管理系统编程
一 系统的功能要求
根据高校图书管理的实际要求,结合本系统开发的要求,对与本章所要介绍的“图书管理系统”的需求实现如下功能:
1、书籍管理部分:这一部分包括书籍类别管理和书籍信息管理两部分,其中书籍类别管理包括添加书籍类别、修改书籍类别等;书籍信息管理包括书籍信息的添加、书籍信息的修改、书籍信息的查询、书籍信息的删除等。
2、 读者管理部分:这一部分包括读者类别管理和读者信息管理两部分。其中德政类别管理包括添加读者类别、修改读者类别;读者信息管理包括添加读者信息、修改读者信息、删除读者信息、查询读者信息等。
3、 借阅管理部分:这一部分包括借书信息管理和还书信息管理两部分。其中,借书信息管理包括借书信息的添加、借书信息的修改、借书信息的查询等;还书信息管理部分包括还书信息的添加、还书信息的修改、还书信息的查询等
4、系统管理:包括修改系统用户密码,增加新用户以及退出系统等。
二 系统的需求分析
图书馆是一家所有工作手工操作的图书管理,随着计算机的发展,更多的图书馆采用计算机图书管理系统来实现,这样可以得到更好的管理。目前,方正学院已经购买了所有的计算机硬件很网络设备。设计一从采购—编目—流通—管理 一体化的图书馆系统。主要表现:(一)采购,对新书的目录,要查存,判断图书馆是不是已经订过了,要人工查阅帐本完成,是很麻烦的事。(二)验证,要填写两个帐本和盖章,而且在帐本上面很多信息是重复的。(三)编目,通过手工对书编目,对不同种类的书都要查书是否已有,如果没有的话对新的书进行查阅中图法宝典来要编目,并且还有填写跟书卡,和大量的查阅用的卡片。这块消耗的人力最大了。(四)流通,在借书的时候要填写跟书卡和借书证并保管跟书卡做为借条;在还书的时候工作人员先要花一定时间把保管的跟书卡先出来,再填写跟书卡和借书证。然后再把跟书卡和书夹在一起,工作人员要消耗很多时间,大大降低了工作效率。(五)无法统计书的阅读次数、当天的借还数目等很多统计信息。
三 VB应用
1.具有面向对象的可视化设计工具 OOP
2.事件驱动的编程机制
3.提供了易学易用的应用程序集成开发环境
4.结构化的程序设计语言
5.支持多种数据库系统的访问
6.支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入技术(OLE)
7.联机帮助功能
设计时:设计时是指在VB环境中建立应用程序时的时间。
运行时:运行时是指在应用程序运行期间,用户与应用程序进行交互的时间。通常我们在设计时初始化窗体和控件的属性,在运行时响应窗体和控件的事件修改它们的属性或调用它们的方法。
对象:将数据和处理该数据的过程(函数和子程序)打包在一起而生成的新的数据类型称之为对象。在Visual Basic中,所有窗体和控件都是对象。要访问对象的属性和方法,必须在对象和属性方法之间加入一个句点。
窗体:窗体是可用作定制应用程序界面的窗口,或用作从用户处收集信息的对话框。你可向窗体增加控件、图形或图片来创建你的应用程序界面。窗体可单独存在,也可是多文档界(MDI)中的一个文档,即一个子窗体。
四 ADO访问数据库的原理
与数据库相连,ADO.NET提供了如下3种方式:通过ODBC相连;通过OLEDB相连;直接与SQL Server相连。3种方式由于应用层次的差异,使得效率由低到高,独立性由高到低。对于相连数据库的数据处理,也有2种方式,即一种是通过DataSet来隔离异构的数据源,另一种是以流方式从数据源读取(DataReader方式)。
传统的应用程序是通过先建立到数据库的连接,在程序的整个运行过程中维护连接的方式来设计的。ASP.NET采取了断开连接方式的数据结构。当浏览器向Web服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出
传统的应用程序是通过先建立到数据库的连接,在程序的整个运行过程中维护连接的方式来设计的。ASP.NET采取了断开连接方式的数据结构。当浏览器向Web服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出
下一个请求。
ADO.NET的另一个创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图的高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的潜在的数据缓冲区。
ADO.NET的另一个创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图的高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的潜在的数据缓冲区。
Option Explicit
Private Sub Command1_Click()
Dim cn As New ADODB.Connection '数据库连接变量
Dim Cmd As New ADODB.Command '命令集
Dim rs As New ADODB.Recordset '记录集
Dim strConnect As String '连接字符串
Set cn = New ADODB.Connection
strConnect = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=database;Data Source=servername" '指定连接字符串
Dim cn As New ADODB.Connection '数据库连接变量
Dim Cmd As New ADODB.Command '命令集
Dim rs As New ADODB.Recordset '记录集
Dim strConnect As String '连接字符串
Set cn = New ADODB.Connection
strConnect = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=database;Data Source=servername" '指定连接字符串
cn.ConnectionString = strConnect
cn.Open '连接数据库
With Cmdconnect下载
.ActiveConnection = cn
.CommandType = adCmdStoredProc
cn.Open '连接数据库
With Cmdconnect下载
.ActiveConnection = cn
.CommandType = adCmdStoredProc
五 系统的功能模块图
六 系统的流程图
根据学校图书管理的实际流程,结合上述的各功能模块,系统的整体流程如图:
七 逻辑结构E-R图
八 系统设计
1 模块设计
根据本系统的需求,结合实际图书管理情况,本系统应具有如下功能模块:
1.1 图书管理功能
书籍信息管理:包括书籍信息的添加、书籍信息的修改、书籍信息的查询
和书籍信息的删除 4 部分功能。其中,书籍信息包括图书编号、书名、图书类别、作者、出版社、出版日期、登记日期已及是否已被借出。
书籍类别管理:包括书籍类别的添加、书籍类别的修改、书籍类别的闪出 3 部分功能。其中,书籍类别包括类别名称和类别编号两部分。
1.2 读者管理部分
读者信息管理:包括读者信息的添加、读者信息的修改、读者信息的查询和读者信息的删除 4 部分功能。 其中,读者信息包括读者姓名、读者编号、性别、读者类别、工作单位、家庭住址、电话号码、登记日期和已借书数量。
读者类别管理:包括读者类别的添加、读者类别的修改、读者类别的删除 3 部分功能。其中,读者类别包括种类名称、借书数量、借书期限和有效期限 4 部分。
1.3 借阅管理部分
借书管理:包括添加借书信息和查询借书信息 2 部分功能。其中,借阅信息包括借阅编号、读者编号、读者姓名、书籍编号、书籍名称、出借日期和还书日期
还书管理:实现添加还书信息功能。其中,还书信息与借阅信息各部分明细相同。
1.4 系统管理部分
设置操作人员。系统初始设置一个超级用户和密码,操作人员可以利用这个超级用户名和密码登录,之后,可以设置其他的超级用户名称,也可以设置权限用户,同时也设置了这个用户可以使用的权限。
2 数据库设计
本系统使用 Access2000 作为数据库管理系统( DataBaseManagementSystem, 数据库管理系统)。在通路中,新建一个数据库,将其取名为 book.mdb ,将新建的数据库放置在应用程序的目录中,以便调用。
权限:(权限,姓名)
登录用户:(帐号,姓名,密码,权限)
用户:(用户帐号,姓名,性别,组号,证件号码)
图书类别:(类别,类名)
图书:(图书编号,类别,书名,作者,出版日期,出版社,定价,总数量,
剩下数量,备注)
借阅:(用户帐号,图书编号,借书日期,到期日期,数量,还书日期)
借阅信息:(用户帐号,图书编号,借书日期,到期日期,数量,还书日期)
例如,书籍信息部分设计的表如图所示
书籍信息部分
图书管理系统数据库
2.1数据库表设计
读书者类别表
对于读书者类别表,字段名称、借书数量、借书期限、有限期限等。在数据库中建立一个读书者类别表,用来记录所有的借阅者的信息。在刚刚建立的数据库中建立一个表,其字段结构如表达所示,需要注意的是该表的主关键字( PrimaryKey, PK )为种类名称,唯一标志一条的主关键字( PrimaryKey, PK )为种类名称,唯一标志一条记录。
读书类别表
字段名 | 数据类型 | 说明 |
种类名称 | 文本 | 必须字段为是,允许空字符为否 |
借书数量 | 数字 | 无 |
借书期限 | 数字 | 无 |
有效期限 | 数字 | 无 |
读者信息表
对于读者信息表,字段名称应该为读者姓名、读者编号、性别、读者类别、工作单位、家庭
住址、电话号码、登记日期和已借书数量。在数据库中建立一个表,如图所示。主要的钥匙, PK ),唯一标识了一条记录的其中读者编号为该表的主关键字。
读者信息表
字段名 | 数据类型 | 说明 |
读者姓名 | 文本 | 必须字段为是,允许空字符为否 |
读者编号 | 文本 | 必须字段为是,允许空字符为否 |
性别 | 文本 | 字段大小2 |
读者类别 | 文本 | 字段大小50 |
工作单位 | 文本 | 字段大小50 |
家庭住址 | 文本 | 字段大小50 |
电话号码 | 文本 | 字段大小12 |
登记日期 | 日期/时间 | 无 |
已借书数量 | 数字 | 无 |
图书类别表
对于图书类别表,字段名称应该为类别名称和类别编号。具体设置如表
图书类别表
字段名 | 数据类型 | 说明 |
类别名称 | 文本 | 必须字段为是,允许空字符为否 |
类别编号 | 文本 | 必须字段为是,允许空字符为否 |
书籍信息表
对于书籍信息表,字段名称应该为图书编号、书名、图书类别、作者、出版社、出版日期、登记日期及是否已被借出。具体设置如表所示。
书籍信息表
字段名 | 数据类型 | 说明 |
图书编号 | 文本 | 必须字段为是,允许空字符为否 |
书名 | 文本 | 必须字段为是,允许空字符为否 |
类别 | 文本 | 字段大小50 |
作者 | 文本 | 字段大小50 |
出版社 | 文本 | 字段大小50 |
出版日期 | 日期/时间 | 无 |
登记日期 | 日期/时间 | 无 |
是否已被借出 | 文本 | 字段大小2 |
借阅信息表
对于借阅信息表,字段名称应该为借阅编号、读者编号、读者姓名、书籍编号、书籍名称、出借日期和还书日期。具体设置如表所示。
借阅信息表
字段名 | 数据类型 | 说明 |
借阅编号 | 自动编号 | 无 |
读者编号 | 文本 | 字段大小50 |
读者姓名 | 文本 | 字段大小50 |
书籍编号 | 文本 | 字段大小50 |
书籍名称 | 文本 | 字段大小50 |
出借日期 | 日期/时间 | 无 |
还书日期 | 日期/时间 | 无 |
按照上面的表格要求设计好数据库(book.mdb)后,就可以进行系统窗体界面开发了。
九 部分源代码
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论