图书馆管理系统_第1页
图书馆管理系统_第2页
图书馆管理系统_第3页
图书馆管理系统_第4页
图书馆管理系统_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浙江大学远程教育学院本科生毕业论文(设计)题目图书馆管理系统专业计算机科学与技术学习中心玉泉姓名学号指导教师朱金英2005年5月8日 毕业论文(设计)考核一、对论文的评语:该生在阅读大量文献的基础上,能很好地完成图书馆管理系统的设计,设计合理,有一定的实用价值。二、成绩评定(五级记分):优秀指导教师朱金英2005年月日论文摘要随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。图书馆也向着信息化方向发展,建立一个信息系统化的图书馆管理系统是十分必要的,它可以减轻工作,将工作科学化、规范化,提高了图

2、书馆信息管理的工作质量。我们使用Microsoft公司VisualBasic6.0开发工具,采用Microsoft公司的Access2000数据库管理系统软件,做成一个可以对读者和书籍两方面添加和删除及具有统计功能的小型图书馆管理系统。关键词:图书馆、管理、信息目录一、绪论4TOC o 1-5 h z1、管理信息系统介绍42、管理信息系统设计原则6二、图书馆管理系统的开发工具71、开发工具VirualBasic60的介绍72、数据库MicrosoftAccess2000的介绍13三、图书馆管理系统介绍131、系统简介132、系统功能介绍.143、系统软硬件配置14四、图书馆管理系统总体设计15

3、1、系统层次框图152、系统模块设计153、数据流图164、数据库设计16五、图书馆管理系统详细设计191、用户登陆模块设计与实现192、系统维护模块设计与实现223、相关查询模块的设计与实现434、统计内容模块的设计与实现57六、毕业设计小结63七、参考文献63图书馆管理系统一、绪论随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息系统的作用也越来越大。现在我国的各中小城市的图书馆的图书管理和借阅管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方

4、法必然被计算机为基础的信息管理所取代,因此根据图书馆目前实际的管理情况开发一套图书管理系统是十分必要的。图书馆在正常运营中总是面对大量的读者信息,书籍信息以及由两者相互作用产生的借书信息,还书信息。因此图书管理信息化是发展的必然趋势。用结构化系统分析与设计的方法,建立一套有效的图书信息管理系统,可以减轻工作,将工作科学化、规范化,提高了图书馆信息管理的工作质量。1、管理信息系统介绍管理信息系统就是我们常说的MIS(ManagermentInformationSystem),它是20世纪80年代才逐渐形成的一门新科学,其概念至今尚无统一的定义,其理论基础尚不完善。但从国外学者给MIS所下的定义看

5、,人们对MIS的认识在逐步加深,MIS的定义也在逐渐发展和成熟。(l)MIS的定义:MIS的结构:MIS的定义有很多种,研究者们从各自的角度出发给出了不同的定 义。MIS的一个定义是:一个管理信息系统是能够提供过去、现在和将来预期信息的一种有条理的方式,这些信息涉及到内部业务和外部情报。它按适当的时间间隔供给格式相同的信息,支持一个组织的计划、控制和操作功能,以便辅助决策制定过程;MIS的另一个定义是:MIS是一个由人、计算机等组成的能进行信息的收集、传送、储存、维护和使用的系统,能够实测企业的各种运行情况,并利用过去的历史数据预测未来,从企业全局的角度出发辅助企业进行决策,利用信息控制企业的

6、行为,帮助企业实现其规划目标。MIS的主要功能:管理信息系统是一类面向管理的信息系统,它以解决结构化的管理决策问题为目的。它的三项主要功能是:信息处理、辅助事务处理和辅助组织管理、支持决策。信息处理。信息处理对组织的数据和信息进行收集、存储、传输、加工、查询等操作,以实现向管理人员及时提供所需的可靠、准确信息的功能。辅助事务处理、辅助组织管理。辅助事务处理,包括具有通用性的事务管理(如计划的制定和管理、人事管理、财务管理等)和各类特殊事务管理(如物资管理、销售管理、教学管理、群众来信来访管理等)。它的深层次的功能是辅助组织管理、控制组织行为、帮助组织实现目标。支持决策。实测企业运行情况,预测企

7、业未来行为、辅助企业决策人员进行决策是管理信息系统的重要功能,管理信息系统主要是辅助结构化决策问题。MIS的结构有以下几种:总体结构:信息源、信息处理器、信息用户、信息管理者。物理结构:物理组成、处理功能、用户需要的输出。层次结构:用于执行控制的信息系统、管理控制的信息系统、战略计划的信息系统。职能结构:一般企业的职能子系统有市场销售子系统、生产管理子系统、物资供应子系统、人事管理子系统、财会管理子系统、信息管理子系统、高层管理子系统。空间分布结构:集中式系统、分布式系统。2、管理信息系统设计原则管理信息系统的设计与开发是一项系统工程,为了保证系统的质量,设计人员必须遵守共同的设计原则,尽可能

