毕业设计(论文)-图书管理系统设计.doc

上传人:爱问知识人 文档编号:3949849 上传时间:2019-10-11 格式:DOC 页数:41 大小:2.02MB
返回 下载 相关 举报
毕业设计(论文)-图书管理系统设计.doc_第1页
第1页 / 共41页
毕业设计(论文)-图书管理系统设计.doc_第2页
第2页 / 共41页
毕业设计(论文)-图书管理系统设计.doc_第3页
第3页 / 共41页
毕业设计(论文)-图书管理系统设计.doc_第4页
第4页 / 共41页
毕业设计(论文)-图书管理系统设计.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《毕业设计(论文)-图书管理系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-图书管理系统设计.doc(41页珍藏版)》请在三一文库上搜索。

1、第一章 前言随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。管理信息系统的开发方法有生命周期法、原型法和面向对象的开发方法等。生命周期法(Life Cycle Method)是20世纪6

2、0年代发展起来的一种应用广泛且比较成熟的管理系统开发方法,它的基本思想是将系统的开发工作从开始到结束划分为若干个阶段,每个阶段都有明确的任务,而系统开发出来后,并不意味着生命周期的结束,而意味着根据组织的需要对系统的修改和重建的开始;原型法(Prototyping Method)是20世纪80年代发展起来的,旨在改变生命周期法的缺点的一种系统开发方法,该法的开发思路是首先根据用户的要求,由用户和开发者共同确定系统的基本要求和主要功能,利用系统快速生成工具,建立一个系统模型,再在此基础上与用户交流,将模型不断补充、修改、完善,如此反复,最终直至用户和开发者都比较满意为止,从而形成一个相对稳定、较

3、为理想的管理信息系统;面向对象(Object Oriented)的开发方法于20世纪80年代开始兴起的,是一种基于问题对象的自底向上的一种系统开发方法,这种方法的特点是以对象为基础,对象是分析问题和解决问题的核心。基于以上三种方法的特点和各自的优缺点,本图书馆管理系统利用软件工程化思想和方法,总体上是采用结构化生命法进行系统分析和设计的,而系统实现等步骤则采用了原型法和面对对象的方法。管理信息系统的开发是一个开发周期长、技术要求高、影响因素多的复杂系统工程,因此制定一个完善、可行、合理的开发计划,不仅是系统开发成功的保证,而且可以提高效率、节省时间、降低成本。本图书系统计划利用三个月的时间开发

4、完成:系统调研和系统分析为10天;系统设计为10天;系统程序设计为45天;系统调试为10天;系统试运行为15天。第二章 系统需求分析2.1现行业务描述:通过调查,先画出图书馆的组织结构图如下:馆 长采编组书库阅览室工具书室目录厅借阅室通过调研了解到,该图书馆各个部门负责的主要业务如下:(1)采编组主要负责图书采编工作,包括购置新书、打印编目、增加数量。(2)目录厅主要负责读者查询工作,包括可借图书(按图书类别、图书名称或图书作者查询);新书目录(按图书类别、日期查询);借书情况(按读者借书证号查询)(3)借阅组主要负责图书流通、查询统计、借阅查询等工作。(4)阅览室、工具书室主要负责读者阅览工

5、作,包括:阅览各种杂志、报纸、阅览各种工具书。下面绘制出图书馆流通业务中借书的流程图。(1)读者在目录厅查阅索引卡;(2)读者写出所借图书的分类号、种次号、交给图书管理员,并出示本人的借书证;(3)图书管理员根据图书的分类号、种次号到书库找书;(4)将图书交给读者,并由读者填写所借图书的借书卡。(5)图书管理员把借书卡保存到写有该读者借书证号的口袋里。得出该图书馆业务流程图如下所示:22现行系统存在问题的分析该图书馆工作大部分还是进行着手工管理,工作起来效率很低,并且不能及时了解图书馆各类图书的存库,学生们比较需求的图书等等,不便于动态及时地调整图书结构,以便更好地适应当前学生的借阅需求。手工

