唐 山 学 院毕 业 设 计设计题目:信息工程系图书管理系统 系 别: 信息工程系 班 级: 10电气自动化2班 姓 名: 贾建辉 指 导 教 师: 张国旭 2013年5月25日信息工程系图书管理系统摘 要随着计算机的普及以及知识信息化的变革,图书馆作为知识传播的一个机构也逐渐的采用系统化、信息化的管理基于计算机技术的图书管理系统就是计算机应用技术的一个创新,传统的图书管理都是由图书管理员手工记录,查阅,操作过程繁琐并且浪费了大量的人力物力时下一般的图书馆采用的图书管理系统都是以计算机作为工具的实用的计算机图书管理程序来帮助图书馆管理员进行更快捷高效的图书管理图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面对于前者要求建立起数据一致性和完整性强、数据安全性好的库而对于后者则要求应用程序功能完备,易使用等特点 关键字:图书管理 信息管理系统 数据库 数据安全Information Engineering Library Management SystemAbstract With the popularity of computers and knowledge of information technology revolution, the library as an institution but also the dissemination of knowledge gradually adopt systematic information management. Computer-based library management system technology is an innovative computer application technology, traditional books are managed by the librarian manual records, inspection, operation process cumbersome and waste a lot of manpower and resources. Nowadays generally used library book management system are based on the computer as a tool for computer library management procedures to help librarians be more fast and efficient library management.Book Management System is a typical management information system (MIS), including the development of its background of the establishment and maintenance of the database front-end applications, as well as the development of both. The former set up the requirements for data integrity and consistency of strong data security a good library. For the latter applications require full-featured and easy to use and so on. Keywords: Library Management ,Information Management System ,Database ,Data Security目录1 引言 12 系统开发工具 22.1 Visual Basic6.0 概述 22.11 Visual Basic6.0 的发展 22.12 Visual Basic 的特点 32.13 Visual Basic 主要控件及其属性 42.2 Microsoft Access 的概述 62.21 Microsoft Access 特性 72.3 SQL语言概述 83 系统的总体分析 93.1 任务要求 93.2 系统功能 93.3 系统功能模块图 94 数据库的设计 104.1 数据库设计分析 104.2数据库的设计 124.3数据库的连接 165系统设计以及代码编写实现 165.1登陆界面 165.2图书管理系统主界面 175.3图书管理 175.31书籍信息管理 175.32书籍类别管理 185.4读者管理 195.41读者信息管理 195.42读者类别管理 195.5借阅信息管理 205.6书籍归还信息管理 205.7 系统用户信息 216系统的运行调试 227总结 23谢辞 24参考文献 25附录 261 引言随着计算机技术的飞速发展,当今时代已进入了信息时代。
计算机的普遍应用也使得人们的生活更加的便捷,日常应用更加简便这些也都归功于计算机强大的运算能力与信息存储能力这也正是计算机被广泛应用于信息管理系统的一个原因使用计算机对信息进行存储、分类、并控制,安全、高效,并且减少了大量的人力物力鉴于图书馆的书籍管理与读者的借阅管理繁琐,所以开发本系统用于对图书的管理、借阅、分类,读者信息的管理、读者借阅图书记录,以及管理员信息管理和权限的维护本设计采用Visual Basic6.0作为系统开发软件Visual Basic(简称VB)是近年来在国内外得到迅速推广应用的可视化程序设计语言,具有简单易学,功能强大,软件费用支出低,见效快等特点利用Visual Basic可视化,面向对象,事件驱动,沿用结构化的程序设计思想等的特点,使图书管理系统实现图书的人性化管理,解决图书和用户借阅资料繁多,数据信息处理工作量大,容易出错;数据繁多,容易丢失,且不易查找;缺乏系统,规范的信息管理手段等的缺点问题2 系统开发工具本图书管理系统采用Microsoft公司的 Visual Basic6.0为开发工具,利用其提供的各种面向对象的可视化开发平台作为开发工具来开发这款简洁的系统。
并且根据系统功能的要求,本系统数据库采用Microsoft Access,它不但适合工作的要求,而且它所支持的数据类型十分丰富,维护简单,费用较低,人员素质要求不是很高,容易升级并且本系统在使用visual basic 6.0及Microsoft access的同时,也运用到了SQL语言2.1 Visual Basic6.0 概述VisualBasic 6.0是一种由微软公司开发的包含协助开发环境的事件驱动编程语言它源自于BASIC编程语言VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件Visual Basic(简称VB)是近年来在国内外得到迅速推广应用的可视化程序设计语言,具有简单易学,功能强大,软件费用支出低,见效快等特点它提供了开发Windows应用程序最迅速,最简捷的方法,不但是专业人员得心应手的开发工具,而且易于被非专业人员掌握使用[6]可视化,面向对象,事件驱动,沿用结构化的程序设计的思想等的特点使得VB得到广大程序编辑这的青睐使用Visual Basic语言进行编程时会发现,在Visual Basic中无须编程即可完成许多操作。
因为在Visual Basic中引入了控件的概念,在Windows中控件的身影无处不在,如按钮、文本框等,Visual Basic把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观和工作方法,并且能够响应用户操作(事件)使复杂枯燥的的编程变得简单富有乐趣2.11 Visual Basic6.0 的发展1991年,微软公司推出了Visual Basic 1.0版这在当时引起了很大的轰动这个连接编程语言和用户界面的进步被称为Tripod(有些时候叫做Ruby),最初的设计是由阿兰·库珀(Alan Cooper)完成的许多专家把VB的出现当做是软件开发史上的一个具有划时代意义的事件在当时,它是第一个“可视”的编程软件这使得程序员欣喜之极,都尝试在VB的平台上进行软件创作微软也不失时机地在四年内接连推出VB2.0,VB3.0,4.0三个版本并且从VB3开始,微软将ACCESS的数据库驱动集成到了VB中,这使得VB的数据库编程能力大大提高从VB4开始,VB也引入了面向对象的程序设计思想VB功能强大,学习简单而且,VB还引入了“控件”的概念,使得大量已经编好的VB程序可以被我们直接拿来使用。
2002年Visual Basic .NET 2002 (v7.0)问世,2003年Visual Basic .NET 2003 (v7.1)问世,2005年11月7日Visual Basic 2005 (v8.0)问世,同时间推出Visual Basic 2005的免费简化版本Visual Basic 2005 Express Edition给Visual Basic初学者及学生使用VB 2005的“显著”优点是,可以直接编写出XP风格的按钮,以及其他的控件但是其编写的小程序占用近10MB的内存2007年12月,微软推出了Visual Studio 2008 Beta 2 (v9),在代码输入上可比VB2005快很多,在非特殊的情况下,VB2008会自动开启、自动完成关键字,而且支持最新的.NET Framework 3.5 Beta 2 通过几年的发展,它已成为一种专业化的开发语言和环境用户可用Visual Basic快速创建Windows程序,现在还可以编写企业水平的客户端/服务器程序及强大的数据库应用程序2.12 Visual Basic 的特点1.可视化编程visual Basic为用户提供了大量的界面元素(在Visual Basic中称为控件),如窗体、菜单、命令按钮等,用户只需要利用鼠标或键盘把这些控件拖动到适当的位置,再设置它们的外观属性等,即可设计出所需的应用程序界面。
Visual Basic还提供了易学易用的集成开发环境,该环境集程序的设计、运行和调试为一体,在本章后面的小节中将对集成开发环境进行详细的介绍2.事件驱动机制Windows操作系统出现以来,图形化的用户界面和多任务多进程的应用程序要求程序设计不能是单一性的,在使用Visual Basic设计应用程序时,必须首先确定应用程序如何同用户进行交互例如,发生鼠标单击、键盘输入等事件时,用户必须编写代码控制这些事件的响应方法这就是所谓的事件驱动编程3.面向对象的程序设计语言Visual Basic 6.0是支持面向对象的程序设计语言它不同于其他面向对象的程序设计语言,且不需要编写描述每个对象的功能特征的代码,因为这些代码都已经被封装到各个控件中了,用户只需调用即可4.支持多种数据库访问机制Visual Basic 6.0具有强大的数据库管理功能利用其提供的ADO访问机制和ODBC数据库连接机制可以访问多种数据库,如Access、SQL Server、Oracle、MySQL等2.13 Visual Basic 主要控件及其属性1.标签框类的控件主要属性:属性功能介绍Caption在应用程序界面上加入说明Autosize决定控件是否自动改变大小以显示其全部内容Backstyle用以指示标签是否透明Bordstyle用以设定控件是否有边框2.文本框类的控件主要属性:属性功能介绍Text通过像text属性赋值的方法来改变该属性的值Maxlength该属性设定在文本框控件中能够输入的最大字符数Multline该属性设定text字符串中是否接受换行符Scrollbars该属性决定是否为文本框加滚动条Passwordchar该属性设定输入文本的特殊显示字符,在设计密码程序时非常有用Alignment设定控件中的文本对其方式Appearance设定一个对象在运行时是否可以3D效果显示BackColor设置返回背景色BorderStyle设置对象的边框样式DataField设定数据使用者将被绑定到的字段名DataFormat设定DataFormat对象,用于数据绑定DataMember从数据供应程序提供的几个数据成员中返回/设定一个特定的数据成员DataSource设定控件绑定的一个数据源DragIcon设定图标,它将在拖放操作中作为指针显示Enabled设置/返回运行时TextBox是否相应用户事件Font设置/返回字体属性ForeColor设置/返回文本的前景色Height设置/返回TextBox的高度IMEMode设置/返回数值用来确定输入方法编辑器的状态Index设置/返回唯一的标识控件数组中该控件的编号Left设置/返回TextBox控件的水平位置Locked设置/返回TextBox中文本是否可编辑LinkItem设置/返回DDE与另一个应用程序会话时,传给接受端的数据MaxLength设置/返回一个值,指定在TextBox控件中能够输入的字符最大值MouseIcon设置/返回自定义鼠标的图标Top设置/返回TextBox控件的垂直位置Tag存储过程所需的附加数据3.单选按钮类的控件主要属性:属性功能介绍caption显示在控件上的文本,是单选按钮的标题Alignment决定单选按钮的标题在控件上的位置Enable该控件为灰色时为false,表示运行时不可用Index属性值表示为单选按钮组成的控件中某个按钮的索引值Tabindex建立控件时,vb自动为其分配一个tabindex值,利用tab键可以在控件之间切换焦点。
Value反映控件状态的属性,返回true表示已选择了该按钮Appearance设置/返回一个对象在运行时是否以3D效果显示BackColor设置/返回背景色DataField设置/返回数据使用者将被绑定到的字段名DisabledPicture设置/返回一个对图像的引用,该图片在控件无效时显示在控件中DownPicture设置/返回一个对图片的引用,该图片在控件单击下处于压下状态时显示Font设置/返回字体属性FontBold设置/返回字体粗体样式FontName设置/返回控件中显示文本所用的字体大小FontSize设置/返回控件中显示文本所用的字体大小Height设置/返回控件的高度MousePointer设置/返回一个值,该值指示在运行时当鼠标移动到对象上时显示的指针类型4. 框架类的控件主要属性:属性功能介绍List列表框控件的表项是使用数组的方式保存,数组的每一个元素存储列表控件的一个表项Listcount控件列表部分项目的个数Mutselect可以设置列表框为单选或允许多选属性Selectd表示一个数组,数组各元素组为: Selected(0),selected(1)……5. 滚动条类的控件主要属性:属性功能介绍Value滚动条上滑块所在位置由value值所决定Max和min对value值的最大,最小进行限制Largechange用户点击滚动条与键头之间的区域时,value的改变量6. 定时器类类的控件主要属性:属性功能介绍Interval表示定时的时间间隔,以毫秒为单位Enable为true时(缺省值),激活定时器开始计时;为false时处于休眠状态7.命令按钮类的控件主要属性:属性功能介绍Caption用来显示在控件上的标题Enable控制控件的激活状态灰色或可用Appearance值为1时,则以3D效果显示该控件,0则不然Backcolor用来改变在按钮上显示图像的背景色Cancel该属性决定按钮是否为一个”取消”按钮Default决定哪一个命令按钮控件是窗体的缺省命令按钮Font控制各种文字字体类型Left,top,height width设定控件的位置与大小设定控件宽度Style,picture决定按钮的显示方式是否为图像形式出现Visible确定控件运行时是否为可见Index当控件为一控件数组时,此属性值为该控件在数组的下标值DownPicture设置/返回一个对图片的引用,该图片在按钮被单击处于压下状态时显示DisabledPicture设置/返回一个对图片的引用,该图片在控件无效时显示在控件中MaskColor设置/返回一个在按钮的图片中作为“掩码”的颜色Picture设置返回commandButton控件中要显示的图片2.2 Microsoft Access 的概述Microsoft Access(Microsoft Office Access)是由微软发布的关联式数据库管理系统。
它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是Microsoft Office的成员之一 Assess能够存取 Access/Jet、Microsoft SQL Server、Oracle,或者任何 ODBC 兼容数据库内的资料熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"进阶用户"则能使用它来开发简单的应用软件2.21 Microsoft Access 特性Access的优点:(1)存储方式单一 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理 (2)面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
(3)界面友好、易操作 Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握 (4)集成环境、处理多种数据信息 Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行 (5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等Access还可以将程序应用于网络,并与网络上的动态数据相联接利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用 ACCESS的缺点:ACCESS是小型数据库,既然是小型就有他根本的局限性,以下几种情况下数据库基本上会吃不消: 1.数据库过大,一般ACCESS数据库达到50M左右的时候性能会急剧下降! 2.网站访问频繁,经常达到100人左右的。
3.记录数过多,一般记录数达到10万条左右的时候性能就会急剧下降!2.3 SQL语言概述SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统同时也是数据库脚本文件的扩展名SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的接口它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句 结构化查询语言(Structured Query Language)最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。
SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用如今无论是像Oracle、Sybase、Informix、SQL Server这些大型的数据库管理系统,还是像Visual Foxpro、PowerBuilder这些PC上常用的数据库开发系统,都支持SQL语言作为查询语言 美国国家标准局(ANSI)与国际标准化组织(ISO)已经制定了SQL标准ANSI是一个美国工业和商业集团组织,负责开发美国的商务和通讯标准ANSI同时也是ISO和International Electrotechnical Commission(IEC)的成员之一ANSI 发布与国际标准组织相应的美国标准1992年,ISO和IEC发布了SQL国际标准,称为SQL-92ANSI随之发布的相应标准是ANSI SQL-92ANSI SQL-92有时被称为ANSI SQL尽管不同的关系数据库使用的SQL版本有一些差异,但大多数都遵循 ANSI SQL 标准SQL Server使用ANSI SQL-92的扩展集,称为T-SQL,其遵循ANSI制定的 SQL-92标准 SQL语言包含4个部分: 1. 数据定义语言(DDL),例如:CREATE、DROP、ALTER等语句。
2.数据操作语言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(删除)语句 3. 数据查询语言(DQL),例如:SELECT语句这也是本系统中运用到的sql语句 4.数据控制语言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句 SQL语言包括三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML)及数据控制语言(DCL)3 系统的总体分析3.1 任务要求实现图书添加、删除、查询等功能的管理系统的基础上,录入并整理信息系图书资源整个图书管理大体流程:1.新的图书购进后,录入图书的相关信息,并进行分类编号2.新书录入完成,将图书放置在其相应的书架上,以供老师同学们借阅3.如某学生或老师需要借阅图书时,图书管理员将其与图书的信息记录在本系统上,方便管理员的管理3.2 系统功能· 借阅管理实现的借书和还书功能· 书籍管理:书库管理和图书类别设置功能· 书籍管理:对图书进行查询,添加,删除,修改· 读者管理:对读者进行查询,添加,删除,修改· 读者查询可以对图书进行查找并可以对借阅情况进行查询。
· 用户管理可以添加用户,并且可以修改用户密码3.3 系统功能模块图根据本系统的设计要求,再结合软件工程中软件设计的概念和原理,由此画出图书管理系统的系统功能模块图如图3-1所示:用户管理权限设置修改密码退出系统系统管理借书管理还书管理借阅管理图书类别图书查阅图书信息借阅信息图书管理计算机图书管理系统用户登录读者类别读者信息借阅信息读者管理图3-1 图书管理系统功能模块图4 数据库的设计4.1 数据库设计分析根据系统的设计要求绘制数据库的E-R图其图如下所示:读者信息姓名备注编号性别通信地址联系出生年月图4-1 读者信息E-R书籍信息简介定价备注ISBN出版日期作者出版社版本名称编号图4-2图书信息E-R读者类别读者编号读者类别图4-3读者信息E-R借阅信息读者姓名书籍名称借阅时间读者姓名读者姓名图4-4借阅信息E-R归还信息读者姓名书籍名称借阅时间读者姓名读者姓名图4-5归还信息E-R用户信息用户密码图4-6用户信息E-R书籍类别书籍编号书籍类别图4-7书籍类别E-R4.2数据库的设计依据数据库的原理,结合以上E-R图,经过转化,即可进行数据库的物理设计基于以上数据库的逻辑设计,考虑程序设计的简易性,该系统的数据库采用Microsoft access,本系统总共创建七个表,其结构分别如下:1.读者信息表,其设计的结构图如下图4-8所示图4-8读者信息表2.图书信息表,如下图4-9所示图4-9图书信息表3.读者类别表,如下图4-10所示图4-10读者类别表4.借阅信息表,如下图4-11所示:图4-11借阅信息表5.归还信息表,如下图4-12所示:图4-12归还信息表6.用户信息表,如下图4-13所示:图4-13用户信息表7.书籍类别表,如下图4-14所示:图4-14书籍类别表4.3数据库的连接Visual basic6.0连接数据库的主要方式以下几种方式:一是:用data控件进行数据库链接 二是:利用adodc(ADO Data Control)进行数据库链接三是: 利用DataEnvironment进行数据库链接。
四是:利用ADO(ActiveX Data Objects)进行编程本设计系统采用的是data控件进行的数据库连接,下面介绍一下用data控件进行数据库的链接的过程:第一步:给窗体添加一个Data控件第二步:用Access建立一个名为Pad的数据库,在库中建立一个表Myset,给表添加四个字段:backcolor(数据),forecolor(文本),fontname(文本),fontsize(文本)注意:请将库文件存入程序所在目录如果你的机器没安装有Access,可通过VB建库5系统设计以及代码编写实现5.1登陆界面登陆界面如图5-1所示图5-1登陆界面1填写用户名和密码并选择用户身份2用户名和密码验证正确后进入系统3跳出提示:欢迎使用本系统!5.2图书管理系统主界面系统的主界面如下图图5-2图5-2系统主界面主界面分为七个模块:借阅信息管理、归还信息管理、书籍信息管理、书籍类别管理、读者信息管理、读者类别管理、系统用户管理在下面会对各个模块进行介绍5.3图书管理5.31书籍信息管理书籍信息管理窗口如下图5-3所示图5-3书籍信息管理1 点击添加按钮,添加新的书籍,然后点保存按钮2 点击修改按钮,对当前选择的书籍进行书籍信息更改,然后保存。
3 点击删除按钮,删除当前选择的书籍4点击查询按钮可以按书籍编号或书籍名称查询要找的书籍5.32书籍类别管理书籍类别窗口如下图图5-4图5-4书籍类别5.4读者管理5.41读者信息管理读者信息管理窗口如图5-5所示图5-5读者信息管理窗口此窗口能够实现对读者信息的添加,修改查询等操作5.42读者类别管理读者类别管理窗口如下图5-6所示:图5-6读者类别窗口5.5借阅信息管理借阅信息管理窗口如下图5-7所示:图5-7借阅信息管理窗口借阅信息管理窗口实现管理员对读者书籍借阅的管理,当读者借阅图书时,先查找到该读者,找到该读者时读者信息会显示在左下角的读者详细信息窗口上,点击添加按钮,然后在找到该读者要借阅的图书,书籍信息会显示在书籍详细信息窗口上,该书籍的名称会显示在借阅信息窗口上,借阅时间自动生成,手动输入归还期限,点击保存,该图书借出成功,信息会显示在借阅信息一览表上5.6书籍归还信息管理书籍归还信息管理窗口如下图5-8所示:图5-8书籍归还信息管理窗口书籍归还时找到相应的读者,读者借阅图书的信息显示在借阅记录显示窗口,点击添加并手动输入归还时间,点击保存,书籍归还成功归还的记录显示在归还信息一览表中。
5.7 系统用户信息系统用户信息设置窗口如下图5-9所示:图5-9系统用户信息设置窗口系统用户信息设置是针对系统管理员与普通用户登录本系统而设计的,系统管理员的权限是对本系统的整体操作,而普通用户只能对书籍进行查询,别的 操作都是不允许的6系统的运行调试代码编写成功后将系统的工程文件生成 .exe的文件即最后可运行的软件程序运行“图书管理系统.exe”,进入登录界面,输入用户名和密码并选择用户身份以系统管理员的身份进入系统,登录成功后进入系统的主界面录入图书信息,读者信息,图书类别信息,读者类别信息等信息后,操作本系统进行书籍的查阅,书籍借阅,书籍归还等操作,本系统能够完整的按照设计要求运行满足设计要求7总结此次的毕业设计我们采用的编程软件是Visual Basic6.0,数据库为Microsoft access,用Visual Basic6.0的data控件将开发系统与数据库Access进行的连接,最后开发出本图书管理系统,系统运行稳定,维护简单,费用较低通过这次的毕业设计,我大体理解了软件开发的步骤与流程,也学会了Visual Basic6.0开发软件的编程,由于VB 的程序是一种基于窗体的可视化组件安排的联合,并且增加代码来指定组件的属性和方法,默认的属性和方法已经有一部分定义在了组件内, 所以编写程序时不用太多代码就可以将本系统开发出来。
在开发本管理系统时发现自己在编程设计上还有很多不足,例如知识储备方面的不足,所以以后还需积极地学习所欠缺的知识,增加编程的实践相信只要自己能够努力的学习就一定会有所收获谢辞在此我要感谢在这次毕业设计中给予过我帮助的老师和同学,在老师的指导与同学们的帮助下我才能顺利的将本系统设计出来感谢我们的指导老师张国旭老师,在张老师耐心负责的指导下,我们才能将毕业设计顺利完成,在张老师这我也学到了做事要认真,勤于思考,只有严谨的对待每件事才能将事情做好团队的齐心合作也是本毕业设计成功的关键,在大家一同努力解决问题,提出系统改进想法并将想法实现的工程中,使我们都学会了团队合作的重要性再次感谢我们的张老师,以及我们组的每一位成员参考文献[1]Michael Halvorson.Visual Basic 2008从入门到精通[M].北京清华大学出版社.2008[2]陈紫红 安剑.Visual Basic项目开发全程实录[M].北京清华大学出版社.2008[3][4]Visual Basic 6.0 信息管理系统开发[M].人民邮电出版社.2005[5]Visual Basic 控件编程百例通[M].科学出版社.2002.[6]VB程序设计[M].人民交通出版社.2004.[7] VBScript程序员参考手册(第3版)[M].清华大学出版社.2009[8] Visual Basic编程典型实例解析[M].中国水利水电出版社.2007[9] VB数据库项目设计模块化教程[M].机械工业出版社.2009附录系统书籍信息管理的代码Dim isAdd As Boolean '用于判断当前是添加还是修改操作Dim IsCh As BooleanPrivate Sub CmdAdd_Click()If IsCh = True Then If MsgBox("是否放弃修改操作?", vbYesNo + vbQuestion, "系统提示") = vbNo Then Exit Sub Else IsCh = False End IfEnd IfAllClearMsgBox "请输入要添加的相关信息,然后点击‘保存’按钮进行保存!", vbInformation, "系统提示"TxtNo.SetFocusCmdOk.Enabled = TrueisAdd = TrueEnd SubPrivate Sub CmdALL_Click()D2.RecordSource = "select 书籍编号,书籍名称,书籍版本,书籍作者,书籍出版社,书籍出版日期,ISBN,书籍内容简介,书籍定价,备注 from 书籍信息表"D2.RefreshIf D2.Recordset.RecordCount < 1 Then MsgBox "当前数据库中无任何书籍信息记录!", vbExclamation, "系统提示" Frame2.Caption = "数据库中无记录" TxtTishi = "数据库中无记录"Else ShowData Frame2.Caption = "录入信息一览表(点击查看详细内容)"End IfCmdALL.Enabled = FalseEnd SubPrivate Sub CmdCh_Click()If isAdd = True Then If MsgBox("是否放弃添加操作?", vbYesNo + vbQuestion, "系统提示") = vbNo Then Exit Sub Else isAdd = False If D2.Recordset.RecordCount < 1 Then MsgBox "数据库中已无任何相关信息记录!不能进行修改!", vbCritical, "系统提示" Exit Sub End If ShowData End IfEnd IfIf D2.Recordset.RecordCount < 1 Then MsgBox "当前数据库或者查询结果集中无任何相关信息记录!不能进行修改!", vbCritical, "系统提示" Exit SubEnd IfMsgBox "请直接对相关的信息进行修改,然后点击‘保存’按钮进行保存!", vbInformation, "系统提示"CmdOk.Enabled = TrueTxtNo.SetFocusIsCh = TrueEnd SubPrivate Sub CmdCK_Click()If Trim(TxtNo) = "" Then MsgBox "请先输入要查看的书籍编号!", vbCritical, "系统提示" TxtNo = "" TxtNo.SetFocus Exit SubEnd IfD1.RecordSource = "select * from 书籍类别表 where 书籍编号='" & Trim(TxtNo) & "'"D1.RefreshIf D1.Recordset.RecordCount < 1 Then MsgBox "查询结束,数据库中无该编号的书籍类别记录,请重新输入相关的书籍编号!", vbCritical, "系统提示" TxtNo.SetFocus Exit SubEnd IfMsgBox "查询结束,编号为 " & Trim(TxtNo) & " 的书籍类别为 " & Trim(D1.Recordset.Fields!书籍类别), vbInformation, "系统提示"End SubPrivate Sub CmdDel_Click()If isAdd = True Then If MsgBox("是否放弃添加操作?", vbYesNo + vbQuestion, "系统提示") = vbNo Then Exit Sub Else isAdd = False CmdOk.Enabled = False If D2.Recordset.RecordCount < 1 Then MsgBox "数据库中已无任何相关信息记录!删除失败!", vbCritical, "删除记录" Exit Sub End If ShowData End IfEnd IfIf IsCh = True Then If MsgBox("是否放弃修改操作?", vbYesNo + vbQuestion, "系统提示") = vbNo Then Exit Sub Else IsCh = False CmdOk.Enabled = False End IfEnd IfIf D2.Recordset.RecordCount < 1 Then MsgBox "数据库中已无任何相关信息记录!删除失败!", vbCritical, "删除记录" Exit SubEnd IfIf MsgBox("您真的要删除书籍编号为 " & Trim(D2.Recordset.Fields!书籍编号) & " 的相关信息记录吗?", vbYesNo + vbQuestion, "删除记录") = vbYes Then D2.Recordset.Delete D2.Refresh MsgBox "记录删除成功!", vbInformation, "系统提示" If D2.Recordset.RecordCount < 1 Then Frame2.Caption = "数据库中已无记录" AllClear TxtTishi = "当前已无记录" Exit Sub End If D2.Recordset.MoveFirst ShowDataElse Exit SubEnd IfEnd SubPrivate Sub Form_Unload(Cancel As Integer)If IsChBook = True Then Unload FrmSch1End IfEnd SubPrivate Sub MGrid1_Click() '单击此控件时,对应的数据动态显示On Error GoTo err1D2.Recordset.AbsolutePosition = CInt(MGrid1.MouseRow) - 1TxtTishi = "当前记录:" & CInt(MGrid1.MouseRow) - 1 & " / " & D2.Recordset.RecordCountTxtNo = Trim(MGrid1.TextMatrix(MGrid1.MouseRow, 0)) '取对应的列值赋值给文本控件TxtName = Trim(MGrid1.TextMatrix(MGrid1.MouseRow, 1))TxtBB = Trim(MGrid1.TextMatrix(MGrid1.MouseRow, 2))TxtZZ = Trim(MGrid1.TextMatrix(MGrid1.MouseRow, 3))TxtCBS = Trim(MGrid1.TextMatrix(MGrid1.MouseRow, 4))TxtCBRQ = Trim(MGrid1.TextMatrix(MGrid1.MouseRow, 5))TxtNum = Trim(MGrid1.TextMatrix(MGrid1.MouseRow, 6))TxtNRJJ = Trim(MGrid1.TextMatrix(MGrid1.MouseRow, 7))TxtDJ = Trim(MGrid1.TextMatrix(MGrid1.MouseRow, 8))TxtBZ = Trim(MGrid1.TextMatrix(MGrid1.MouseRow, 9))Exit Suberr1: Exit Sub End SubPublic Sub AllClear()TxtNo = ""TxtName = ""TxtBB = ""TxtZZ = ""TxtCBS = ""TxtCBRQ = ""TxtNum = ""TxtNRJJ = ""TxtDJ = ""TxtBZ = ""TxtNo.SetFocusEnd SubPrivate Sub cmdExit_Click()If MsgBox("确认退出?", vbYesNo + vbQuestion, "系统提示") = vbYes Then Unload MeEnd IfEnd SubPrivate Sub CmdOk_Click()Dim i As IntegerDim j As IntegerDim k As IntegerIf Trim(TxtNo) = "" Then MsgBox "请输入书籍编号!", vbCritical, "系统提示" TxtNo = "" TxtNo.SetFocus Exit SubEnd IfIf Trim(TxtName) = "" Then MsgBox "请输入书籍名称!", vbCritical, "系统提示" TxtName = "" TxtName.SetFocus Exit SubEnd IfIf Trim(TxtNum) = "" Then MsgBox "请输入ISBN!", vbCritical, "系统提示" TxtNum = "" TxtNum.SetFocus Exit SubEnd IfIf Trim(TxtDJ) = "" Then MsgBox "请输入书籍的定价!", vbCritical, "系统提示" TxtDJ = "" TxtDJ.SetFocus Exit SubEnd IfIf Not IsNumeric(Trim(TxtDJ)) Then MsgBox "请正确输入书籍的点击,必须为数字!", vbCritical, "系统提示" TxtDJ = "" TxtDJ.SetFocus Exit SubEnd IfIf CCur(Trim(TxtDJ)) < 0.1 Then MsgBox "请正确输入书籍定价,不能为0或负数!", vbCritical, "系统提示" TxtDJ.SetFocus 。