8、地提高系统的各项指标。具体的设计原则如下:实用性原则要力求最大限度地满足实际工作的需要,充分考虑各业务层次、各管理环节数据处理的实用性,把满足用户生产和管理业务作为第一要素进行考虑。用户接口和操作界面设计尽可能做到界面美观大方,操作简便实用。可扩展性与可维护性原则为适应将来的发展,MIS系统应具有良好的可扩展性和可维护性。软件设计尽可能模块化、组件化,使应用系统可灵活配置,适应不同的情况。数据库的设计尽可能考虑到未来的需要。安全可靠性原则 应用软件与数据库系统的设计要做到安全可靠,防止非法用户的入侵。数据库的备份策略恰当,以防止灾难性事故发生。用户界面设计原则图形化原则:用户界面的设计应符合W

9、indows规范的图形用户界面(GUI),做到美观大方。用户界面应当直观、明了、条理清晰。实现“傻瓜型”管理易学、易用、易管理。数据库设计原则一致性原则:对信息进行统一、系统的分析与设计,协调好各数据源,做到“数出一门”、“算法统一”、“度量一致”。保证系统数据的一致性和有效性。完整性原则:数据库的完整性是指数据的正确和相容性。要防止合法用户使用数据库时向数据库加入不合语义的数据。对输入到数据库中的数据要有审核和约束机制。安全性原则:数据库的安全性是指保护数据,防止非法用户使用数据库或合法用户非法使用数据库造成数据泄露、更改或破坏。要有认证和授权机制。可伸缩性原则:数据库结构的设计应充分考虑发

10、展的需要、移植的需要,具有良好的扩展性、伸缩性和适度冗余。规范化数据库的设计:应遵循规范化理论,规范化程度过低,可能会存在插入、删除异常、修改复杂、数据冗余等问题,要解决的方法就是对关系模型进行分解或合并(规范化),转移成高级范式。二、图书馆管理系统的开发工具1、开发工具VirualBasic6.0的介绍(1)VisualBasic的特点VisualBasic是Microsoft公司推出的用于开发Windows应用程序的开发工具,是基于DOS平台下Basic编程语言的可视化的程序设计语言。它继承了Basic所具有的程序设计语言简单易用的特点,同时在其编程系统中采用了面向对象、事件驱动的编程机制

11、,开创了可视化编程的一代先河。Visual是可视化的意思VisualBasic的命名就表示它是一套可视化的程序开发工具。在设计过程中,可以用可视化的方法编排一个窗口程序在执行时的外观,同时也可以采用易学易懂的Basic语言,并且把界面操作的细节部分事先封装起来,使得初学程序设计的人也可以轻而易举的编写出想象的程序。VirualBasic简单易学,是一种可视化的语言,被众多软件开发这所青睐,下面介绍其特点:可视化编程传统程序设计语言是利用程序代码来编写用户界面,设计的过程中不能看到显示结果,编译后才可以看到编出的界面。如果对设计的界面不满意,需要回到程序中改动。而可视化编程把一些复杂的程序代码封

12、装起来,构成对象,设计过程中在主窗口中设计的对象布局就是运行后的界面,所见即所得。这样编程人员不必为设计界面而在运行与编译中来回调试,大大提高了程序的设计效率。面向对象的程序设计VisualBasic是面向对象的程序设计语言。面向对象的程序设计方法,是指把程序和数据封装作为一个实体,程序的设计针对这些对象进行,不必重复编写大量的代码。结构化程序设计语言VisualBasic是高级程序设计语言,接近于人类的逻辑思维方式。在编译过程中可以利用编译器进行高级语言到机器语言的翻译过程。在整个程序设计之后,可以编译生成可执行文件,这种文件可以脱离VisualBasic环境直接在windows下运行。事件

13、驱动编程机制VisualBasic程序设计中对对象的操作要通过事件来完成,一个对象可对应多个事件,一个事件要通过一段程序来执行。如VisualBasic窗体对象中有Load事件,对应一段程序实现指定的操作。访问数据库VisualBasic系统有很强的数据库管理能力。利用数据库控件和数据库管理窗口,可以直接建立或处理Access格式的数据库;同时,VisualBasic还能编译和访问外部数据库,如FoxPro、dBase等;VisualBasic还提供开放式数据链接(ODBC)功能,通过它可以访问和链接后台大型数据库,如SQLServer、Oracle等。(2)VisualBasic应用程序的构

14、成应用程序是一个指令集,用来指挥计算机完成指定的操作。应用程序结构指的是组织指令的方法,即指令存放的位置和指令的执行顺序。对于只有一行代码的程序来说程序的组织结构并不重要。应用程序越复杂,对组织或结构的要求也越高。除了控制应用程序的执行外,对于在应用程序中查找特定的指令,结构也有很重要的作用。VisualBasic的源代码是由模块组成的。模块可以分为三类:窗体模块、标准模块和类模块。窗体模块VisualBasic应用程序是基于对象的,应用程序的代码结构就是该程序在屏幕上物理表示的模型。根据定义,对象由数据和代码组成。在屏幕上看到的窗体是由其属性规定的,这些属性定义了窗体的外观和内在的特性。在V

