资源描述
毕业论文
题 目: 图书馆管理系统
院 系:
专 业:
班 级:
学生姓名:
指导教师:
论文提交日期: 年 月 日
论文答辩日期: 年 月 日
摘 要
图书管理系统的设计从操作简便、界面友好使用的要求来完成图书馆的图书管理,采用传统的下拉式菜单进行功能选择,操作简单,且可靠性高、通用性好从而提高了管理人员的工作效率,适应现代社会的快节奏步伐,使图书管理员不必再陷于繁琐的手工记录卡片的工作中,从而可以把更多的精力放在图书馆的其他服务上。
本文阐述了图书管理系统的主要设计思想和其实现的关键技术,在Windows环境下,主要采用了可视化设计环境Visual Basic和Microsoft Office Access2003作为开发工具。
在了解图书馆的现状和要求的基础上,按照软件系统开发的过程,经过系统需求分析、系统设计、数据库设计、窗体设计、模块设计、编程实现等步骤来开发设计。
系统采用模块化设计,实现了包括信息设置、库存管理、借阅管理、报表打印以及系统维护模块。
关键词: 图书馆;图书管理系统;Visual Basic;Access2003数据库
III
目 录
摘要 Ⅱ
第一章 引言 1
1.1课题研究的背景及意义 1
1.2 图书管理的要素 2
第二章 开发工具 3
2.1 数据库系统简介 3
2.2 Access数据库介绍 4
2.3 Microsoft Visual Basic 6.0 5
第三章 系统分析 8
3.1 需求分析 8
3.1.1 系统的特点 8
3.1.2 系统的功能 8
3.2 系统设计 8
3.2.1 系统功能结构 8
3.2.2 业务流程图 9
第四章 数据库设计 10
4.1 数据库概要设计 10
4.2 数据库概念设计 10
4.3 数据库逻辑设计 11
第五章 系统实现 15
5.1 公共模块设计 15
5.2 主窗体设计 15
5.3 读者信息管理模块设计 16
5.4 读书借书管理模块设计 17
5.5 图书丢书管理模块概述 18
5.6 图书验收报表模块设计 19
参考文献 22
致谢 24
附录(程序中的主要代码) 25
第一章 引言
随着社会信息量的与日俱增和信息技术的飞速发展,计算机科学日渐成熟,其强大的功能已为人们所熟知,它的应用方面已经渗透到社会工作和生活的各个领域,并发挥着越来越重要的作用。应用计算机代替人工作,不仅有助于节约劳动力,提高劳动生产率,还有利于提高信息收集的正确性、及时性,有利于决策者在瞬息万变中迅速做出准确的判断。
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备易使用等特点。
因此本人结合开入式图书馆的要求,对MS SQL Server2000数据库管理系统、SQL语言原理、VB应用程序设计,Delphi数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。
1.1课题研究的背景及意义
图书管理是图书馆开发的核心环节之一,也是一个实质性的环节,它已成为企业实现长期发展战略的有效管理方式,在企业的管理中扮演着越来越重要的角色,起到不可替代的核心作用,怎样做好图书管理一直是一个困扰企业经营者的主要问题。
对于信息类企业,尤其是大型的企业集团来说,图书管理系统显得更为重要,图书管理系统的建立将直接受到企业集团管理方式的影响,并间接影响公司企业的管理效率与经济效益。如何在现有环境下编辑制作最优的图书管理系统,实现公司企业管理实时性,适应企业信息化发展的需要,是一个值得研究和探讨的问题。
管理信息系统就是MIS (Management Information System),在强调管理,强调信息的现代社会中它变的越来越普及。而将信息管理系统与企业自动化设备想结合,则是当今社会现代企业的发展趋势。通过这样的管理方式,企业的管理人员、技术人员、统计人员等各部门员工就能从大量烦琐的资料和数据中解脱出来,只需对自己需要的数据和内容进行必须的处理,而不用对每个环节都了如指掌。这在一定程度上能够节省人力物力,同时也大大加强了对数据处理的及时性和准确性。
本次的开发内容——图书管理系统就是信息管理与现代化办公设备相结合的例子。因此,该管理系统的目的就是利用计算机对复杂烦琐的数据进行存储和处理,并利用计算机与现代化办公设备的连接实时刷新数据,从而提高企业的工作效率。
1.2 图书管理的要素
一个图书管理项目是由不同的图书管理主体(比如:信息设置、库存管理、借阅管理、报表打印以及系统维护等)共同管理完成的。大体上图书管理主要有三个要素:用户、书库、读者。
用户管理,即新增用户、删除用户、更换登录者及修改密码,为了防盗读者的信息,我们在这里添加了修改密码这项功能,使系统更好的为我们服务。
书库,即所有图书的集合,在本模块中可以完成图书入库验收和图书检索等功能。
读者,即所有使用图书的人员,将他们的信息依次收集管理,包括读者新增和读者编辑等,以方便公司管理,为公司节约了更多的时间,去做更有意义的工作。
30
第二章 开发工具
2.1 数据库系统简介
在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。
数据库(即data base,简称DB)是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。
数据库技术从60年代中期至今只有不到40年的历史,但其发展速度之快是其它技术所不及的。它已由第一代的层次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的第三代数据库。数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的发展,使数据库的应用更加广泛。此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库的应用程序。特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应好,数据处理能力极强。
2.2 Access数据库介绍
Microsoft Access是一种关系型数据库,是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS)。它提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。Access使用标准的SQL(Structured Query Language,结构化查询语言)作为它的数据库语言,从而提供了强大的数据处理能力和通用性,使其成为一个功能强大而且易于使用的桌面关系型数据库管理系统。
关系型数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。
表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名是MDB。
Access 2003 是一款关系数据库开发工具,关系数据库是已开发的最通用的数据库之一,它能汇集各种信息以供查询、存储和检索,其优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
Access 2003是现在比较流行的大中型关系型数据库,是一种高效的数据库系统,它与Windows NT/2000/2003及Windows XP等操作系统紧密集成。这种安排使Access 2003能充分利用操作系统所提供的特性。对于我们的工程管理系统来说,Access 2003是一个很好的选择,我们主要使用Access2003的设计器创建表,并利用关系进行表连接。下面是本论文涉及到的一些关系术语做以简单介绍:
数据表:数据表是一种按行与列排列的相关信息的逻辑组,类似于工作单。例如,一张材料入库单的一系列信息,诸如材料编号,材料名称,入库时间等等。
字段:数据表中的每一列称作一个字段。表是由其包含的各种字段定义的,每个字段描述了它所含有的数据。创建一个数据库时,为每个字段分配一个数据类型、最大长度和其它属性。字段可包含各种字符、数字甚至图形。
记录:数据表中的每一行被称为一个记录[6]。
2.3 Microsoft Visual Basic 6.0
Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK(软件开发工具包)相媲美。Visual Basic提供了一个快速应用程序开发(RAD)环境,以及一组便于使用的调试工具。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、对象的链接与嵌入(OLE),开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
Visual Basic 6.0是Microsoft在以往各个Visual Basic版本的基础上开发而成的VB新版本的编程语言,它在原版本的基础上扩充了一系列的新特性,从而进一步增强了这种可视编程语言的性能,方便了程序设计的操作,提高了编程工作的效率。Visual Basic 6.0在数据库应用程序的开发领域中,提供包括数据管理器(DATA Manager)、数据控件(DATA Control)以及数据访问对象(DAO)等功能强大的工具,协助设计人员轻松的连接多种数据库文件格式,并访问其中的数据,功能非常强大。
本工程管理系统就是利用VB制作系统界面,使系统界面直观且操作简便。
总的来说,Visual Basic具有以下特点:
⑴可视化编程
用传统程序设计语言设计程序时,是通过编写程序代码来设计用户界面,设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。Visual Basic提供了可视化设计工具,把界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码,即可自动产生界面设计代码,从而可以大大提高程序设计的效率。
⑵面向对象的程序设计
在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法,把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。
本系统中的各种界面,都不同程度用到工具栏中的各种控件,如commandButton命令按钮,txtbox文本框,Adodc等,操作直观且简便。
⑶结构化程序设计语言
Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。
⑷事件驱动编程机制
在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
⑸支持多种数据库系统的访问,支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入(OLE)。
动态数据交换是Microsoft Windows除了剪贴板和动态链接函数库以外,在Windows内部交换数据的第三种方式。利用这项技术可在Visual Basic开发的应用程序与其他Windows应用程序之间建立数据通信。动态链接库中存放了所有Windows应用程序可以共享的代码和资源,这些代码或函数可以用多种语言写成。Visual Basic利用这项技术可以调用几乎任何语言产生的DLL,也可以调用Windows应用程序接口(API)函数,以实现SDK所能实现的功能。
第三章 系统分析
3.1 需求分析
3.1.1 系统的特点
从读者与图书管理员的角度出发,本着以读者借书、还书快捷和方便的原则,要求本系统应具有以下特点:
(1)确保系统具有良好的性能和有好的用户界面。
(2)较高的处理效率,便于使用和维护。
(3)采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期。
(4)系统尽可能简化图书管理员的重复工作,提高工作效率。
(5)简化数据查询、统计难度。
3.1.2 系统的功能
(1)图书类别设置,读者信息设置。
(2)订购新书,新书验收入库,入库图书检索。
(3)借书管理,还书管理,续借管理,丢失管理,超时提醒。
(4)书目分类统计,图书验收报表。
(5)用户的注册、删除、更改密码。
3.2 系统设计
3.2.1 系统功能结构
根据需求分析,设计出图书管理系统的功能结构,如图3.1所示。
图3.1 图书管理系统的功能结构
3.2.2 业务流程图
图书管理系统的业务流程图如图3.2所示。
图3.2 图书管理系统的业务流程图
第四章 数据库设计
4.1 数据库概要设计
在图书管理系统中,采用的是Access 2003数据库。数据库用来存储图书的基本信息、读者信息、读者借书信息、读者还书信息等。这里将数据库命名为db_library,其中包含了13张数据表,用于存储不同的信息,如图4.1所示。
图4.1 数据库结构
4.2 数据库概念设计
根据以上对系统所做的需求分析、系统设计,规划出本系统中使用的数据实体。下面将介绍几个关键实体的E-R图。
图书管理中一个很重要的问题是图书信息的管理,因此需要规划图书信息实体。该实体中包括书籍名称、类别代码、作者、出版社、条形码、ISBN等属性。图书信息实体的E-R图如图4.3所示。
为了记录借阅图书的读者信息,特规定出读者信息实体,该实体包括读者编号、读者姓名、性别、出生日期、手机号码、登记日期等属性。读者信息实体的E-R图如图4.4所示。
图4.3图书信息实体的E-R图 图4.4 读者信息实体的E-R图
读者借书实体包括读者编号、读者姓名、条码号、书籍名称、借书日期、还书日期等属性。读者借书实体的E-R图如图4.5所示。
读者还书实体包括条码号、读者编号、书籍名称、借书日期、还书日期、实际天数等属性。读者还书实体的E-R图如图4.6所示。
图4.5读者借书实体的E-R图 4.6读者还书实体的E-R图
4.3 数据库逻辑设计
根据设计好的E-R图在数据库中创建数据表,系统数据库中各表的结构如下。
(1)books(图书信息表)
图书信息表用于存储图书馆中的图书信息,其结构如表4.1所示。
表3.1 books表的结构
字段名称
数据类型
字段大小
书籍名称
文本
50
类别代码
文本
20
作者
文本
20
出版社
文本
30
订购价格
货币
复本数
数字(小数)
附件
文本
10
条码号
文本
30
规定天数
数字(小数)
ISBM
文本
30
借书数量
数字(长整型)
(2)dzxxtb(读者信息表)
读者信息表用于存储图书馆中的所有读者的相关信息,起结构如表4.2所示。
表4.2 dzxxtb表的结构
字段名称
数据类型
字段大小
读者编号
文本
50
读者姓名
文本
50
性别
文本
10
出生日期
日期/时间
单位
文本
50
家庭住址
文本
50
家庭电话
文本
50
手机号码
文本
50
传真号码
文本
50
Email
文本
50
证件类型
文本
50
证件号码
文本
50
登记日期
日期/时间
读者级别
文本
20
备注
文本
50
(3)dzjstb(读者借书表)
读者信息表中保存了读者所借图书的相关信息,其结构如表4.3所示。
表4.3 dzjstb表的结构
字段名称
数据类型
字段大小
读者编号
文本
50
读者姓名
文本
10
条码号
文本
30
书籍名称
文本
50
书籍价格
货币
规定天数
出版社
文本
30
作者
文本
20
借书数量
数字(小数)
类别代码
文本
5
借书日期
日期/时间
应还日期
日期/时间
借
文本
4
(4)hsstb(读者还书表)
读者还书表存储了读者的还书信息,其结构如表4.4所示。
表4.4 hsstb表的结构
字段名称
数据类型
字段大小
条码号
文本
30
读者编号
文本
50
书籍名称
文本
50
书籍价格
货币
出版社
文本
30
作者
文本
20
规定天数
数字(小数)
借出日期
日期/时间
还书日期
日期/时间
实际天数
数字(小数)
实还日期
日期/时间
超出天数
数字(小数)
第五章 系统实现
5.1 公共模块设计
通过使用模块可以减少程序的代码量。在本系统中,建数据库连接的通用代码就公共的全局变量等都集中存放在数据模块中,总而节省代码量,提高编程效率。
模块中定义的公共变量如下:
Public temp, str, BS As String ‘定义字符串变量
Public adoCon As New ADODB.Connection ‘定义数据连接变量
Public adoRs As New ADODB.Recordset ‘定义数据集对象
为了优化ADO数据库的连接,可以在公共模块中简历数据库连接共享函数以及共享数据库连接字符串。这样,在以后的编程中,如果使用对象操作数据库,就可以直接调用数据库练级cnn函数。如果使用ADO控件访问数据库,可以直接将数据库共享连接字符串变量的值赋给Ado控件的ConnectionString属性,从而避免使用ADO控件频繁地简历数据库连接,以致失去其优越性。模块中连接数据库的程序代码如下:
Function cnn() As ADODB.Connection
Set cnn = New ADODB.Connection
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db_library.mdb;Persist Security Info=False"
End Function
5.2 主窗体设计
主窗体用于调用程序的所有功能。用户输入正确的用户名和密码就可以进入到图书管理系统的主窗体中,该主窗体主要由菜单栏、带图片的工具栏、左侧的树状导航菜单、右侧的功能列表以及底部的状态栏组成。用户单击左侧的树状导航菜单中的节点,可以在右侧的窗格中显示出该主菜单下的子菜单。例如,选择“借阅管理”选项,将在右侧窗格中显示该菜单下的所有子菜单,如图5.1所示。
图5.1 主窗体运行效果
5.3 读者信息管理模块设计
读者信息管理模块的主要功能是对图书馆的读者信息进行管理,可以对该信息进行增、删、改、查等操作。在主菜单中选择“信息设置”/“读者信息设置”命令,即可进入到读者信息管理窗体中。在该窗体中选择“添加读者”选项卡,单击”增加”按钮,开始添加读者信息。信息添加完成后,单机“保存”按钮,即可将输入的读者信息保存到数据库中,如图5.2所示。
图5.2 读者信息管理窗体
5.4 读书借书管理模块设计
读者借书管理系统模块的主要功能是将读者的借书信息保存到数据库中,并可以对读者的借书信息进行删除操作。用户在主窗体中选择“借阅管理”/“读者借书管理”命令,即可进入到读者借书管理模块中。在该窗体中,用户输入“读者编号”,按“Enter”键,即可显示读者的姓名,;在“条码号”文本框中输入读者要借书的条码,按“Enter”h键,即可显示所借图书的信息;输入借书数量,单击“借出当前图书”按钮,即可将该图书借出,如图5.3所示。
图5.3 读者借书管理模块
5.5 图书丢书管理模块概述
图书丢失管理模块的主要功能是记录图书的丢失信息。用户在主窗体中选择“借阅管理”/“图书丢失管理”命令,即可进入到图书丢失管理模块中。在该模块中用户输入读者的编号和丢失图书的条码号,按Enter键即可显示该读者借阅该书的信息,单击“丢失”按钮显示“丢失”单击“确定”按钮,将丢失信息写入数据库。
在该模块中还可以对丢失图书的信息进行查询,输入查询条件,例如查询读者编号是100003的图书丢失信息,单击“查询”按钮,即可将编号是100003的读者的图书丢失信息显示在表格中,如图5.4所示。
图5.4 图书丢失管理模块
5.6 图书验收报表模块设计
图书验收报表模块主要用于查询指定订购时间段的图书验收信息,并统计订购金额和订购数量信息。用户在主窗体中选择“报表打印”/“图书验收报表”命令,即可进入到图书验收报表模块中。输入订购的时间段,如“2007-12-12至2012-01-11”,单击“查询”按钮,即可显示出该订购时间段的图书验收信息,如图5.5.1所示。
图 5.5.1 图书验收报表窗体
单击“打印”按钮,即可将查询出来的图书验收信息打印出来,如图5.5.2
图5.5.2图书验收报表打印预览
此图书管理系统是经过认真学习、听取老师意见,充分考虑图书管理的各种需求后开发的,它是具有重要实际意义的一套系统,并且该系统具有很广阔的应用前景。但由于本人第一次开发系统软件,掌握的知识和经验不是很多,使得有许多系统功能没能实现,希望日后还有机会开发类似的系统软件。
本文详细介绍了图书管理系统中对用户、读者管理、图书库管理、借阅管理等的管理。这套系统可以基本实现图书管理的无纸化办公,提高了工作的效率和精确性,给图书管理提供了高效、便捷的应用平台。
在系统开发过程中,在潘老师的指导下,从头做起,不断学习,积累了宝贵的开发经验,学到了很多书本上没有的知识。通过这次毕业设计,使我受益匪浅,在校学习的各门功课的知识得到了综合应用,加深了对所学知识的理解,同时也培养了刻苦钻研、不怕困难的精神,这些将成为我在以后学习工作中的一笔最宝贵的财富。通过这次毕业设计,使我对目前流行的软件开发方法和手段,有了更进一步的认识,丰富了软件开发的经验,提高了编程的水平,
毕业设计已进入尾声,在毕业设计的这几个月中,我增加了不少的工作经验,增强了对软件设计的信心,同时,我也感觉到自己在计算机专业知识方面还有很多欠缺。今后,我一定会在工作和学习中不断的完善和充实自己,为社会尽自己的一份力量。
致谢
在此,我要谢谢在这次毕业设计过程中指导老师对我的悉心指导和同学们对我的热心帮助。同时,值此毕业设计结束之际,我还要感谢数学与计算科学学院的各位老师,感谢他们3年来对我悉心的栽培。还要感谢各位同学对我的照料、帮助。最后要感谢我的父母,感谢他们在精神、经济、等方面的支持,感谢他们在我想放弃的时候对我的鼓励。谢谢。
参考文献
[1] 张朝昆,施丽娜Visual Basic数据库开发基础与应用,人民邮电出版社,2005-9第一版.
[2] 尼春雨,舒雄 Visual Basic基础与案例开发详解[M],清华大学出版社 2009-7第一版.
[3] 李长林,张丽华,王红.Visual Basic数据库应用系统开发从基础到实践[M].北京:电子工业出版社,2005:276-280.
[4] Visual Basic程序设计教程[M] ,电子工业出版社2008-1第二次印刷
[5] [美]Jeffrey P.McManus著赵学锁,龚波,李志,曹天伟等.Visual Basic 6.0数据库存访问技术[M].北京:清华大学出版社,2000:156-170.
[6] 李英,如何理解和掌握Access[J].新西部下半月,2007(12):66-68.
[7] 谭浩强,史济民,汤观全.Access应用系统开发教程[M].北京:清华大学出版社,2004:6-9.
[8] 萨师煊,王珊,数据库系统概论(第三版)[M].北京:高等教育出版社,2000:10-11.
[9] [美]Charles Petzold著,章立民译.Visual Basic语言描述[M].北京:人民邮电 出版社,2004:221-224.
[10] 龚沛曾,陆慰民,杨志强.Visual Basic 6.0程序设计教程[M].北京:高等教育出版社,2000:5-7.
[11] 张连银,基于VB的数据库应用开发研究[J].电脑知识与技术,2007(14):69-74.
附录(程序中的主要代码)
1. 鼠标移动的效果
Private Sub Lbl_Pic_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
Lbl_info(Index).ForeColor = RGB(255, 0, 0)
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim i As Integer
For i = 0 To Lbl_info.Count - 1
Lbl_info(i).ForeColor = RGB(0, 0, 0)
Next i
End Sub
2. 添加工具栏命令
Private Sub Lbl_Pic_Click(Index As Integer)
Select Case Index
Case 0: frmaddnew.Show 1
Case 1: frmdzxxgl.Show 1
Case 2: frmdzjsgl.Show 1
Case 3: frmdzhsgl.Show 1
Case 4: frmcqtx.Show 1
Case 5: frm_lb_cx.Show 1
Case 6: End
End Select
End Sub
3. 向TreeView 中加载数据
Public Sub Tree_change()
Dim Key, Text, BH As String
Dim Nod As Node
Adodc1.RecordSource = "select * from Table_zcd "
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveFirst
Do While Adodc1.Recordset.EOF = False
Key = Trim(Adodc1.Recordset.Fields("主菜单名称"))
Text = Adodc1.Recordset.Fields("主菜单名称")
Set Node1 = TreeView1.Nodes.Add(, tvwChild, Key, Text, 1) '设置TreeView1控件的节点 文本 和 图标(另外:1 为ImageList控件图标的索引值)
Adodc2.RecordSource = "select * from Table_zcd_zcd where 主菜单名称='" + Adodc1.Recordset.Fields("主菜单名称") + "' "
Adodc2.Refresh
If Adodc2.Recordset.RecordCount > 0 Then
Adodc2.Recordset.MoveFirst
Do While Adodc2.Recordset.EOF = False
Key = Trim(Adodc2.Recordset.Fields("子菜单名称"))
Text = Adodc2.Recordset.Fields("子菜单名称")
Set node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, Key, Text, 1) '设置TreeView1控件的节点 文本 和 图标(另外:1 为ImageList控件图标的索引值)
Adodc2.Recordset.MoveNext
Loop
End If
Adodc1.Recordset.MoveNext
Loop
End If
End Sub
4. 向ListView中加载数据
If TreeView1.SelectedItem.Key = "借阅管理" Then
ListView1.ListItems.clear
Set itemX = ListView1.ListItems.Add(, , "读者借书管理", 8)
Set itemX = ListView1.ListItems.Add(, , "读者还书管理", 9)
Set itemX = ListView1.ListItems.Add(, , "读者续借管理", 10)
Set itemX = ListView1.ListItems.Add(, , "图书丢失管理", 11)
Set itemX = ListView1.ListItems.Add(, , "超期提醒", 12)
End If
5. 自动生出读者编号
Private Sub Command1_Click()
Dim temp1
temp1 = 100000
Adodc1.RecordSource = "select * from dzxxtb order by 读者编号"
Adodc1.Refresh
If Adodc1.Recordset.RecordCount > 0 Then
Adodc1.Recordset.MoveLast
Text1.Text = Val(Adodc1.Recordset.Fields("读者编号")) + 1
Else
Text1.Text = temp1 + "000001"
End If
Adodc1.RecordSource = "select * from dzxxtb order by 读者编号"
Adodc1.Refresh
clear1
Text6.Text = ""
Text2.SetFocus
Command3.Enabled = True
End Sub
6. 保存读者信息
Private Sub Command3_Click()
Dim sql As String
sql = "insert into dzxxtb values('" & Text1 & "','" & Text2 & "','" & Combo1 & "','" & DTPicker1 & "','" & Text3 & "','" & Text4 & "','" & Text5 & "','" & Text6 & "','" & Text7 & "','" & Text8 & "','" & Combo2 & "','" & Text9 & "','" & DTPicker2 & "','" & Text22 &
展开阅读全文