字体:  

用VB实现资料室借还书系统

Sosun 发表于: 2008-1-09 10:36 来源: 学友集 社区门户

  专业综合课程设计任务书 一、专业综合课程设计题目 资料室借还书系统 二 、专业综合课程设计的内容要求: 用Visual Basic编写一个资料室借还书系统,具体可实现的功能是:1。用户基本信息管理功能(包括用户信息添加,修改,删除);2。图书管理功能及借还书功能。 [ 摘 要]本系统主要针对目前高校部门级图书管理系统相对缺乏、书刊管理工作效率较低的现状,结合本校院系级书刊资料管理的实际需求,设计了一个部门级的书刊借阅管理系统。该系统集书刊管理、读者管理以及报表统计分析等功能于一体,具有用户操作简便、功能完善、实用性强的特点。 本系统全部用Visual Basic来实现。本系统分用户登录、图书管理、借书管理、还书管理、用户管理等五大功能模块.用户登陆可以实现管理员的登陆可操控界面.图书管理可以对图书进行分类管理和查找.借书管理可以记录读者借记资料,还书管理可以实现图书的归还登记,而用户管理可以记录读者的详细资料. 虽然本系统所涉及的内容比较简单,没有专业的那么完美,但是已经达到了这次课设的目标了本系统对于目前高校系部及中小型图书馆的建设有一定的指导意义。 [ 关键词] :书刊;图书管理系统;存储过程;数据字典; [Abstract ]Originally, system is short of mainly relatively specifically for the colleges and universities branch level book manages system at present , books and periodicals manages lower current situation of availability, being the actual need that the level books and periodicals data manages combining with our school yard , the books and periodicals having designed a branch level's is borrowed reviewing management system. That system collection books and periodicals manages , reader manages and form for report statistic analysis waits for function Yu an integral whole, have the consumer operation is simple and convenient , the function is perfect , the pragmatism is strong characteristic. Come system to come true all use Visual Basic. Mark of consumer logs on this system , the book manages , takes advantage of book administration, return a book five such as administration , consumer administration big functions module. The consumer lands being able to realize administrative person's pressing Lu Ke Cao down charging an interface. The book is managed being able to be in progress classify and managing and seek to the book. Take advantage of book administration being able to record reader borrow write down a data , return a book administration can realize the book returning registering, but the consumer manages the particulars being able to record reader. Though content related to by this system is comparatively simple, do not have special field's so consummate, but have already reached the target that current class sets up originally systematically be and middle minitype of colleges and universities library construction has certain guiding significance with regard to at present. [Key words] Books and periodicals;Book management system;Mmory process;Data dictionary; 第1章 绪 论... 1 1.1课题背景…………………………………………………………………………2 1.11 设计目标……………………………………………….…….…………...2 1.12 系统设计原则…………………………………….…………….2 1.2本章小结…………………………………………………………….3 第2章 环境系统开发工具及相应技术简介………………………………...4 2.1 Visual Basic简介和数据库开发技术………….……………………...4 2.1.1 Visual Basic简介………………………………………………4 2.1.2 Visual Basic与数据库…………………………………………5 2.2 本章小结... 13 第3章 系统设计... 14 3.1系统总体结构... 14 3.2 各子系统功能划分... 14 3.3 本章小结…………………………………………………………….15 第4章 系统的实现……………………………………….............................16 4.1 登陆模块…………………………………………………………...16 4.2登入选择界面………………………………………………………17 4.3图书管理系统………………………………….……………………19 4.4 借书系统……………………………………………………………22 4.5用户管理系统……………………………………………………….24 4.6还书系统……………………………………………………....... ….26 4.7本章小结………………………………………………..…………...27 结论………………………………………………………… ……… ……….. 28 致谢………………………………………………………………………….....29 参考文献…………………………………………………… … …… ………..30 第1 章 绪 论 1.1 课题背景 目前,在高校系部图书管理中,管理的繁琐和读者的借书困难是我们深刻体会的到的,为提高图书查询效率,减少系部图书管理员的工作负担,有必要开发一个小型图书管理软件来对系部图书实施有效管理。该系统必须具备以下功能:1、能对各类图书实行分类管理;2、提供必要的读者信息; 3、具有图书检索功能;4、管理登录系统的图书管理员等。这样不仅能较好地帮助读者在最短的时间内找到自己所需要的图书书目、编号,而且能让图书管理员以最高的效率办理借阅手续。 1.11 设计目标 针对以上情况,决定组建一个基于客户机/服务器结构的图书管理系统,要求该系统能对登录后的用户实行权限管理。在系统启动后,读者能在客户端根据自已的需要查询图书,而图书管理员能在服务器端根据读者提供的身份信息及图书编号办理借书或还书手续,通过自动查询功能判断读者是否还能借书。该系统当管理员以超级用户登录服务器时,图书管理员有着最大的权限,能通过管理界面设置图书借阅期限、查询逾期未还图书信息和读者信息,并能有效地管理图书分类、读者信息及图书管理员的登录帐目等。 1.12 系统设计原则 (1)实用性原则: 适合于中小型图书馆及高校系部图书管理,用户界面友好,操作使用方便,具有高效的数据处理能力。 (2)先进性原则: 采用目前先进的计算机软硬件技术,使系统具有较高的技术水平和较长的生命周期。 (3)开放性,安全性,可靠性。 (4)兼容性原则。 对于所选软硬件系统及平台,能很好地适应开发和使用的需要。 (5)规范性原则。 软件设计过程严格按照“软件工程”的规定,系统编码、文档、操作系统 平台以及开发方法采用相应的国际标准、国家标准和行业标准。 1.2 本章小结 本章主要介绍开发此系统的背景,并且简单介绍的开发此软件系统所要达到的目标,并对此软件系统开发的原则做了简要阐述。 第2章 环境系统开发工具及相应技术简介 2.1 Visual Basic 简介和数据库开发技术 2.1.1 Visual Basic简介 Visual Basic是1991年Microsoft公司推出的Windows应用程序开发工具,Visual意为“可视化的”,指的是一种开发图形用户界面(GUI)的方法,所以Visual Basic是基于Basic的可视化的程序设计语言。在Visual Basic中,既继承了其先辈Basic所具有的程序设计语言简单易用的特点,其编程系统又采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见所得的可视界面设计方法,给广大非计算机专业人员学习、使用、研究、和开发Windows环境下的应用程序带来了福音。 2.1.1 .1 Visual Basic功能特点 它的主要功能如下: 1.具有面向对象的可视化设计工具; 2.事件驱动的编程机制; 3.提供了易学易用的应用程序集成开发环境; 4.结构化的程序设计语言; 5.支持多种数据系统的访问; 6.OLE技术; 7.Active技术; 8.完备的Help联机帮助功能。 2.1.1 .2 Visual Basic的运行环境 Visual Basic是Windows 95/98或Windows NT下的一个应用程序,本身对软硬件没有特殊要求。也就是说,它对环境的要求与Windows 95/98、Windows NT要求是一致的。 硬件要求:一般在586以上的处理器、16MB以上的内存、100MB以上的硬盘等。 软件要求:Windows 95/98或Windows NT 3.51以上版本。 2.1.2 Visual Basic 与数据库 2.1.2.1 数据库概念 所谓数据库(Database,简称DB)就是长期存放在计算机内,以一定组织方式动态存储的、相互关联的、可共享的数据集合,它不仅包括数据本身,还包括相关数据之间的联系。数据库最大特点是通过联系减少了不必要的数据冗余。同时,不同用户可以使用同一数据库中自己所需的子集,从而实现了数据共享。 几乎所有的应用程序都需要存放大量的数据,并将其组织成易于读取的格式。这种要求可以通过数据库管理系统(DBMS)来实现。数据库管理系统提供了数据在数据库内存方式的管理能力,使编程人员不必像使用文件那样需要考虑数据的具体操作或数据连接关系的维护。数据库就是一组排列成易于处理和读取的相关信息的集合。最近几年来,关系模型已经成为数据库设计事实上的标准。这不仅因为关系模型自身的强大功能,而且还由于它提供了叫做结构化查询语言(SQL)的标准接口,该接口允许以一致的和可理解的方法来一起使用许多数据工具和产品。 关系型数据库模型把数据用表的集合来表示。通过建立简单表之间的关系来定义结构,而不是根据数据的物理存储方式建立数据中的关系。不管表在数据文件中的物理存储方式如何,都可以把它看作一组行和列。在关系数据库中,行被称为记录,而列则被称为字段,表是有关信息的逻辑组。数据库可以由多个表组成,表与表之间可以用不同的方式相互关联。 在Visual Basic中由于数据库内的表格不允许直接访问,而只能通过记录集对象进行记录的操作和浏览,因此,记录集是一种浏览数据库的工具。用户可以根据需要,通过使用记录集对象选择数据。记录集对象提供了24种方法和26种属性,利用它们可以对数据库中的记录进行各种处理。记录集有三种类型:表、动态集和快照。 2.1.2.2 数据库应用程序的体系结构 Visual Basic是一个功能强大的数据库开发平台,所以常常选择VB作为开发数据库前台应用程序的工具。 2.1.2.3 建立数据库 VB提供了两种方法建立数据库,分别是: (1)可视化数据管理器 (2)数据访问对象(DAO) 1、可视化数据管理器 使用可视化数据管理器建立的数据库是Access数据库(类型名为.mdb),可以被Access直接打开和操作。在VB环境下,执行“外接程序”菜单中的“可视化数据管理器”命令,即可打开如下图“可视化数据管理器”窗口。 2 . 建立数据表 以建立一个如下结构的学生表为例: (1) 在“可视化数据管理器”窗口中执行“文件”菜单中的“新建”命令后,弹出如下图所示的对话框。 (2) 在对话框中选择数据库文件保存的位置,并输入文件名后(保存类型只能是MDB)单击保存按钮,将打开如下图所示的建立数据表窗口。 (3) 右击数据库窗口,在弹出的菜单中选择“新建表”命令,打开如下图所示的“表结构”对话框。 (4)在“表结构”对话框中输入表名后,单击“添加字段”按钮,在弹出的如下图所示的“添加字段”对话框中输入字段名,选择字段类型(Text类型字段还需输入字段大小)。重复此过程直至添加完所有字段后,单击“关闭”按钮。 3 . 建立索引 单击“表结构”对话框的“添加索引”按钮,在弹出的对话框中(如下图所示)输入索引名称,选择索引字段后,单击“确定”按钮即完成了索引的建立过程。 4. 数据库的基本操作 右键单击表名,使用快捷菜单的打开,可打开如下图所示的输入数据窗口 。 输入数据 编辑数据 删除数据 排序数据 过滤数据 移动数据 查找数据 2.1.2 .4 数据控件 数据控件是Visual Basic访问数据库的一种利器,它通过Microsoft JET数据库引擎接口实现数据访问。数据控件能够利用三种Recordset对象来访问数据库中的数据,数据控件提供有限的不需要编程而能访问现存数据库的功能,允许将Visual Basic的窗体与数据库方便地进行连接。要利用数据控件返回数据库中记录的集合,应先在窗体上画出控件,在通过它的三个基本属性Connect、DatabaseName和RecordSource设置要访问的数据资源。 控件有以下的属性: (1) Connect属性——指定数据库类型 VB可识别的数据库有:MDB文件、DBF文件、DB文件、DF文件和ODBC数据库 (2)DatabaseName属性——指定具体使用的数据库。 (3)RecordType属性——确定记录集合类型。 (4)RecordSource属性——确定具体可访问的数据表。 (5)EofAction和BofAction属性决定数据控件要采取的操作。 (6)RedaOnly属性用于控制能否对记录集进行写操作。 要使关联控件能被数据库约束,必须对控件的两个属性进行设置。 (7)DataSource属性通过指定一个有效的数据控件连接一个数据库。 (8)DataField属性设置数据库有效的字段。 在Visual Basic中,数据控件本身不能够直接显示记录集中的数据,必须通过能与它帮定的控件来实现。可与数据控件绑定的控件对象有文本档、标签、图象框、图形框、列表框、组合框、复选框、网格、DB列表框、DB组合框、DB网格、DataReport控件和OLE容器等控件。 要使绑定控件能被数据库约束,必须在设计或运行时对这些控件的两个属性进行设置: ( 1 ) DataSource属性 DataSource属性通过指定一个有效的数据控件连接到一个数据库上。 ( 2 ) DataField属性 DataField 属性设置数据库有效的字段与绑定控件建立联系。 绑定控件、数据控件和数据库三者之间的关系如下图所示: 当上述控件与数据控件绑定后,Visual Basic将当前记录字段值赋给控件。如果修改了绑定控件内的数据,只要移动记录指针,修改后的数据会自动写入数据库。数据控件在装入数据库时,它把第一个记录作为当前记录。当数据控件的BofAction属性值设为2时,当记录指针移过记录集结束位,数据控件会自动向记录集加入新的空记录。 1. 数据访问控件方法 (1)Refresh方法 可以在数据控件上使用Refresh方法来打开或重新打开数据库(如果 DatabaseName、ReadOnly或Connect属性的设置值发生改变)。 (2)UpdateControls方法 此方法用于从数据控件的Recordset对象中读取当前记录,并将数据显示在相关约束控件上。 (3)UpdateRecord方法 当约束控件的内容改变时,如果不移动记录指针,则数据库中的值不会改变,可通过调用UpdateRecord方法来确认对记录的修改,将约束控件中的数据强制写入数据库中。 2. 记录集Recordset对象 一个Recordset对象代表一个数据库表里的记录,或运行一次查询所得的记录的结果。在“Data”控件中可用3类Recordset对象,即Table(表类型)、Dynaset(动态类型)和Snapshot(快照类型),默认为Dynaset类型。 (1)表类型:一个记录集合,代表能用来添加、更新或删除记录的单个数据库表。 (2)动态类型:一个记录的集合动态,代表一个数据库表或包含从一个或多个表取出的字段的查询结果。可从Dynaset类型的记录集中添加、更新或删除记录,并且任何改变都将会反映在基本表上。 (3)快照类型:一个记录集合静态副本,可用于寻找数据或生成报告。一个快照类型的Recordset能包含从一个或多个在同一个数据库中的表里取出的字段,但字段不能更改。 在实际操作中使用什么记录集关键取决于要完成的任务。表类型的记录集已建立了索引,适合快速定位与排序,但内存开销太大。动态集类型的记录集则适合更新数据,但其搜索速度不及表类型。快照类型的记录集内存开销最小,适合显示只读数据。 使用Recordset对象的属性与方法的一般格式为: 数据控件名 . Recordset . 属性/方法 3. 使用Recordset对象连接与访问数据库的记录 (1) Move方法 使用Move方法遍历整个记录集中的记录。Move方法是: MoveFirst或MoveLast方法移至第一个或最后一个记录。 MoveNext或MovePrevious方法移至下一个或上一个记录。 Move [n] 方法向前或向后移n个记录,n为指定的数值。 (2) Find方法 可在指定的Dynaset或Snapshot类型的Recordset对象中查找与指定条件相符的一个记录,并使之成为当前记录。4种Find方法是: FindFirst或 FindLast方法. 找到满足条件的第一个或最后一个记录。 FindNext或FindPrevious方法找到满足条件的下一个或上一个记录。 4种Find方法的语法格式都相同,其格式为: 数据集合.Find方法 条件 (3) Seek方法 使用Seek方法可在Table表中查找与指定索引规则相符的第一个记录,并使之成为当前记录。其语法格式为: 数据表对象.Seek comparison , key1,key2… (4) Refresh方法 如果在设计状态没有为打开数据库控件的有关属性全部赋值,或当RecordSource在运行时被改变后,必须使用激活数据控件的Refresh方法激活这些变化。例如: Data1.DatabaseName = "C:\VB\Biblio.mdb" Data1.RecordSource = "Titles" Data1.Refresh (5)AddNew方法 向数据库中添加记录的步骤如下: 首先,调用AddNew方法,打开一个空白记录; 然后,通过相关约束控件给各字段赋值; 最后,单击数据控件上的箭头按钮,移动记录指针,或调用UpdateRecord方法确定所做添加。 (6)Delete方法 删除数据库中记录的步骤如下: 首先,将要删除的记录定位为当前记录; 然后,调用Delete方法; 最后,移动记录指针,确定所做删除操作。 (7)Edit方法 编辑数据库中记录的步骤如下: 首先,将要修改的记录定位为当前记录; 然后,调用Edit方法; 然后,通过相关约束控件修改各字段值; 最后,移动记录指针,确定所做编辑操作。 (8) Close方法 关闭指定的数据库、记录集并释放分配给它的资源其语法格式为: 对象.Close 2.2 本章小结 本章主要介绍了Visual Basic的基本功能和运行环境,并对数据库做了一个详细的介绍。并且对数据控件做了一定的介绍。数据库最大特点是通过联系减少了不必要的数据冗余。同时,不同用户可以使用同一数据库中自己所需的子集,从而实现了数据共享。一个完整的数据库系统除了包括可以共享的数据库(后台数据库)外,还包括用于处理数据的数据库应用系统(前台应用程序)。并且介绍了使用Recordset对象连接与访问数据库的记录。 第3章 系统设计 3.1 系统总体结构 本系统是一个图书管理系统,那么它应该具备用户登录,用户基本信息,管理员借还书、增加书,图书超级管理员管理系统信息四大基本功能,从这四个基本功能出发,确定了本系统所应包含的五个子系统为登录模块,查询模块,借书模块,还书模块,用户基本信息模块,其结构如下: 3.2各子系统功能划分 在确定本系统的基本结构后,本系统划分的五个子系统的功能如下: 登录子系统 : 它主要提供管理员登录功能,当管理员输入账号和密码时,当密码错误时。则系统提示密码错误,要求重试密码登陆,当输入密码正确时,就可以进入管理界面,登陆后,管理员就可以对借阅者的基本信息进行查看,并且可以增加、删除借阅者信息,还可以增加、删除图书信息,管理员拥有最大权限。 用户基本信息: 这里边主要是借阅者的基本信息,在这里边可以查看到借阅者的基本信息,已借多少本书,还可以借多少本书。 图书查询: 它主要是查询图书的基本信息,包括现存的此一类图书总数,借出去多少本,图书书名,所属大类,图书的价格,图书的编号,图书作者,出版社。 借书系统: 它主要是查询借阅者的信息,你可以输入读者的编号,就可以查询到此读者的姓名、读者的职务、可借本数,已借本数,逾期未还本数、图书编号、图书名称这些内容。并且还可以增加读者信息,删除读者信息。 还书系统: 这里边主要是查看借阅者的信息,查看借阅者已借的书目,通过输入读者编号就可以查出所借的图书。 3.3 本章小结 本章主要介绍系统的大体结构框图以及各个子系统的功能,这样我们可以大概的制作各个子系统,制作完成后,通过程序把它们连起来。 第4章 系统的实现 本系统由五个子系统构成,它们分别是登录模块,查询模块,借书模块,还书模块,用户基本信息模块,下边逐个介绍各个子系统的实现。 4.1 登陆模块 管理员登陆子系统主要是提供管理员的登陆功能,当管理员登陆后就可以实现对系统的操作和管理,其登陆界面如下: 首先打开Visual Basic 6.0,然后选择默认“标准.EXE”,然后点新建,就可以建立一个新工程,然后就可以在新建的工程上边设置命令按钮(Command Button)、文本框(Text Box)、框架(Frame)等等,然后双击命令按钮就可以弹出程序设计框,然后在设计框中对相应的命令按钮进行编程。 实现过程为:VB和用户之间的直接交互是通过Input函数,MsgBox函数和MsgBox过程进行的.这里我应用的是MsgBox函数和MsgBox过程. InputBox函数的语法: 变量名=InputBox[$]( [, ][, ] [, ][, ] ) MsgBox函数和MsgBox过程语法: 函数形式: 变量[%] = MsgBox(提示[,按钮[+图标]+[缺省按钮]+[模式]][,标题]) 过程形式: MsgBox 提示[,按钮[+图标] +[缺省按钮]+[模式]][,标题]其中: “提示”和 “标题”:意义与InputBox函数对应的参数相同. “按钮”:整型表达式,决定信息框按钮的数目和类型及出现在信息框上的图表类型. MsgBox的作用是打开一个信息框,等待用户选择一个按钮. 实现登陆子系统的程序如下: Private Sub cmdOk_Click() Dim I As Integer If txtPas.Text = "dingding" Then form1.Hide form3.Show Else I = MsgBox("密码错误", 5 + vbExclamation, "输入密码") txtPas.Text = "" txtPas.SetFocus End If txtPas.Text = "" End Sub Private Sub Form_Load() txtPas.Text = "" End Sub Private Sub Command2_Click() End End Sub 4.2 登入选择界面 登入选择界面是当管理员登陆后看到的界面,这时候的界面上有4个按钮,分别是用户基本信息按钮、图书查询按钮、借书系统按钮、还书系统按钮,管理员可以进行选择,选择他所要进行操作的子系统,点击选项就可完成操作.其界面如下图: 实现过程: 这里所应用到的是多重窗体的问题. 显示对话框是用Show方法,对话框分两种类型,即模式的和无模式的.Show方法用来显示一个窗体,它兼有加载和显示窗体两种功能,也就是说,在执行Show时,如果窗体不存在内存中,则Show自动把窗体装入内存,然后再显示出来,其形式如下: [窗体名称].Show[模式] 其中,“模式”用来确定窗体的状态,有0和1两个值,若为1,则表示窗体是 “模式型”,用户无法将鼠标移到其他窗口,若为0,表示窗体是 “非模式型”,可以对其他窗口进行操作, “模式”的缺省值为0. “窗体名称”缺省时为当前窗体. 将窗体暂时隐藏的方法是Hide方法:该方法将窗体暂时隐藏,但并没有从内存中删除,其形式如下: [窗体名称.]Hide(注: “窗体名称”缺省时为当前窗体.) 其程序如下: Private Sub Command1_Click() form3.Hide Form6.Show End Sub Private Sub Command2_Click() form3.Hide form2.Show End Sub Private Sub Command3_Click() form3.Hide Form4.Show End Sub Private Sub Command4_Click() form3.Hide Form5.Show End Sub Private Sub Command5_Click() form3.Hide form1.Show End Sub Private Sub Image1_Click() End Sub 4.3 图书管理系统 图书管理系统实现的内容主要有对图书信息进行整理,分类,标价,编号等,当点击“查找”按钮时,在弹出的对话框输入要查找的图书编号,则显示图书相对应的一系列信息。点击“向前”“向后”按钮时,则分别显示前一本或后一本图书的相应信息。“增加”与“删除”按钮是实现对图书的信息进行增加或者减少。“修改”按钮是实现对图书一系列信息进行编辑。“取消”按钮的功能是当点击增加或减少准备进行操后想放弃此操作,则它可以实现放弃修改功能。点击“退出系统”按钮则返回上一界面。其界面如下图: 实现过程:本部分进行数据库纪录的增加删除和修改的操作 数据库记录的增删改操作通过AddNew、Delete、Edit、Update、Refresh方法。 AddNew方法将记录增加到表格中,它分为三步进行操作(1)、调用AddNew方法。(2)、给各字段赋值。起赋值格式为:Recordset.Fields(“字段名”)=值。(3)调用Update方法,确定所做的添加,将缓冲区内的数据写入数据库。删除记录的操作也分为三步:(1)定位被删除的记录使之成为当前记录。(2)调用Delete方法。(3)移动记录指针。同样也可以通过程序代码来修改记录,它也分为四步来完成:(1)定位要修改的记录使之成为当前记录。(2)调用Edit方法。(3)给各字段赋值。(4)调用Update方法,确定所做的修改。如果要放弃对数据库的所有修改,可用Refresh方法,重读数据库,刷新记录集。由于没有调用Update方法,数据的修改没有写入数据库,所以这样的记录会在刷新记录集时丢失。 实现程序如下: Private Sub Command1_Click() Data1.Recordset.MovePrevious If Data1.Recordset.BOF Then Data1.Recordset.MoveLast End Sub Private Sub Command2_Click() Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End Sub Private Sub Command3_Click() On Error Resume Next Command4.Enabled = Not Command4.Enabled Command5.Enabled = Not Command5.Enabled Command6.Enabled = Not Command6.Enabled Command7.Enabled = Not Command7.Enabled If Command3.Caption = "新增" Then Command3.Caption = "确认" Data1.Recordset.AddNew Text1.SetFocus Else Command3.Caption = "新增" Data1.Recordset.Update Data1.Recordset.MoveLast End If End Sub Private Sub Command4_Click() On Error Resume Next Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End Sub Private Sub Command5_Click() On Error Resume Next Command3.Enabled = Not Command3.Enabled Command4.Enabled = Not Command4.Enabled Command6.Enabled = Not Command6.Enabled Command7.Enabled = Not Command7.Enabled If Command5.Caption = "修改" Then Command5.Caption = "确认" Data1.Recordset.Edit Text1.SetFocus Else Command5.Caption = "修改" Data1.Recordset.Update End If End Sub Private Sub Command6_Click() On Error Resume Next Command3.Caption = "新增": Command5.Caption = "修改" Command3.Enabled = True: Command4.Enabled = True Command5.Enabled = True: Command6.Enabled = False Command7.Enabled = True Data1.UpdateControls Data1.Recordset.MoveLast End Sub Private Sub Command7_Click() Dim mno As String mno = InputBox$("请输入图书编号", "查找窗") Data1.Recordset.FindFirst "图书编号='" & mno & "'" If Data1.Recordset.NoMatch Then MsgBox "无此图书编号!", , "提示" End Sub Private Sub Command8_Click() form2.Hide form3.Show End Sub 4.4 借书系统 借书系统主要实现的是有管理员对读者的借书记录进行登记和清除.当点击“查找读者编号”按钮,输入读者编号后,显示该读者所借图书的相关信息与读者自身信息。“增加读者信息”、“删除读者信息”按钮是对读者的增加或减少时进行编辑。“退出”按钮的功能是是实现返回到上一界面。其系统界面如下: 其编写程序如下: Private Sub Command1_Click() Dim mnp As String mnp = InputBox$("请输入读者编号", "查找窗") Data1.Recordset.FindFirst "读者编号='" & mnp & "'" If Data1.Recordset.NoMatch Then MsgBox "无此读者编号", , "提示" End Sub Private Sub Command2_Click() On Error Resume Next Command1.Enabled = Not Command1.Enabled Command3.Enabled = Not Command3.Enabled If Command2.Caption = "增加读者信息" Then Command2.Caption = "确认" Data1.Recordset.AddNew Text6.SetFocus Else Command2.Caption = "增加读者信息" Data1.Recordset.Update Data1.Recordset.MoveLast End If End Sub Private Sub Command3_Click() On Error Resume Next Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End Sub Private Sub Command4_Click() Form4.Hide form3.Show End Sub 4.5 用户管理系统 用户管理系统主要有管理员对借阅者信息进行管理,包括读者资料,职务,可借数目等等信息。 管理员所要操作的用户管理系统界面如下: 实现过程:这个部分我们就不用建立一个新的数据库,而在做的环节中,我们可以直接调用借书系统的数据库,因为这几部分是一个整体,所有的信息都存在于LIANGYICHAO.MDB中。 这里还存在一个查找方法:即搜索条件是指定字段值与常量关系的字符串表达式,除了可用普通的关系运算符组成,还可以用Like运算符号组成。 下列语句: Data1.Recordset.FindFirst "读者编号='" & mnp & "'" 这里,符号&为字符串连接运算符,其两边必须加空格,这表示的是条件部分的常数来自变量,例如:mnp=“读者编号”。 其他控键的实现和借书系统一样。 实现程序如下: Private Sub Command1_Click() Dim mnp As String mnp = InputBox$("请输入读者编号", "查找窗") Data1.Recordset.FindFirst "读者编号='" & mnp & "'" If Data1.Recordset.NoMatch Then MsgBox "无此读者编号", , "提示" End Sub Private Sub Command2_Click() On Error Resume Next Command1.Enabled = Not Command1.Enabled Command3.Enabled = Not Command3.Enabled Command4.Enabled = Not Command4.Enabled If Command2.Caption = "增加读者信息" Then Command2.Caption = "确认" Data1.Recordset.AddNew Text6.SetFocus Else Command2.Caption = "增加读者信息" Data1.Recordset.Update Data1.Recordset.MoveLast End If End Sub Private Sub Command3_Click() On Error Resume Next Command1.Enabled = Not Command1.Enabled Command2.Enabled = Not Command2.Enabled Command4.Enabled = Not Command4.Enabled If Command3.Caption = "删除读者信息" Then Command3.Caption = "确认" Data1.Recordset.AddNew Text6.SetFocus Else Command3.Caption = "删除读者信息" Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End If End Sub Private Sub Command4_Click() Form6.Hide form3.Show End Sub 4.6 还书系统 还书系统主要由管理员对借阅者的还书记录进行登记和清除。 管理员所要操作的还书系统界面如下: 实现过程:同样,还书系统部分同用户管理系统部分类似,这里数据库也是引用借书系统的数据库LIANGYICHAO.MDB,具体的实现可以参考借书系统的数据库的建立,在这里我们不需要新建 ,而是直接打开数据库文件LIANGYICHAO.MDB就可。其他的控键也可参考借书系统以及用户管理系统所描述的部分。 实现程序如下: Private Sub Command1_Click() Dim mnp As String mnp = InputBox$("请输入读者编号", "查找窗") Data1.Recordset.FindFirst "读者编号='" & mnp & "'" If Data1.Recordset.NoMatch Then MsgBox "无此读者编号", , "提示" End Sub Private Sub Command2_lost() Data1.DatabaseName = "D:\借还书系统,勿删\梁艺超\JIESHU.MDB" Dim db As Database, sql As String Set db = OpenDatabase("D:\借还书系统,勿删\梁艺超\JIESHU.MDB") Data1.Refresh End Sub Private Sub Command3_Click() Form5.Hide form3.Show End Sub 4.7 本章小结 本章主要详细介绍了各个子系统的实现过程,并且对各个子系统的实现程序做了一一的编写。 千万不要删除行尾的分节符,此行不会被打印。“结论”以前的所有正文内容都要编写在此行之前。 结 论 经过我们整个小组的努力,在两周的时间内,我们做完了我们的任务课题------资料室借还书系统。 由于Visual Basic是大二学的,现在大四了,不免对它有一些生疏,拿到课题后,我们就对Visual Basic进行了重新的学习和复习。通过查资料,请教老师等确立了我们这个系统的大概框架。在做的过程中,通过慢慢的摸索,我们逐渐明确了我们做的这个系统的整体框架,整个系统做下来,已经达到实验任务书的要求,即它可以实现:1.用户基本信息管理功能,包括用户信息添加,修改,删除 2.图书管理功能,包括图书信息管理的各个环节,可以实现图书信息的添加,修改,删除以及分类等 .3.图书的借还管理功能,可以实现图书借出记录和归还记录的管理。资料室借还书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库;而对于后者则要求应用程序功能完备,易使用等特点。 此次课程设计由于所学的知识和个人能力的有限,我们做的系统相对于专业计算机人员来说,就显得相形见拙起来。希望以后加大自己的知识面。 由于所学的知识和个人能力的有限,我们做的系统相对于专业计算机人员来说,就显得低端了一些,像我们依照数据库的查找仅仅是由读者信息一个条件进行查找的,尚未实现多对多的交叉查询,这是我们面临过而未解决的问题,虽然我们另辟小径同样达到了我们要求的目的,但是仍然感觉到自己知识和能力的有限,这是一个很现实的问题,所以在以后的学习工作和生活中,要时刻对自己进行充电。不要自己写,要利用word来自动生成。详情请看最后一页 致 谢 经过为期两个星期的专业综合课程设计,我们的任务取得了圆满的成功,这功劳属于我们组每一个人努力的结果,同时也感谢在课设中帮助我们的老师和同学们。 在这里,我首先要感谢系里给我们提供一次综合课程设计机会,再者衷心的感谢龙光利老师、王战备老师、赵峰老师、侯宝生老师以及薛转花老师在课程设计期间对我们的热心指导和帮助,老师们严格的教学态度令我们很是感动。在这里我要特别感谢我们组课程设计的负责老师王战备老师,在我们做课设期间,王战备老师为我们解答问题,没有他我们就很难顺利完成此次课设。同时我在这也要感谢任红娇同学对我们的无私帮助。同样,也要感谢我们组的丁志刚、梁艺超同学,正由于我们的团结合作,也是此次课设顺利完成的一大因数。 参考文献 [1] 龚沛曾、陆慰民、杨志强 ·《VISUAL BASIC程序设计教程》· 北京高等教育出版社 · 2000.07 [2] 丁宝康·《数据库原理》 · 北京.经济科学出版社 · 2001.08 [3] 李雁翎·《Visual Basic6.0实验指导、习题集与系统开发案例》· 北京.高等教育出版社 ·2002.12<br />