15、isualBasic中,一个应用程序包含一个或多个窗体模块(其文件扩展名为.frm),每个窗体模块分为两部分,一部分是作为用户界面的窗体,另一部分是执行具体操作的代码。每个窗体模块都包含事件过程,即代码部分,这些代码是为响应特定事件而执行的指令。在窗体上可以含有控件,窗体上的每个控件都有一个相对应的事件过程集。除事件过程外,窗体模块还可以含有通用过程,它可以被窗体模块中的任何事件过程调用。标准模块标准模块完全由代码组成,其文件扩展名为.bas,这些代码不与具体的窗体或控件相关联。在标准模块中,可以声明全局变量,也可以定义函数过程或子程序过程。标准模块中的全局变量可以被工程中的任何模块引用,而通

16、用过程可以被窗体模块中的任何事件调用。类模块可以把类模块看作是没有物理表示的控件,其文件扩展名为.cis,标准模块只包含代码,而类模块既包含代码又包含数据。每个类模块定义了一个类,可以在窗体模块中定义类的对象,调用类模块中的过程。VisualBasic6.0的编程环境VisualBasic6.0米用可视化的编程环境,它好学易用,运行VisualBasic6.0后,会出现如下图所示的窗口。下面一起来看看VB的编程环境,虽然看起来复杂,但可以把它分为几个部分,每个部分都有自己特定的功能,这样我们就清楚多了。其实VB这是通过这样一个界面把相近或同类的功能组合在一起的,它使我们在设计程序时能方便的控制

17、程序的方方面面。口这ItlihfB也口的JF艮环境日石iTITiVw1-Ewtl!:IMiHjBRrfrisjMaitiwfhiwriWtfi2.w;-tW|Ajrain-Tiiiii口川twifi-2M-*EHrf-m-ll窗体的最上层是“VisualBasic6.0的采单和“便捷工具按钮,采单中包含了所有的VB提供的功能的选项,而其中一些常用的功能或操作选项则被提取出来放在了“便捷工具按钮”中,通过点击这些快捷按钮可以加快程序开发的速度,下图标出了常见的工具按钮的作用。新題工程棄单簫轻器保存工程复制悔一生工程管理器甯体布局4花嘈忙IIS嚐法法廈*希加窗体打开工程剪切粘贴左行程序剧昴口接着看

18、看“VisualBasic的组件面板”和“窗体设计区域”,VisualBasic提供了方便的窗体设计区域,它位于整个编程窗口的中间。我们可以在这个区域中搭建出美观实用的程序界面,试着从“VisualBasic的组件面板”中找到“按钮CommandButton”,点击选中后,再到“窗体设计区域”的窗体上点一下,这时,窗体上会出现一个按钮,这样我们就把按钮添加到 我们程序的界面中了。嘻嘻,忘了告诉你哪里是“VisualBasic的组件面板”了,就是最左边的那一条包含许多看起来眼熟的小东西的区域,它是VisualBasic提供给我们的标准的编程组件(控件),它把程序设计中常常用到的诸如按钮、图片框、