6、管理还存在这许多弊端,由于不可避免的人为因素,经常造成数据的遗漏、误报。计算机信息化管理有着储存信息量大、速度快等许多优点,提供给我们的处理信息及时快捷,同时也提高了我们工作人员的自身素质。23解决方案基于以上的对问题的分析,利用计算机给我们提供信息,及时地调整学校图书馆图书结构,并且对学生们的借阅过程形成一整套动态的管理就十分必要了。图书馆信息系统的建立,需要进行用户的需求调查与分析,以确定系统目标,提出解决问题的详细方案,这是系统建设的重要环节。学校图书馆规模相对于商业图书馆小,但要有着完善的图书信息,对每一册书要有详细的记录信息,功能上对系统的需求是全面的。因此对用户的需求可分为四个方面

7、:一方面是图书馆工作人员通过计算机来管理各类图书,分类编号,调整图书结构,增加图书库存,适应学生的需求;二方面是学生们能通过计算机来查询浏览图书馆中的图书,来确定自已需要的书籍,为借阅做好准备;三方面是工作人员对学生们的借书证发放,登记能作好全面的掌握,及时得到每个借书证的当前状态和历史借阅记录;四方面也是图书馆的核心工作,对图书的借阅管理。这四个方面形成了学校图书馆一个工作整体,采用计算机自动化信息处理,可方便快捷地共享信息、交流信息,高效地协同工作。在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种图书信息。硬件的配置要求不能太高,这样可以很好的适应当前

8、的学校图书馆。在开发方式上对系统的需求,由于学校图书馆是一种无商业利益的,所以系统设计开发的周期要短,在短时间内完成,减少开发成本,提高开发效率,方便、简单、实用作为系统开发的指导思想。24可行性分析通过对该图书馆的各个方面进行了具体的了解之后,现对该单位开发图书管理系统的可行性进行分析。技术上可行:该系统所需硬件设备,市场上销售且价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用Visual Basic,这些软件在MIS开发中已被大量应用,技术上都比较成熟。因此在技术上是可行的。经济上可行:由于学校急需采用计算机来进行图书馆的管理,因此对开发

9、图书管理系统大力支持,开发经费没有问题。管理上可行:该学校的图书馆有很多的管理体制,每位借书人均有借书证,同时图书馆还为每位借书人建立了档案。因此管理上可行。另外,图书馆管理人员对开发该系统也是大力支持的,同时制定了培训计划,并进行了实施MIS的物质准备和工作准备。综上所述,开发图书管理系统在技术上、经济上、管理上都是可行的。第三章 新系统逻辑方案31初步调研在本系统被批准立项之后,我实地去该图书馆进行了参观和学习,现对该单位图书馆的整体情况进行调研,调研分两步进行,一是初步调研,二是详细调研。由于该图书馆职工人数较少,因此在调研时采用了会议讨论法和个人访谈法两种方法,通过会议讨论法了解图书馆

10、的整体情况,对开发新系统的态度等。通过个人访谈法了解各个部门的主要职能及具体运作方式、过程等。对该图书馆进行初步调研的具体内容为:(1)图书馆的规模:现藏书册数、种类;(2)图书馆的主要业务;(3)图书馆下高几个部门;(4)图书馆职工人数;(5)职工受教育程度;(6)主要购书单位;(7)图书编码方式;(8)现在多少读者在此借书;(9)读者借书凭证;(10)读者分类;(11)图书馆的上级领导;(12)对开发新系统的态度;(13)开发新系统所需的时间(规定多长时间开发完成)。32详细调研321组织结构调研在对该图书馆的手工管理模式和业务流程进行认真分析和研究的基础上,经过与该图书馆的相关人员的反复

11、协商、论证,最后确定了该图书管理系统的逻辑模型。下面以数据流图和数据字典的方式来描述新系统的逻辑功能。322数据流图323数据字典:下面为借书业务流程图中的每一部分编制数据字典。(1)数据元素:每本书都有单价这个信息,其描述内容如下:数据元素名称:单价 类型:数字 长度:6位,其中整数部分占3位,小数部分占2位 数据值类型:离散 取值范围:0-999.99相关的数据结构:索书号+藏书号+作者+书名+出版社+单价+册数+内容摘要(2)数据流。数据流“借书信息”条目如下:数据流名称:借书信息 说明:读者的借书内容数据流来源:读者数据流去向:图书管理员数据流组成:分类号种次号数据流的流通量:大约份/