19、列表框等等东西作好了放在那里,我们如果要使用只须添加到窗体中即可。屏幕的右边有三个从上到下排列的小窗口,它们分别是:工程-工程1曰博工程1CT程1)i“耳Forml(Forml.)丫巨MDIJormlQADIForml)白幻樓块Hod-ulelOflodulel)自“鬥类模块匚IseeI(Classic“VB工程管理器”:用来管理开发一个VB程序所需要的各种类型的窗体和模块,如左图是一个工程所包含的东西,窗体是一个程序表现在外面的界面、模块是程序内部使用的代码。当我们点击“添加窗体”便捷工具按钮后,左图的“VB工程管理器”中就会显示出新添加的窗体,这也就是“VB工程管理器”的功能,它使我们从总

20、体上把握程序开发的各个部分。Office办公套件中一个极为重要的组成部分。现在它已经成为世界上最流 展性-CowandlCobb-tukd.1CommandliutIon名称Kppe:itazceBaizkCcilorCaracelCunm:diLiil1-別ftBaOODOOOF5F:dlseCaptiduCauEesVslidatiDefaultDisabledPicturiHowrJlcture这是一于按讯TrueF:dlse(NorLeJQTaneJr、TCapti4n返回zew.的标题栏中或固樣下“组件属性窗口”用来显示组件的属性,并允许我们修改,设定这些属性的值,我们在窗体设计区域

21、的窗体上选中一个组件,以按钮为例,则在“属性窗口”中会列出它的属性,我们可以看到常用的“Name”、“Capition”“Font等等属性,试着把“Capition属性改为“这是一个按钮”然后看看“窗体设计区域”的按钮上显示的文字是不是改变了。“窗体布局窗口”:调整程序运行时,程序窗体在屏幕中的初始位置,把鼠标移到左图屏幕中的窗体上,这时鼠标会变成移动形状,拖动窗体,就设置好了运行时此窗体的位置。2、数据库MicrosoftAccess2000的介绍Access2000是一种关系数据库管理系统软件,它是Microsoft公司于千年之际推出的办公自动化系列软件Office2000的组件之一。Ac

22、cess是行的桌面数据库管理系统。微软公司通过大量地改进,将Access的新版本功能变得更加强大。不管是处理公司的客户订单数据;管理自己的个人通讯录;还是大量科研数据的记录和处理,人们都可以利用它来解决大量数据的管理工作。使用中文Access2000可以从单一的数据库文件中组织用户信息。在此文件中,可将数据分开放在名为“表”,也就是前面所说的“数据表”的容器中,然后可使用联机窗体让网络用户查看、添加并更新表中的数据、“查询”查找并检索数据、使用“报表”按特定的布局分析或打印的数据。此外,通过创建数据访问页还能从Internet上查看与更新或分析数据。三、图书馆管理系统介绍1、系统简介系统是基于

23、VirualBasic6.0工具开发的,采用MicrosoftAccess2000数据库系统。系统针对图书馆日常工作需求,让烦琐、复杂的工作流程变成了一件十分简易、快捷的工作,只要按系统的要求提示输入基本的信息就可以完成工作内容,大大提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况和读者借阅情况。系统还设计了一个登陆窗口,只有拥有口令和密码的人才能进入系统,显得更加安全和人性化。2、系统功能介绍图书馆管理系统能够对图书的目录进行浏览,显示图书的编号、名称、作者姓名、出版社、出版日期、单价及类别。还能够对图书目录进行增加l5和删除操作。这样对图书馆的书籍可以进行很好的管理,方

24、便管理员对各种书籍进行添加和删除的操作。系统对读者信息这块同样可以进行浏览,显示读者的各种信息,包括读者编号、读者姓名、性别、年龄、住址、电话和备注。同样可以对读者信息进行增加和删除操作。这样对借书的用户同样可以进行很好的管理和维护。系统还对读者的借阅情况进行查询操作,通过输入读者的编号查询读者所借阅的书籍的信息,包括图书的编号、图书名称、作者姓名、出版社、出版日期、单价和图书类别以及归还日期。系统对图书也有查询功能,能够在系统输入图书编号、图书名称、作者姓名、出版社、出版日期、单价和图书类别中的一个或者几个而查询到该图书的其他所有信息,包括:图书编号、图书名称、作者姓名、出版社、出版日期、单

25、价和图书类别。系统还对读者借阅的情况和图书借阅的情况有个统计功能,能够及时的统计借阅书籍的读者的信息和被借阅的书籍的信息,能够对各种借阅情况有个及时的统计,减轻图书馆管理员的各种统计上的麻烦,使各种信息能一目了然能够显示出来。3、系统软硬件配置(1)硬件环境处理器:IntelPentiuml66MX或者更高内存:32M硬盘空间:lG显卡:SVAG显示适配器2.软件环境操作系统:Windows98/ME/2000/XP 数据库:MicrosoftAccess2000运行环境:VisualBasic6.0四、图书馆管理系统总体设计1、系统层次框图图书馆管理系统的系统模块图如图所示用户登陆模块已经注

26、册的用户进入系统,必须先进行登陆系统维护模块图书目录模块:可对图书目录进行一览、增加以及删除操作。 读者明细模块:可对读者明细进行一览、增加以及删除操作。相关查询模块借阅查询模块:可通过读者编号和姓名对其所借阅图书进行查询操作图书查询模块:可通过图书信息对图书进行查询操作。统计内容模块读者借阅情况统计模块:对读者信息及其所借阅图书进行统计。图书借阅情况统计模块:对图书信息及其是否借出进行统计。根据系统功能设计的要求以及功能模块的划分,对于系统用户信息数据库,可以列出以下数据项和数据结构。名称:图书信息 标识:book如表1-1所示,图书信息数据表包括图书编号、图书名称、作者姓名、出版社、出版日

27、期、单价和类别七个字段。表1-1名称字段名称类型主键非空图书编号tushubianhao数字nono图书名称tushumingcheng文本nono作者姓名zuozhexingming文本nono出版社chubanshe文本nono出版日期chubanriqi文本nono单价danjia文本nono类别leibie文本nono名称:读者借阅信息标识:D_jieyue如表1-2所示,读者借阅信息数据表包括读者编号和借阅次数两个字段表1-2名称字段名称类型主键非空读者编号duzhebianhao数字nono借阅次数jieyuecishu文本nono名称:图书借阅信息标识:T_jieyue如表1-3

28、所示,图书借阅信息数据表包括图书编号和借阅次数两个字段表1-3名称字段名称类型主键非空图书编号tushubianhao数字nono借阅次数jieyuecishu文本nono名称:借阅信息标识:jieyue如表1-4所示,借阅信息数据表包括编号、图书1、图书2、图书3和借阅时间五个字段。表1-4名称字段名称类型主键非空编号bianhao数字nono图书1shujil文本nono图书2shuji2文本nono图书3shuji3文本nono借阅时间jieyueshijian文本nono名称:读者信息标识:people如表1-5所示,读者信息数据表包括读者编号、读者姓名、性别、年龄住址、电话和备注七个

29、字段。表1-5名称字段名称类型主键非空读者编号duzhebianhao数字nono读者姓名duzhexingming文本nono性别xingbie文本nono年龄nianling文本nono住址zhuzhi文本nono电话dianjia文本nono备注beizhu文本nono名称:图书借阅情况信息标识:tushu如表1-6所示,读者信息数据表包括图书编号和借阅情况两个字段表1-6名称字段名称类型主键非空图书编号tushubianhao数字nono借阅情况jieyueqingkuang文本nono五、图书馆管理系统详细设计1、用户登陆模块设计与实现(1)使用功能说明登陆时输入正确的用户名和密码才

30、能进入图书馆管理系统。操作:在“用户名后的Text框中输入用户名“tushuguan”,在“密码”后的对话框中输入“tushuguan”并按确定按钮便可进入本系统的主页面。(2)模块界面EBB图书馆管理系统用户名tushuguan登陆界面系统的开始界面其中的菜单是用菜单编辑器做成的,图片是使用“PictureBox”添加的。如果输入的用户名和密码不符时。将会出现下面的messagebox:图书馆管理系统您输入的密码和用戶名不符洁重新输入rIfuser_name_txt.Text=Then程序代码分析PrivateSubCommandl_Click()tushuguanAndpassword_t

31、xt.Text=tushuguanmain.Showlogon.HideElseMsgBox您输入的密码和用户名不符,请重新输入!,vbOKOnlyEndIfEndSub说明user_name_txtText:“用户名”后面的Text框中输入的字符串。password_txtText:是指“密码”后面的Text框中输入的字符串。main:主页面的名称。logon:登陆页面的名称。MsgBox:vb6.0提出的呼出messagebox时使用的函数。此段代码是确定按钮(Command1)的Click事件,它的功能是判断当用户名和密码都是tushuguan时显示主页面(Main.Show),关闭登陆

32、页面(Logon.Hide);否则就显示messagebox“你输入的密码和用户名不符。请重新输入!(MsgBox“你输入的密码和用户名不符.请重新输入!”,vbOKOnly)其中的vbOKOnly是在messagebox上显示一个确定按钮。本模块还有一个方便之处那便是当在“密码”处的Text框中输入“tushuguan”后系统会把焦点直接落在确定按钮上.所以在正确输入用户名和密码后直接按回车键便可以进入系统的主页面了。其代码及实现过程如下:双击“密码”处的Text框输入以下代码:PrivateSubpassword_txt_Change()Ifpassword_txt=tushuguanTh

33、enCommandl.SetFocusEndIfEndSubpassword_txtText:是指“密码”后面的Text框中输入的字符串。Commandl:确定按钮的名称。此段代码是在确定了“密码”处的Text框中输入的是“tushuguan”以后,自动把焦点落在确定按钮上(Command1.SetFocus),其中SetFocus是vb60中表示焦点的参数。此外,要想使Text框在输入时不显示岀输入内容,可以在Text框的属性PasswordChar中填上“*”号,这样在输入时不论输入的是什么,显示出来的都是“*”2、系统维护模块设计与实现本模块包括两个子模块:图书目录模块和读者明细模块。(

34、1)图书目录模块图书目录一览模块使用功能说明:图书目录一览模块的IPO图。(IPO是程序功能模块和数据,以及他们之间的连接关系集合,简单说IPO就是数据流)输入:无处理:从book表中查出所有的信息。输出:所有图书的信息,包括图书编号、图书名称、作者姓名、出版社、出版日期、单价和图书类别。模块所使用的数据表。本页面使用了DB1.MDB数据库中的book数据表。 操作。当进入主页面后,单击“系统维护”在下拉菜单中选择“图书目录”便会出现上面的界面,该操作是把数据库中的book”表的所有数据都查出来并显示在界面上相应的位置上。取消按钮的作用是回到主页面。模块界面:程序代码分析:单击菜单的“系统维护

35、”f“图书目录”,输出如下代码:定义变量DimlinePicturel.Visible=FalseFramel.Visible=FalseCommand12.Visible=FalseFrame5.Visible=FalseFrame3.Visible=FalseFrame4.Visible=FalseSSTab2.Visible=FalseSSTab1.Visible=True()PPH*PS-qp二(i7)PPH0S_QP=ibuuqnqo(g)ppij*ps_qp二gqstreqnqo(3)ppyps_qp二SuiuiSuixoqzonz(X)ppyps_qp二SuoqoSuiuinqs

36、nj(0)PPHos_QP二OEquqnqsmX+9ui二ouiq(銅砒皿)&Soaos旳=joa*Ps_qpoq0=sunTIMifihlMaui|$研,觀劇g零軸商ooqlbs關啊邸啊那S(medga-uo3)eseqeeauadoads)|MI/l-qi9=gal/l-qi9AS,ttt(o)saoedsi|JOM=ds帀Ml/TqiE)AS(口SlOS)spjo左爼ugdoWQAlArqQ二psqpps.可do?dWOHJ*IDHIHSn=口SlOS(qdaa-uo3)9Sqau9do*ds5MIArqi9=aaW_QI9PS(O)sMEds屮om=dsMJATQIOPS舸匡圳却,些匡

37、:三Tpueuiuios*zaunYqe丄SS山211$39骸站那(舸世土蜒&ias|Bj=eiqisiA杲f舸屈漳”fBenji=eiqisiA杲)轩鞘斓X3F:lAPlAgm丄二9qisiAjpumiraioa9hji=9iqjsiA79UH 为图书类别附leibie=db_set.Field(6)WithMSHFlexGridl定义列数.Cols=7定义列标题.TextMatrix(0,0)=“图书编号”.TextMatrix(0,1)=“图书名称”.TextMatrix(0,2)=“作者姓名”.TextMatrix(0,3)=“出版社”.TextMatrix(0,4)=“出版日期”.T

38、extMatrix(0,5)=“图书单价”.TextMatrix(0,6)=“图书类别”.TextMatrix(line,0)=tushubianhao.TextMatrix(line,1)=tushumingcheng.TextMatrix(line,2)=zuozhexingming.TextMatrix(line,3)=chubanshe.TextMatrix(line,4)=chubanriqi.TextMatrix(line,5)=danjia.TextMatrix(line,6)=leibie固定表头.FixedRows=1设置单元大小.ColWidth(O)=1000.ColWi

39、dth(1)=1000.ColWidth(2)=1000.ColWidth(3)=2000.ColWidth(4)=1000.ColWidth(5)=1000.ColWidth(6)=1000EndWithdb_set.MoveNextLoop此段代码的作用是通过DoWhile循环,把从数据库表book中查到的数据正确地显示在MSHFIexGrid控件中图书目录增加模块使用功能说明:图书目录增加模块的IPO图。输入:图书名称、作者姓名、出版社、出版日期、单价和图书类别。处理:1)查询数据库中的book表,将没有数据的最小的图书编号查询出来并显示到页面对应的位置上。并且其值不可手动改变。2)检查