12、天()数据存储:数据存储“借书情况”条目如下:数据存储名称:借书情况简述:存放的是每个读者的借书情况输入数据:借书情况数据存储组成:借书证号藏书号借书日期存储方式:按借书的先后顺序排列()数据处理。数据处理“查询图书”条目如下:数据处理名称:查询图书数据处理编号:.简要描述:根据读者写的图书的分类号和种次号查询输入数据流:借书信息输出数据流:查询结果处理逻辑:根据读者写的图书的分类号和种次号检索相应的图书信息。()外部实体。外部实体“图书管理员”的条目如下:外部实体名称:图书管理员输入数据流:借书信息、借书证号、已填借书卡、查询结果输出数据流:待填借书卡、借书信息。数目:人第四章 系统总体结构

13、设计41软件模块结构设计411系统方案确定。通过对系统调研与分析,系统主要应完成的功能如下:书库信息管理、读者档案管理、借阅管理、还书管理、图书检索、系统维护。412软件结构设计。图书馆管理系统包含图书采编、读者管理、流通、查询等功能。该系统执行时,先输入数据,然后根据输入的数据选择执行路径;购入图书进行登记、编目调用图书采编功能,借书、还书调用功能,查询调用查询功能。图书馆管理系统属于事务型系统,其系统示意图如下图所示:接受数据事务中心图书采编读者管理图书流通查询 图书馆管理系统示意图系统结构图示意如下:图书馆管理系统图书采编读者管理图书流通 查询输入图书信息 借书 还书图书馆管理系统结构图

14、系统功能图如下:图书馆管理系统系统登陆系统管理图书管理借书证管理借 书帮 助登 陆修改密码注 消退 出新书入库图书信息查询新开借书证借书证查询借 书还 书关 于42数据库设计数据库采用了Microsoft推出的Access数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。由于Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Access作为后台数据库。使用Access的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一

15、下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。本系统使用的系统中包括四个表,名称及功能说明如下:TblOperator操作员表,定义操作员的ID和密码,作为系统登录检查的依据,提供唯一的管理员ID。TblLoan借阅表,通过借书证ID和图书ID反映图书的借阅关系。TblCard借书证表,提供读者信息等,同时包括借书证是否可用,提供唯一的借书证ID。TblBook图书表,保存馆内所有图书的信息,提供唯一的图书ID。本系统涉及到的实体:(1)本系统中所涉及到的主要实体及其属性有:tblbooK(图书管理)表:图书编号,馆藏编号,书名,作者,出版社,出版日期,入库日期,

16、价格,操作员tblCard(借书证)表:借书证编号,是否有效,姓名,男女,身份证号,部门,电话,地址,最大供书量,操作员,创建日间tblLoan(借阅)表:借书证编号,书号,借书日期,还书日期,操作员tblOperator(操作员)表:操作员编号,姓名,密码,备注(2)本系统的实体-联系(E-R)图图书编号馆藏编号书名作者出版社出版日期价格数量入库时间操作员备注图书管理为了使E-R图表示得更加清晰,现将E-R图分成实体及其属性图和实体及其联系图。分别如下图所示:借书证编号是否有效姓名男女身份证号部门地址有效日期电话最大借书量操作员借书证管理办证时间操作员操作员编号姓名密码备注借阅借书证编号图书

17、编号借书日期还书日期操作员各表的物理结构如下:TblBook(图书管理)表:字段代码字段名称类型宽度小数位数Bookid图书编号长整型Libid馆藏编号文本8BookName书名文本100Author作者文本60Publisher出版社文本50PublishDate出版日期文本50Price价格货币2Amount馆藏册数数字整形2createdate入库时间日期/时间Operator操作员数字Memo备注文本255TblCard(借书证管理)表:字段代码字段名称类型宽度小数位数CardId借书证编号自动编号长整型Enabled是否有效是/否Name姓名文本8Gender男女数字长整型IdCar