40、页面上的文本框是否都填上了数据,如果有没填的要显示信息框,提示是哪一个文本框没有填,当点击确定按钮后重新填写。3)如果文本框都按要求填写完毕后,当点击增加按钮时将填写的内容插入到数据库中book表对应的位置。4)插入成功后要显示信息框“图书目录增加成功”,点击确定按钮后图书编号自动加一,其余各项清空。5)当点击取消按钮时,除图书编号外其余文本框都清空。输出:所有的图书信息,包括:图书编号、图书名称、作者姓名、出版社、出版日期、单价和图书类别。操作。图书编号已根据数据库中的数据查出最小的编号显示出来了,只需再填上“图书名称”、“作者姓名”、“出版日期”、“图书单价”、“图书类别”、“出版社”,然

41、后单击增加按钮即可将所输入的图书信息添加到数据库的book表中了。(注意:上述的六项必须全部填写,否则不能添加到数据库中)添加成功后会有messagebox提示添加成功。 模块界面:程序代码分析:Dimnum_fAsInteger定义第奇数个图书编号Dimnum_lAsInteger定义第偶数个图书编号Dimfgl_flgAsBoolean定义一个标志位num=0fgl_flg=TrueSQLStr=SELECTtushubianhaoFROMbookSetdb_set=Glb_MyDB.OpenRecordset(SQLStr)Ifdb_set.EOF=TrueThenTextl.Text=

42、1ExitSubEndIf此段是对book表中所有的tushubianhao进行查询DoWhiledb_set.EOF=FalseIffgl_flg=FalseThennum=dbset.Fields(0) Ifnum-num_f1ThenTextl.Text=num_f+1ExitSubEndIffgl_flg=TrueElsenum_f=db_set.Fields(O)Ifnum_f-num1ThenText1.Text=num+1ExitSubEndIffgl_flg=FalseEndIfdb_set.MoveNextLoop此段是通过两个相邻的图书编号之间的关系,找出应该显示在界面上的

43、图书编号(应该显示在界面上的图书编号是指数据库中最小的空IfText1.Text=ThenSQLStr=SELECTmax(tushubianhao)FROMbookSetdb_set=Glb_MyDB.OpenRecordset(SQLStr)Text1.Text=db_set.Fields(0)+1EndIf此段代码是指如果不存在不连续的记录时”界面上显示的图书编号是数据库中图书编号的最大值加一添加功能的实现是在增加按钮的Click事件(双击增加按钮)中输入以下代码:PrivateSubCommand2_Click()tushubianhao=Text1.Texttushubianhaot

44、ushumingcheng=Text3.Texttushumingchengzuozhexingming=Text5.Text把输入的字符串附给把输入的字符串附给把输入的字符串附给zuozhexingming把输入的字符串附给把输入的字符串附给把输入的字符串附给danjia把输入的字符串附给leibiechubanshe=Text7.Textchubanshechubanriqi=Text2.Textchubanriqidanjia=Text4.Textleibie=Text6.TextIftushumingcheng=ThenMsgBox请输入图书名称,vbOKOnlyExitSubEndI

45、f如果不输入图书名称,就会弹出messagebox“请输入图书名称”Ifzuozhexingming=ThenMsgBox请输入作者姓名,vbOKOnlyExitSubEndIf如果不输入作者姓名,就会弹出messagebox“请输入作者姓名”Ifchubanshe=ThenMsgBox请输入出版社,vbOKOnlyExitSubEndIf如果不输入出版社,就会弹出messagebox“请输入出版社”Ifchubanriqi=ThenMsgBox请输入出版日期,vbOKOnlyExitSubEndIf如果不输入出版日期,就会弹出messagebox“请输入3l出版日期”Ifdanjia=The

46、nMsgBox请输入图书单价”,vbOKOnlyExitSubEndIf如果不输入图书单价,就会弹出messagebox“请输入图书单价”Ifleibie=ThenMsgBox请输入图书类别,vbOKOnlyExitSubEndIf如果不输入图书类别,就会弹出messagebox“请输入图书类别”SetGlb_MyWkSp=Workspaces(O)SetGlb_MyDB=Glb_MyWkSp.OpenDatabase(Con_DBpath)对数据库的路径进行配制SQLStr=INSERTINTObookVALUES(&tushubianhao&,&tushumingcheng&,&zuozh

47、exingming&,&chubanshe&,&chubanriqi&,&danjia&,&leibie&)Glb_MyDB.ExecuteSQLStr把填写的数据插入到数据库的book表中MsgBox图书目录增加成功!,vbOKOnly显示messagebox”图书目录增加成功!”Textl.Text=Textl.Text+1Text2.Text=Text3.Text=Text4.Text=Text5.Text=Text6.Text=Text7.Text=把图书编号加一显示,其余的各项都清空 ExitSubEndSub本段代码的总体功能就是把新填写的图书信息插入到数据库的book表图书目录删

48、除模块使用功能说明:图书目录删除模块的IPO图。输入:图书编号、图书名称、作者姓名、出版社、出版日期、单价和图书类别。处理:1)在相应位置填写图书信息,点击确定按钮,以填写的数据为条件查询book表,并把满足条件的数据显示出来。2)如果输入内容时,显示数据库book表中的所有数据。3)点击确定按钮显示所有信息的同时,显示删除按钮。4)当点击删除按钮时,将页面上显示的所有数据从book表中删除。5)当点击取消按钮时,回到刚进入页面时的状态。输出:所有满足输入条件的图书信息,包括:图书编号、图书名称、作者姓名、出版社、出版日期、单价和图书类别。操作。先在左边的七个Text框中填写要删除的图书目录的