18、d身份证号文本18Vocation部门文本50Phone电话文本50Address地址文本50MaxBookNum最大借书量数字整型AvailDateNum有效时间数字长整型Operator操作员数字长整型CreateDate办证时间日期/时间TblLoan(借阅)表:字段代码字段名称类型宽度小数位数CardID借书证编号数字长整型BookID图书编号数字长整型LoanDate借书日期日期/时间ReturnDate还书日期日期/时间Operator操作员文本TblOperato表:字段代码字段名称类型宽度小数位数OperatorID操作员编号自动编号Name姓名文本50Password密码文本

19、50Memo备注文本255E-R图向关系模型转换的结果如下:图书管理(图书编号,馆藏编号,书名,作者,出版社,出版日期,入库日期,价格,操作员)图书编号为此关系的码。借书证(借书证编号,是否有效,姓名,男女,身份证号,部门,电话,地址,最大借书量,操作员,创建日间)借书证编号为此关系的码。借阅(借书证编号,书号,借书日期,还书日期,操作员)借书证编号为此关系的码。操作员(操作员编号,姓名,密码,备注)操作员编号为此关系的码。4.3计算机系统的配置方案硬件环境:内容最低配置建议配置主机P/200PII/266以上内存64MB128MB以上硬盘10GB20GB以上显示器VGA以上软件环境:操作系统

20、:Windows 98中文版或Windows XP中文版编程软件和数据库:Visual Basic6.0中文版+Access2000中文版44系统的安全性和可靠性设计对所有登录本系统的使用用户进行严格的用户名和密码的管理,如果不属于系统事先设定好的合法用户,则系统无法登录,为了防止密码外泄,本系统具备密码修改功能。第五章 系统详细设计程序按照三个主要管理功能进行组织,其中借书和还书由于经常使用,单独列出来。下面我们按照操作顺序对程序的操作、界面的源程序进行详细说明。5.1启动:双击图标运行程序以后,就可以看到程序的主界面。由于这个时候还没有登陆系统,因此系统提示未登录。这是,需要通过通过系统管

21、理菜单进行登录操作。图 1 启动后的主界面52登录系统进行登录时,用户单击了菜单“登录”,此时系统开始显示登录窗口。Private Sub mnuSysLogin_Click() frmLogin.Show vbModal If CurrentUser.LoginSuccess Then Me.Caption = App.Title & ( & CurrentUser.Name & ) Else Me.Caption = App.Title & (未登录) End IfEnd Sub程序首先显示frmLogin窗口,由于这个窗口是模态(vbModal)显示的,因此如果用户只能关闭这个窗口后才能

22、进行其他的操作。VB的窗口分成模块窗口和非模态窗口两种,普通情况下都是非模态窗口,但是多数对话框是模态窗口。程序的后面使用了一个结构体,这个结构体在公共模块定义,程序的任何地方都可以访问这个结构体,同时程序初始化了一个全局变量CurrentUser。该变量用来指示当前是否有用户登陆,用户的ID和名称是什么等信息。Type Users ID As Integer Name As String Password As String LoginSuccess As BooleanEnd TypePublic CurrentUser As Users这里我们首先运行了frmLogin窗体,然后根据fr

23、mLogin窗体对用户信息的判断,由frmLogin窗体设置CurrentUser信息。如果成功,CurrentUser的LoginSuccess属性将为True,否则为False。如果CurrentUser的LoginSuccess属性为True,则主窗体显示当前用户登录的用户名。下面我们主要看frmLogin窗体的操作。图 2 登录窗体这里我们详细讲解登录的全部过程,因为这个过程中涉及到DAO数据库访问的全部过程,因此我们将着重介绍这些过程。以后程序中使用同样功能的部分将不再介绍。Private Sub cmdOK_Click()Dim strUserID As StringDim str

24、UserPwd As StringDim db As DatabaseDim rs As Recordset 获取用户输入 If txtUserName.Text = Then MsgBox 请输入正确的用户名, vbInformation txtUserName.SetFocus Exit Sub End If strUserID = txtUserName.Text If txtPassword.Text = Then MsgBox 请输入用户密码, vbInformation txtPassword.SetFocus Exit Sub End If strUserPwd = txtPas