49、信息(可以不填满,也可以不填,不填时会将全部数据删除),点击确定按钮,此时会将输入信息所对应的记录查出并显示在界面上,同时界面上也会显示一个删除按钮,确认无误后,单击删除按钮便会把该记录从数据表中删除掉。模块界面:程序代码分析:PrivateSubCommand4_Click()tushubianhao=Text9.Text把输入的值附给图书编号tushumingcheng=Textll.Text把输入的(附给图书名称zuozhexingming=Textl3.Text把输入的值附给作者姓名chubanshe=Text14.Textchubanriqi=Text8.Textdanjia=Tex

50、tlO.Textleibie=Text12.Textwhere=把输入的值附给出版社把输入的值附给出版日期把输入的值附给单价把输入的值附给图书类别把where附成空值i=1Fori=1To9999WithMSHFlexGrid8.TextMatrix(i,0)=.TextMatrix(i,1)=.TextMatrix(i,2)=.TextMatrix(i,3)=.TextMatrix(i,4)=.TextMatrix(i,5)=.TextMatrix(i,6)=NextEndWith将控件中数据清控IftushubianhaoThenwhere=where&ANDtushubianhao=&t

51、ushubianhaoEndIf如果输入图书编号了就增加一个where条件(tushubianhao=“&tushubianhao)IftushumingchengThenwhere=where&ANDtushumingcheng=&tushumingcheng&EndIf如果输入图书名称了,就增加一个where条件(tushumingcheng=“&tushumingcheng&“”)IfzuozhexingmingThenwhere=where&ANDzuozhexingming=&zuozhexingming&EndIf如果输入作者姓名了,就增加一个where条件(zuozhexingm

52、ing=“&zuozhexingming&“”)IfchubansheThenwhere=where&ANDchubanshe=&chubanshe&EndIf同上原理IfchubanriqiThenwhere=where&ANDchubanriqi=&chubanriqi&EndIf同上原理IfdanjiaThenwhere=where&!ANDdanjia=&danjia&EndIf同上原理IfleibieThenwhere=where&!ANDleibie=&leibie&EndIf同上原理SetGlb_MyWkSp=Workspaces(O)SetGlb_MyDB=Glb_MyWkSp

53、.OpenDatabase(Con_DBpath)DimlineIfwhere=ThenSQLStr=SELECTCOUNT(*)FROMbookSetdb_set=Glb_MyDB.OpenRecordset(SQLStr)Ifdb_set.Fields(O)=0ThenMsgBox目前数据库中记录数为0。,vbOKOnlyExitSub在没有输入任何信息的情况下如果数据库中没有记录,则显示messagebox“目前据库中记录数为0。ElseMSHFlexGrid8.Visible=TrueSQLStr=SELECT*FROMbookSetdb_set=Glb_MyDB.OpenRecord

54、set(SQLStr)在没有输入任何信息的情况下,如果数据库有记录,则查询所有的记录line=0DoWhiledb_set.EOF=Falseline=line+1tushubianhao=db_set.Fields(0)tushumingcheng=db_set.Fields(l)zuozhexingming=dbset.Fields(2)chubanshe=db_set.Fields(3)chubanriqi=db_set.Fields(4)danjia=db_set.Fields(5)leibie=db_set.Fields(6)WithMSHFlexGrid8定义列数.Cols=7定义

55、列标题.TextMatrix(O,0)=图书编号.TextMatrix(O,1)=图书名称.TextMatrix(O,2)=作者姓名.TextMatrix(O,3)=出版社.TextMatrix(O,4)=出版日期.TextMatrix(O,5)=图书单价.TextMatrix(O,6)=图书类别.TextMatrix(line,0)=tushubianhao.TextMatrix(line,1)=tushumingcheng.TextMatrix(line,2)=zuozhexingming.TextMatrix(line,3)=chubanshe.TextMatrix(line,4)=ch

56、ubanriqi.TextMatrix(line,5)=danjia.TextMatrix(line,6)=leibie固定表头.FixedRows=1设置单元大小.ColWidth(O)=1000.ColWidth(l)=1000.ColWidth(2)=1000.ColWidth(3)=2000.ColWidth(4)=1000.ColWidth(5)=1000.ColWidth(6)=1000EndWithdbset.MoveNextLoop通过循环的方式把查到的数据显示岀来EndIfCommand6.Visible=TrueExitSubEndIfwhere=Mid(where,5,L

57、en(where)这一句是把where条件的前五个字节(AND)去掉,成为真正的where条件SQLStr=SELECTCOUNT(*)FROMbookWHERE&whereSetdb_set=Glb_MyDB.OpenRecordset(SQLStr)按照where条件查询,判断数据库中有没有数据Ifdb_set.Fields(O)=0ThenMsgBox没有满足条件的记录。,vbOKOnlyExitSub如果没有数据.则显示messagebox没有满足条件的记录。ElseSQLStr=SELECT*FROMbookWHERE&whereSetdb_set=Glb_MyDB.OpenReco

58、rdset(SQLStr)如果有数据。则把它们查出来line=0DoWhiledb_set.EOF=Falseline=line+1tushubianhao=db_set.Fields(O)tushumingcheng=db_set.Fields(l)zuozhexingming=db_set.Fields(2)chubanshe=db_set.Fields(3)chubanriqi=db_set.Fields(4)danjia=db_set.Fields(5)leibie=db_set.Fields(6)WithMSHFlexGrid8定义列数.Cols=7定义列标题.TextMatrix(

59、O,0)=图书编号.TextMatrix(O,1)=图书名称.TextMatrix(O,2)=作者姓名.TextMatrix(O,3)=出版社.TextMatrix(O,4)=出版日期.TextMatrix(O,5)=图书单价.TextMatrix(O,6)=.TextMatrix(line,0).TextMatrix(line,1).TextMatrix(line,2).TextMatrix(line,3).TextMatrix(line,4).TextMatrix(line,5).TextMatrix(line,6)固定表头.FixedRows=1设置单元大小图书类别=tushubianh

60、ao=tushumingcheng=zuozhexingming=chubanshe=chubanriqi=danjia=leibie.ColWidth(O)=1000.ColWidth(1)=1000.ColWidth(2)=1000.ColWidth(3)=2000.ColWidth(4)=1000.ColWidth(5)=1000.ColWidth(6)=1000EndWith把查出来的数据显示在界面上db_set.MoveNext为了显示下一条数据,数据库向下移动一条LoopEndIfMSHFlexGrid8.Visible=True让MSHFIexGrid8控件可示Command6.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论