25、sword.Text 开始校验密码 Set db = OpenDatabase(DB_NAME) Set rs = db.OpenRecordset(select * from tblOperator where Name= _ & Chr(34) & strUserID & Chr(34) & and Password= & _(34) & strUserPwd & Chr(34) If rs.RecordCount 0 Then rs.MoveFirst CurrentUser.Name = strUserID CurrentUser.ID = rs!OperatorID CurrentU

26、ser.LoginSuccess = True Else CurrentUser.Name = CurrentUser.LoginSuccess = False CurrentUser.ID = 0 MsgBox 无效的用户名或者密码,请重新登录, vbCritical End If Set db = Nothing Set rs = Nothing Unload Me End Sub程序首先定义了四个变量,其中strUserID、strUserPwd是基本变量,用来临时存储用户的登录信息;db和rs是DAO对象变量,其中db是数据库对象,用于连接数据库,也可以用来直接执行部分SQL语句(in

27、sert、delete、update等,通过使用Database对象的Execute方法)。rs是记录集对象(Recordset),它可以对应数据库的一个表,或者是一个查询执行结果。Recordset是最为常用的数据对象,可以实现数据的漫游,数据的添加和删除。表 1 RecordSet的常用方法AddNew增加一条新记录Delete删除当前的记录MoveFirst移动到最前面一条记录MoveLast移动到最后一条记录MovePrevious移动到前一条记录MoveNext移动到后一条记录Edit当前记录进入修改状态Update刷新当前记录集,将AddNew或者Edit所进行的操作提交到数据库对

28、象变量在使用前需要进行实例化,这一点和普通变量是不同的。对象变量的实例化使用Set语句进行的。 Set db = OpenDatabase(DB_NAME) Set rs = db.OpenRecordset(select * from tblOperator where Name= _ & Chr(34) & strUserID & Chr(34) & and Password= & _(34) & strUserPwd & Chr(34)这里我们使用了DAO提供的OpenDatabase来进行db的实例化,其中DB_NAME是一个全局常量,在系统初始化时定义。 DB_NAME = App.

29、Path & Library.mdb其中App是一个VB的对象,保存了应用程序的很多属性。在整个程序中我们使用了App对象的两个属性,即Path属性(表示应用程序所在的路径)和Title属性(表示应用程序的标题)。Db初始化完成以后就可以使用他的方法和属性。这里我们使用Database对象的OpenRecordset方法来进行初始化,OpenRecordSet可以直接对一个表进行操作,例如OpenRecordSet(“tblCard”),也可以通过执行一个SQL语句来获得记录集,如上面的例子。我们查询数据库的管理员表,如果用户提交的登录信息存在,也就是用户是合法用户,则Recordset中有记

30、录,否则recordset将返回一个空记录集。这里我们通过Recordset的RecordCount属性来访问。 If rs.RecordCount 0 Then rs.MoveFirst CurrentUser.Name = strUserID CurrentUser.ID = rs!OperatorID CurrentUser.LoginSuccess = True Else CurrentUser.Name = CurrentUser.LoginSuccess = False CurrentUser.ID = 0 MsgBox 无效的用户名或者密码,请重新登录, vbCritical E

31、nd If如果用户存在,则我们将用户的信息复制到CurrentUser中,同时设置登录成功的标志。保存用户ID是因为针对管理员的所有操作都是通过其ID来访问的(而不是名称),这在其他几个表中有所反映。由于用户的ID绝对是唯一的,而用户的名字可能不是唯一的。因为如果一个用户使用某一个用户名进行登记,此时这个用户名将备这个用户占用,别的用户将不能使用同样的名字。但是如果用户销户以后,用户名就可以被别的用户使用。只有用户ID是唯一的,即即使以后的用户使用同样的用户名进行注册,系统也会分配给他一个不同的ID,这样就可以区别他们是两个不同的用户。在程序中主要的表都使用了唯一的ID,都是基于这样的原因。对

32、象使用完成以后必须显式的进行关闭和注销,这也是使用了set语句。进行注销时,只需要简单的将对象的值设置为nothing就可以了。 Set db = Nothing Set rs = Nothing整个数据库访问过程就结束了。程序段的最后一句是unload me,me是一个窗体级变量,指向窗体变量自身,这句语句相当于unload frmLogin,也就是关闭当前的窗口。如果用户登录失败或者未登录,用户只能使用登录菜单或者帮助的关于菜单。该菜单上面有系统的版本信息。图 3 关于对话框在未登录的情况下,如果用户试图使用系统的其他功能,系统将会显示提示登录窗口。因为在程序在运行每一项功能的时候,都会检

33、查用户的登录情况(也就是CurrentUser 的各项属性,主要是LoginSuccess属性),如果LoginSuccess为False,则意味者用户没有登录,系统将提示登录。如果我们不是简单的使用Boolean的字段,而是使用功能较为完备的机制,我们将可以实现复杂的权限控制。图 4 提示登录鉴权代码如下: If CurrentUser.LoginSuccess Then frmNewBook.Show Else MsgBox LoginPrompt, vbCritical End If通用的流程是,根据权限设置判定用户是否有权使用某项功能,如果有,则允许使用;如果没有,则给出错误的提示。用

34、户登录成功以后就可以使用系统的所有功能。同时,主窗体上将会显示当前登录用户的名称。当然,如果用户选择注销,则主窗体会显示未登录。用户登录成功以后就可以使用系统的所有功能。图书管理包括新书入库和信息查询两项功能,都包含在图书管理的菜单下。5.3新书入库图 5 新书入库新书入库的程序段采用了更为完备的功能,它首先检测用户输入是否合法,然后整理用户的输入信息,通过Database的Execute方法将SQL语句写入到数据库中,由于写入过程有可能出错(数据库共享冲突、硬件故障等),所以代码段中使用了差错控制机制,VB的差错控制通过两个语句来完成On Error Goto Line_Indentity或

35、者On Error Resume Next其中第一句表示如果发生错误时将转到Line_Indentity开始的地方进行处理,第二句表示如果发生错误时强制程序继续运行以后的语句。 str1 = LibID str2 = Chr(34) & Text1.Text & Chr(34) 5.4图书信息查询图书信息查询用于显示所有的图书信息,或者根据用户设定的条件进行查询,因此你将会在窗口的左上方看到两个Radio选项,如果选择“显示所有记录”,则查询条件将不可用。如果选择“按条件查询”,则系统根据查询条件中设置的查询条件进行查询。图 6 图书信息查询系统允许用户使用三种查询的方法,即按照书名查询、按照

36、作者查询和按照出版社进行查询。查询匹配包括精确匹配(=)和步精确匹配(Like),如果使用精确匹配,则系统按照用户输入的去匹配整个字段,相当于使用SQL语言的号功能,如果使用模糊匹配,则系统按照用户的输入,在前后添加%,然后使用SQL语言的Like功能进行查询。因此,所有包含有用户输入的字符串的字段所在的记录都会被显示出来。如果根据用户条件查询不到任何记录,则系统显示图 7查询不到符合条件的记录5.5新证登记新证登记和借书证查询都是针对借书证信息管理进行的,位于主界面的借书证管理菜单下。新证登记和新书入库基本上相似,因此这里不再详细介绍。图 8 新证登记5.6借书证信息查询借书证信息查询是管理

37、员用来实现对借书证管理的主要界面,查询方法和图书查询一样。当然,它也提供了例如借书证有效时间等指标,如果借书证过期,那么该证将不能借书。系统同时提供了管理员将制执行借书证不可用等功能。图 9 借书证信息查询5.7借书登记借书登记和还书登记就是管理员最为常用的功能了,借书登记和还书登记都是根据用户ID和图书ID来进行的,相应的信息记录在tblLoan表中。如果用户新借了一本书,那么相应的用户ID、图书ID和借书日期等信息将会被添加道tblLoan表中。同样的,如果用户还书,则相应的记录将会被删除。因此,tblLoan是经常动态修改,用于反映图书的借阅情况。如果他和tblBook相配合,则也可以统

38、计出目前图书馆各种书的剩余数量。借书登记要求管理员提供用户ID,这个ID将在用户的借书证上可以找到。当然,比较先进的图书馆管理系统一般都采用条形码扫描技术,操作快捷而且不易出错,但是其基本原理是一样的。输入用户ID以后,系统会自动显示用户的名字,当然也可以包括其他更多的信息。此时管理员可以查询用户已经借阅的书籍(这部分功能也可以交给系统后台处理,因为需要限制用户借书的数量)。用户需要借用任何一本书,都可以在现有图书表中选择相应的图书,然后单击借书,就可以看到该书的信息被添加到已借图书表中。这就是说,借书已经成功。图 10 借书借书部分使用了VB数据库访问技术的第二种,也就是ADO技术。从上图种

39、我们可以看到两个Adodc控件,他们就是ADO Data Connection。图 11 ADODC属性页ADODC通过ADO连接数据库,你可以在程序中配置静态的连接,这是我们可以按照属性页中的提示一步一步完成配置。但是静态连接的缺陷在于,如果数据库路径被修改,则程序连接数据库将导致失败。因此,一般情况下我们都会使用动态配置。程序安装的时候,数据库一般都会被安装在和主程序同样的路径下,因此我们需要在程序运行的时候,进行数据库的连接。Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & DB_NAME

40、& ;Persist Security Info=False这就是ADO数据库连接的语句,它通过设置ADO的ConnectionString属性来进行设置,Provider是ADO的一种概念,你可以认为就是驱动程序,这里使用的驱动程序为Microsoft.Jet.OLEDB.4.0,这种驱动程序专门用来连接Access数据库。当然,Provider还包括SQL Server、Oracle或者ODBC等。Data Source就是我们要访问的数据库。DB_NAME我们前面已经介绍过了,就是数据库的路径和文件名。ADO提供了DAO相同的RecordSet,在这个控件中表现为RecordSource

41、 属性,我们通过指定这个属性,就可以实现和数据库的连接,这和DAO的OpenRecordset是一样的功能。完整的语句是这样的。Adodc2.RecordSource = select * from qryLoanBook where BookId in (select BookId from tblLoan where CardId = & txtCardId.Text & )Adodc2.Refresh如果ADODC的RecordSource属性被修改,需要强制调用Refresh方法来刷新数据源,这是需要特别注意的。另外,显示图书信息的数据表格是VB的一种控件,叫做DataGrid。它经常

42、和ADODC配合使用,显示数据库的一个表。当然,它也支持数据的添加、修改和删除。5.8还书还书的基本操作和借书相同,通过检索用户的ID和图书的ID,在tblLoan表中删除相应的记录完成还书操作。还书第六章 实施概况61系统开发环境:系统开发环境包括硬件平台和软件平台两种。硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。由于本系统是一个小型的MIS管理系统,因此对计算机硬件的要求不高,比较经济,只要配备有PII处理器(或以上)、64M内存(或以上)、10G硬盘(或以上)的普通微机即可顺利运行。软件平台是指系统开发与运行的软件环境。本系统在开发时选用了稳定性较强的Windo

43、ws XP中文专业版和Visual Basic6.0作为开发语言,同时选用了Access数据库,由于这些软件产品都是Microsoft公司的产品,因此彼此之间的兼容性较好,开发出的应用系统稳定性较高。Visual Basic 6.0具有可视化的开发环境,可以快速完成系统的开发,内部集成的数据库访问通道,使得可以轻松方便的对数据库管理。数据库采用MICROSOFT ACCESS,由于我们的系统要求,采用它完全可以适合我们的工作需求,并且它所支持的数据类型十分丰富,维护简便,费用比较低,人员素质要求不是很高,容易升级。 本系统在单机上运行。6.2系统测试:在开发本系统时,为了使系统能够稳定运行,对本系统进行了有针对性的全面测试,采取的方式是:1、菜单项测试:为了保证每一项下拉菜单能够正确实现系统设计的功能,我把该图书馆有关图书的所有基础数据,基本上全部输入到本系统中,并对每一个菜单项反复进行了增加、删除、修改等操

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1