(精品)教材管理系统(2013年优秀毕业设计)_第1页
(精品)教材管理系统(2013年优秀毕业设计)_第2页
(精品)教材管理系统(2013年优秀毕业设计)_第3页
(精品)教材管理系统(2013年优秀毕业设计)_第4页
(精品)教材管理系统(2013年优秀毕业设计)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

教材管理系统教材管理系统 指导教师签字指导教师签字 主主 任任 签签 字字 年 月 日 一、一、课题内容课题内容 1、教材管理系统发展的背景和现况 2、教材管理系统功能模块的设计与介绍 3、教材管理系统的系统介绍和使用 二、二、课题任务要求课题任务要求 1、了解教材管理系统发展状况和前景 2、教材管理系统的功能模块的设计 3、教材管理系统的详细设计 4、教材管理系统平台的建设 目目 录录 第一章第一章 引言引言3 1.1 背景3 1.1.1教材管理系统 3 1.1.2信息管理系统 3 1.2 开发教材管理系统的目的和原则5 1.3 开发环境介绍.6 1.3.1 开发平台.6 1.3.2 数据库查询语言SQL8 1.3.3 数据库设计工具ACCESS 数据库管理系统.9 第二章第二章 系统设计系统设计.11 2.1 系统分析.11 2.2 系统流程和操作方式设计13 第三章第三章 系统界面设计系统界面设计14 3.1 系统界面设计.14 3.2 系统的界面及窗体16 3.2.1 下面是系统的主要窗体16 3.2.2 界面多文档(MDI)frmDMI 的设计及代码.17 第四章第四章 数据库的设计数据库的设计32 4.1 数据库设计32 4.1.1 数据库概念和发展32 4.1.2 数据库模型及参照完整性.33 4.1.3 数据库的建立与连接 34 4.2 数据库查询设计36 4.2.1 查询功能简介 36 4.2.2 查询功能实现的相关技术 36 4.2.3 查询功能的具体实现 38 4.3 系统测试与评价.40 总总 结结41 致致 谢谢.42 参考文献参考文献.43 第一章第一章 引言引言 1.11.1 背景背景 1.1.11.1.1教材管理系统教材管理系统 学校教材管理主要是由教材计划制定、采购、入库、发放、 记账、结算等一系列工作所组成,该工作各院校都设有专门机 构负责该项工作,通常是教材科。由于学校中专业设置门类多, 各专业每期开设课程种类多其业务不仅涉及出版部门,而且要 面对全校各系、部的授课教师,各班级的学生,每期教材科涉 及管理的入出库教材种类少则几百多则几千种,涉及教材册数 少则几千多则几万,涉及人员广,工作量大,再者特别是近年 来,我国高等教育规模的不断扩大,学校学生 人数迅速增加, 使教材管理工作更加繁重不堪。据调查,到目前为止,我国还 有许多学校甚至是一些重点院校的教材管理仍为手工管理方式, 这种现状不但与现实学校教材管理的业务需求不相适应,并且 也与学校信息化建设的发展趋势不相适应,因此,学校教材管 理人员目前迫切需要一套方便、高效的计算机化的管理信息系 统来代替他们繁琐、低效的传统手工管理方式,并最终实现教 材管理的全面自动化。 1.1.21.1.2信息管理系统信息管理系统 (1) 、信息管理系统的简介 教材管理系统属于信息管理系统中的一个具体信息管理 类型,而所谓的管理信息系统也就是我们常说的 MIS(Management Information System)它是“由人、计算机 等组成的能进行信息的收集、传送、储存、加工、维护和使用 的系统。管理信息系统能实测企业的各种运行情况利用过去的 数据观测未来;从企业全局出发辅助企业进行决策;利用信息 控制企业的行为;帮助企业实现其规划目标。 ”在当今这个强 调管理、强调信息的时代,MIS 变得越来越普及。MIS 作为一 门新的学科,它跨越了多个领域,如:管理科学、系统科学、 运筹学、统计学以及计算机科学。在这些新兴的学科基础上发 展出一种信息收集和加工的方法,最终形成现在一个纵横交织 的系统。本系统为单机版运行方式,对于硬件的要求比较小, 能够在任何运行图形化 Windows 视窗操作系统上运行。另外需 要说明的一点是,限于技术的原因,目前国内还没有出现更高 级的管理模型开发方法,所以本系统采用广泛使用的 MIS 系统。 (2) 、信息管理系统的概况和发展方向 第一阶段:统计系统,所研究的内容是数量数据间表面的 规律,它可以把数据分成较相关和较不相关的组,然后把数据 转换为信息。 第二阶段:数据更新系统。 第三阶段:状态报告系统,它可以分为生产状态报告、服 务状态报告和研究状态报 告等系统。 第四阶段:决策支持阶段,它是用来辅助决策的信息系统, 该系统可以计划、分析方案,审查解答和求解的误差。它具有 较好的人机对话方式,可以和不怎么熟悉计算机的管理人员通 话。它一般包括一些模型用以产生决策信息,但不强调全面的 管理功能。 (3) 、 管理信息系统的发展方向 从国际技术发展来看,20 世纪 90 年代出现了几种全新的管理技 术: BPR企业过程重组;IDDS智能化决策支持系统;Lean Production 精良生产;Agile Manufacture灵捷制造。 相应的 MIS 开发技术在 20 世纪 90 年代也有了新的发展: 信息综合集成和 Internet/Intranet。 1.21.2 开发教材管理系统的目的和原则开发教材管理系统的目的和原则 开发教材管理系统的目的就是充分利用计算机和现代办公 软件,摆脱传统办公工具,用计算机实现集中方便的管理工作, 把学校教材科的工作人员从繁重的体力劳动中解脱出来以达到 提高工作效率和质量,最终实现教材管理的全面自动化为和现 代化。要实现这个目标在开发过程中应遵循以下几条原则: 1.、从实际出发,总结借鉴吸收相结合的原则 参照并保留了其他软件的征订、采购、发行、结算等常规 应用部分,改变了原来库连接方式,所有库连接形成一个整体, 增强了智能化和自动化 程度。具有独立的设计构思,方便、 快捷、简单、实用。 2、编制和实施操作的现实性 . 该教材管理系统是我们在 Windows 操作平台下开发的初级 版本,既考虑了与旧的方法的衔接,又注意了新情况新特点, 注意承上启下,运算规则(规律)更具科学性。在编制过程中, 我们既考虑了与现实旧软件和手工操作的衔接,又注意了新方 法的应用,增加了可操作性,现实、可靠、 即时使用。逐步成 熟后,可随着技术条件的改进和提高,随时升级可见的用户界 面要求系统的大部分功能在菜单或工具栏级别上通过简单 的鼠标点击完成 3、教材管理的框架,应以科学严谨,各种新思想,新方 法构筑完备为原则 既要保证教材管理系统的科学性、完整性、系统性,又注 意到教材管理的灵活性和可操作性。同时又较好的解决了教材 管理工作的部分难点问题,比如多价书的征订采购发行,到货 前书目替换,大量的录入工作,查找书目难以操作等等。 4、统要有简单可得的帮助 整的工具栏、状态栏和系统帮助。 1.31.3 开发环境介绍开发环境介绍 使用 Visual Basic 6.0 作为管理系统的开发平台, ACCESS2000 用于数据源的开发;使用 ODBC(开放式数据库连接) 进行对数据源的连接,SQL 结构化查询语言用于实现查询功能。 之所以采用 vb 作为开发平台主要是考虑到对此种语言的熟悉性 以及使用 vb 能够在较短的时间内给用户提供友好的界面和完善 的功能,缩短了开发周期。而数据源的开发最初是想使用 SQL Server 企业管理器进行的,但是考虑到 ACCESS 的简单易用性, 最终还是采用了 ACCESS2000。 1 1.3.1.3.1 开发平台开发平台 用 Visual Basic 60 作为数据库开发平台,3.0 版以后的 Visual Basic 具有数据库连接和数据处理功能,因此完全有资 格作为数据库应用程序的开发环境。Microsoft 公司把许多新的 数据访问功能加到 Visual Basic 中,使得该产品成为桌面数据 库市场中 Access、FoxPro 及 Paradox for Windows 的直接竞争 者。与普通的数据库系统相比,用 Visual Basic 作为数据库开 发平台有以下优点: (1)、简单性 Visual Basic 提供了数据控件,利用该控件,用户只要编 写少量的代码甚至不编写任何代码就可以访问数据库,对数据 库进行浏览。 (2)、灵活性 Visual Basic 不像一般的数据库(如 Access)那样局限于特 定的应用程序结构,也不需要用某些指令对当前打开的数据库 进行操作,因而比较灵活。 (3)、可扩充性 Visual Basic 是一种可以扩充的语言,其中包括在数据库 应用方面的扩充。在 Visual Basic 中,可以使用 ActiveX 控件 (以前版本中称为 VBX 或 OLE 控件),这些控件可以由 Microsoft 公司提供,也可以由第三方开发者提供。有了这些控件,可以 很容易地在 Visual Basic 中增加新功能,扩充 Visual Basic 数据存取控制的指令系统。 用 Visual Basic 6.0 作为数据库 前端,数据库前端是一个计算机应用程序,用该程序可以选择 数据库中的数据项,并把所选择的数据项按用户的要求显示出 来。数据库系统本身被称为后端,后端数据库通常是一个关系 表的集合。之所以选择 Visual Basic 作为开发数据库前端应用 程序的工具,主要是因为 Visual Basic 可以和多种数据库连接。 也就是说,目前较为流行的大多数数据库都可以与 Visual Basic 连接,因而可以用 Visual Basic 开发相应的前端应用程 序。Visual Basic 通过不同的方式与各种数据库进行连接,主 要有三种方式,即 Access 数库引擎、MicrosoftODBC 驱动程序、 第三方 ODBC 驱动程序。 AAccess 数据库引擎 Access 是 Visual Basic 的“内部数据库”,即在 Visual Basic 中可以直接建立 Access 数据库。同时,通过 Access 数 据库引擎,还可以使用下列数据库: Btrieve(.DAT) dBASE(.DBF/.NDX) Foxpro(.DbF/.CDX/.NDX) Paradox(.DB, .PX) BMicrosoft ODBC 通过Microsoft ODBC 驱动程序,可以使用下列数据库: Microsoft SQL Server Oracle Sybase SQL Server Excel(.XLS) Text(.TXT) Access(.MDB) Btrieve DBASE FoxPro Paradox 上面所列的数据库中,除前三种外,其余数据库均包含在一 套 Microsoft ODBC 桌面数据库驱动程序及 Microsoft Query 中。 1.3.21.3.2 数据库查询语言数据库查询语言SQLSQL Visual Basic是数据库开发的主要开发工具,同时为了实 现查询的功能以及系统的一些相关功能,SQL语言的使用也是必 不可少的,SQL语言即结构查询语句,SQL语言之所以能够为用 户和业界所接受,成为国际标准,是因为它是一个综合的、通 用的、 功能极强,同时简洁易学。SQL语言集数据查询(data query)、 数据操纵(data manipulation) 、数据定义(data definition) 和数据控制(data control) 功能于一体,充分 体现了关系数据语言的特点和优点。 其主要特点包括: ()综合统一 主要功能是通过数据库支持的数据语言来实现的。 非关系模型(层次模型, 网状模型)的数据语言一般都 分为模式数据定义语言(schema data definition language , 简称模式DDL),外模式数据定义语言(subschema data definition language,简称外模式DDL)与数据存储有关的描述 语言(data storage de-scription language,简称DSDL)以及数 据操纵语言(data manipualtion language,简称DML) ,分别 于定义模式, 外模式,内模式和进行数据的存取与处置。当用 户数据库投入运行后,如果需要修改模式,必须停止现有数据 库的运行,转储数据,修改模式并编译后再重装数据库,因此 很麻烦。 ()高度非过程化 非关系数据模型的数据操纵语言是面向过程的语言,有 其完成某项请求,必须指定存取路径。而用SQL语言进行数据 操作,用户只需提出“做什么”,而不必指明“怎么做”,因 此用户无需了解存取路径,存取路径的选择以及SQL语句的操作 过程均由系统自动完成。这不但大大减轻了用户负担,而且有 利于提高数据独立性。 ()面向集合的操作方式 非关系数据模型采用的是面向记录的操作方式,任何一 个操作其对象都是一条记录。例如,查询所有平均成绩在 分以上的学生姓名,用户必须说明完成该请示的具体处理过程, 即如何用循环结构按照某条路径一条一条地把满足条件的学生 记录读出来。而SQL语言采用集合操作方式,不仅查找结果可以 是元组的集合,而且一次插入,删除,更新操作的对象也可以 是元组的集合。 (4)语言简洁,易学易用 SQL 语言功能极强,但由于设计巧妙,语言十分简洁,完 成数据定义,数据操纵,数据控制的核心功能只用了个动词: CREATE、DROP、SELECT、ENSERT、UP- DATE、DELETE、GRANT、REVOKE、ALTER.而且SQL语言语法简单, 接近英语口语,因此容易学习,容易使用。 1.3.31.3.3 数据库设计工具数据库设计工具ACCESSACCESS 数据库管理系统数据库管理系统 ACCESS 数据库是个人、部门及企业管理数据的最易操作的 新一代数据库。它兼容传统的数据库,同时进一步增强了 web 支 持。可以非常方便地跨平台作业和共享数据。 ACCESS 具有一个数据库管理系统所应具有的功能。Access 2000 是一个面向对象的采用时间驱动机制的新型关系数据库管 理系统。它可以通过 ODBC 与其他数据库相连, 实现数据交换与 共享数据库是进行信息管理的基础。利用计算机进行信息管理首 先要建立数据库。ACCESS 2000 可以用作企业级后端数据库(如 Microsoft SQL Server)的前台客户端。ACCESS 有两种使用方 式:作为创建个人或部门数据库的独立应用程序,或作为更强健、 更具扩展性的后端数据库的接口客户端。不论选用了何种后端数 据源,最终用户都将得到使用流行的桌面数据库客户端时易于使 用的好处。 1、 信息查找和使用更容易的特征 (1)将数据库转换成以前的 ACCESS 版本,ACCESS 用户首先可 以将数据库保存为以前的 ACCESS 版本,是不同版本的软件用户 共享数据更加方便。 (2)对数据库窗口进行更改,以便容纳在 ACCESS 2000 种现实 的新对象,这样可以提高可用性,并使其同整个 OFFICE 2000 所使用的新用户界面相一致。 (3)名称自动更正特征能够自动解决用户重命名数据库对象时 所产生的不匹配问题。例如,当用户重命名表中的字段时,更 改将被自动传递到相关的对象(例如查询和窗体),以便用户可 以继续使用应用程序。 (4)条件格式支持负数和正数,并可以将表示成小于、大于、 介于和等于的值。此外,用户还可以根据用户定义函数设置格 式。用户可以根据值设置颜色、背景、样式。 (5)子数据表提供数据纲要,以在同一窗口中查看和编辑所有 相关数据。 (6)用户可以将数据从 Microsoft Access 导出到 Microsoft Excel,方法是将 Access 对象(表格、查询等)从数据库容器 拖放到 Microsoft Excel。这提供了一种将数据迅速导出到 Excel 进行进一步分析的快速方法。 (7)直接从“窗体”视图更改字段(例如,颜色或字体)更方 便了。 (8)Access 具有打印“关系”窗口的视觉图表的能力,可让用 户更加方便地查看数据库的结构。 (9)控件分组特性允许用户将控件作为单个单元进行分组,使 窗体的设计更容易。 (10)在关闭文件时,如果占用磁盘空间太多,Access 2000 会 自动压缩数据库。这可以确保使 Access 数据库尽可能地小。 2、 具有 Web 特性的信息共享特性 3、 丰富的信息管理分析工具 (1)Microsoft Access 2000 支持 OLE DB,允许用户将 Access 界面的易用性和企业后端数据库(例如,Microsoft SQL Server)的可伸缩性结合起来。 (2)Access 界面可以创建一种新的文本类型(.adp) ,该文件类 型可直接连接到 Microsoft 数据库引擎(MSDE)和 Office 中与 SQL 服务器兼容的数据存储区、SQL Server6.5 或 SQL Server7.0。这使用户可以方便地利用 Access 中熟悉的界面来 创建真正的客户端服务器应用程序。 (3)(新的设计工具允许用户在处理 Microsoft Access 项目文 件( .adp)时,方便地创建和管理服务器端的对象,其中包括 表格、视图、存储的过程和数据库图表。 (4)Microsoft Access 2000 允许用户执行和管理普通 Microsoft SQL Server7.0 管理任务,例如复制、备份与恢复、 以及完全性。 第二章第二章 系统设计系统设计 2.12.1 系统分析系统分析 系统分析的任务是明确教材数据库管理系统开发的目的、系统 应用的功能等,主要有以下步骤: 1. 软件结构分析 对于大型系统的设计,通常分为两个阶段:结构设计和过程设 计。 结构设计:确定系统由哪些模块组成,以及这些模块之间的相 互关系。 过程设计:确定每个模块的处理过程 。其中,结构设计是总 体设计阶段的任务,而过程设计则是详细设计阶段的任务。这里 只是一个小型的数据库管理系统,只分析构成它们最基本的成分 以及所有这些成分之间的相互关系。结构分析就是系统分析人员 对完成任务的每一个工序进行分析的过程。 这里只画出其结构的业务流程与数据流成图,如图 2-1, 2- 2 教材预订 教材入库 教材发放 教材账务 预订查询 入库查询 库存查询 帐务查询 图 2-1 业务流程图 图 2-2 数据流程图 系统开发的过程首先是要确定需要建立的表格以及视图,即 首先完成数据库的设计,这个过程主要是通过 Access 的使用完成 的;其次,就是进行界面的设计,这个过程是在 VB 中完成的,它 是系统开发中比较重要的一步,系统界面在用户对软件的评价中 占有很大的比重,影响到本次开发的成功与否,所以在后面将有 专门一部分论述界面设计。最后就是功能编码功能的实现了,作 为一个程序员来说,这一部分的工作相对简单,需要注意的主要 是 SQL 语言在程序中的嵌套以及部分 API 函数的调用。 2. 工作量分析 对工作量的分析,是以分析传统教材管理系统的各种工作量为 基础的。分析包括输入量分析,输出量分析,文档结构,程序编 制,调试状况分析,一般有: (1)问题分析与综合 (2)数据库组织与结构的分析 (3)文档结构分析与编制 (4)子系统处理过程分析 (5)书目记录的种类分析 (6)与用户充分交流的分析 (7)输出产品的种类格式分 (8)程序编制、调试状况分析 (9)软件测试对象的分析 2.22.2 系统流程和操作方式设计系统流程和操作方式设计 教材管理系统的工作流程建立在传统手工工作流程的基础上, 但又不能完全等同于手工工作流程。因为教材管理系统毕竟不同 于传统手工作业,从效率上来说,前者也高于后者,前者只需要 少量的人工干预就能够实现教材信息的集中管理。 首先,在流程安排上应尽量避免数据的重复输入,实现从采 购到发放一次输入的数据得到多次使用,以提高系统的工作效率。 这一步很大程度依赖于数据库的设计。 其次,选择合适的操作方式。计算机系统操作方式有两种: 一种是联机操作方式,即人机交互方式 ;另一种是脱机操作方式, 它是将事先设计好的一套操作程序以作业的形式提交给计算机, 由计算机依托几批处理的方式完成这套操作,并将处理结果通过 系统打印输出。本次设计的教材管理系统属于第一种操作方式, 需要用户输入信息完成操作。之所以采用这种方式,主要是考虑 到此数据库管理系统的实时性需求,因为数据库随时可能都需要 得到改变。 第三章第三章 系统界面设计系统界面设计 3.13.1 系统界面设计系统界面设计 1、 为了设计出符合一般标准又具有特色的界面,系统开发时要 遵循以下开发原则: (1) 保证界面设计的风格具有一致性。 (2) 界面设计时,控件的摆放要协调和匀称。 (3) 常用操作(如教材管理、查询 、打印等操作)应建立 快捷方式,方便管理员日常操作。 (4) 提供信息反馈,对一些不常见的操作和至关重要的操作, 系统应该能反馈信息。 (5) 提供错误处理信息,在出现错误时,系统应该能检测出 错误并提供错误处理的功能;错误出现后,系统的状态 不发生变化,或者系统要提供错误恢复的向导。 (6)为了方便管理员的管理应设置工具栏和状态栏。 系统的总体设计,预订需要设计几个具有主要功能的窗 体,其中系统主要功能界面是最主要的,是设计的重点。该界 面上包括了系统的功能查询以及触发其他单项功能界面的快捷 方式,如教材管理、查询、打印与报表等。 2、系统结构 本系统是以教材管理业务为原型设计开发的,教材科的日 常业务大体上有如下几项: (1) 教材预订。教材的预订工作基本上是由系、部来完成。 教材科将教材征订通知下发到各系、(轮流传阅), 各系从中选订所开课程的教材,填写预订单,经系、 部汇总报教材科。教材科汇总报教务处审批后,编制 填写正式订单寄发到各出版社。 (2) 教材入库业务。出版社按订单如期如数发书,教材科 查收入库。 (3) 教材发放。按预订数量发放专业和年级用书。通常是 以系、班级为单位领进行领书。 (4) 查询,这项工作包括四项内容,其一是预订查询及时 了解各系教材的订购情况;再就是入库查询及时掌握 入库情况;第三是库存查询情况;第四是帐务查询, 主要记录学生、班级、教师领教材的详细情况。 (5) 打印与报表,主要用于订书、购书、发书清单的打印。 (6) 系统管理主要包括用户、密码的更改,学生信息管理 和数据库的维护。 (7) 选项和系统帮助能使用户快速得到帮助。 3、教材管理系统功能模块设计图 根据上述我们对教材管理业务流程和数据流程的调查分析, 并根据模块划分原则,同时考虑到用户对新系统的易学易用性, 我们将新系统划分为如 3-1 图所示的功能模块结构: 图 3-1 功能模块结构 3.23.2 系统的界面及窗体系统的界面及窗体 3.2.13.2.1 下面是系统的主要窗体下面是系统的主要窗体 图图 3-23-2 登录窗口登录窗口 图图 3-33-3 系统界面系统界面 当系统管理员想进入系统时,在登录窗体(图 3-2)中输入用户 名和密码,点击确定按钮,就可进入教材管理系统的主窗体界面 (图 3-3),管理员就可以进行如下的工作: (1) 通过订书单来确定所需要订的书。 (2)把订书单和库存做比较得出还需要订阅的书的名称、数量 等。 (3)把所需要订阅书导出到订书表,通过订书表向各出版社订 书。 (4)等所需要的书到了,把它们进入库存,更新库存数据库。 (5)比较新库存和订书单,导出各学生,各班级,各系的发 报表。 (6)按照发书报表进行发书,更新库存,并备份原来的库存, 比较一下是否有错。 (7)按照学生的发书报表发书,并把各学生的领书清单打印发 给学生。 用户界面是开发应用程序的最主要的组成部分,用户界面设 计的优劣决定了应用程序的 易用性、易操作性,基于 windows 应用程序的用户界面的样式主要有两大类:单文档界面(SDI) 和多文档界面(MDI) 。采用单文档还是多文档要看应用程序的 目的如本例就是用的多文档(MDI)的样式,因为一个处理教材 管理的用户很可能会同时进行几种操作,这样用户就可以在不 同的窗口进行切换操作。 3.2.2 界面多文档(界面多文档(MDIMDI)frmDMIfrmDMI 的设计及代码的设计及代码 1、frmDMI 窗体是系统的主窗体(图 3-3) ,这里是用户 最常用的部分其代码为 Private Declare Function GetMenu Lib “user32“ (ByVal hwnd As Long) As Long Private Declare Function GetSubMenu Lib “user32“ (ByVal hMenu As Long, ByVal nPos As Long) As Long Private Declare Function SetMenuItemBitmaps Lib “user32“ (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long Const MF_BYPOSITION = “ Jet OLEDB:Database Password=*;“ db.Open strConn Set adoPrimaryRS = New Recordset adoPrimaryRS.Open “select * from xsxxb Order by 学 号“, db, adOpenStatic, adLockOptimistic Set grdDataGrid.DataSource = adoPrimaryRS mbDataChanged = False End Sub Private Sub Form_Resize() On Error Resume Next 当窗体调整时会调整网格 grdDataGrid.Height = Me.ScaleHeight - 30 - picButtons.Height - picStatBox.Height lblStatus.Width = Me.Width - 1500 cmdNext.Left = lblStatus.Width + 700 cmdLast.Left = cmdNext.Left + 340 End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If mbEditFlag Or mbAddNewFlag Then Exit Sub Select Case KeyCode Case vbKeyEscape cmdclose_Click Case vbKeyEnd cmdlast_Click Case vbKeyHome cmdfirst_Click Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then cmdfirst_Click Else cmdPrevious_Click End If Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then cmdlast_Click Else cmdnext_Click End If End Select End Sub Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 为这个 recordset 显示当前记录位置 lblStatus.Caption = “第“ & CStr(adoPrimaryRS.AbsolutePosition) & “条记录“ lblStatus.ForeColor = &HFF End Sub te Sub adoPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) 验证代码置于此处 下列动作发生时该事件被调用 Dim bCancel As Boolean Select Case adReason Case adRsnAddNew Case adRsnClose Case adRsnDelete Case adRsnFirstChange Case adRsnMove Case adRsnRequery Case adRsnResynch Case adRsnUndoAddNew Case adRsnUndoDelete Case adRsnUndoUpdate Case adRsnUpdate End Select If bCancel Then adStatus = adStatusCancel End Sub Sub cmdadd_Click() On Error GoTo AddErr adoPrimaryRS.MoveLast adoPrimaryRS.AddNew grdDataGrid.SetFocus Exit Sub AddErr: MsgBox Err.Description End Sub Private Sub cmdDelete_Click() On Error GoTo DeleteErr With adoPrimaryRS .Delete .MoveNext If .EOF Then .MoveLast End With Exit Sub DeleteErr: MsgBox Err.Description End Sub Private Sub cmdRefresh_Click() 只有多用户应用程序需要 On Error GoTo RefreshErr Set grdDataGrid.DataSource = Nothing adoPrimaryRS.Requery Set grdDataGrid.DataSource = adoPrimaryRS Exit Sub RefreshErr: MsgBox Err.Description End Sub Private Sub cmdEdit_Click() On Error GoTo EditErr lblStatus.Caption = “编辑记录“ mbEditFlag = True SetButtons False Exit Sub EditErr: MsgBox Err.Description End Sub Private Sub cmdcancel_Click() On Error Resume Next SetButtons True mbEditFlag = False mbAddNewFlag = False adoPrimaryRS.CancelUpdate If mvBookMark 0 Then adoPrimaryRS.Bookmark = mvBookMark Else adoPrimaryRS.MoveFirst End If mbDataChanged = False End Sub Private Sub cmdupdate_Click() On Error GoTo UpdateErr adoPrimaryRS.UpdateBatch adAffectAll If mbAddNewFlag Then adoPrimaryRS.MoveLast 移到新记录 End If mbEditFlag = False mbAddNewFlag = False SetButtons True mbDataChanged = False Exit Sub UpdateErr: MsgBox Err.Description End Sub Private Sub cmdclose_Click() Unload Me End Sub Private Sub cmdfirst_Click() On Error GoTo GoFirstError adoPrimaryRS.MoveFirst mbDataChanged = False Exit Sub tError: MsgBox Err.Description End Sub Private Sub cmdlast_Click() On Error GoTo GoLastError rimaryRS.MoveLast mbDataChanged = False Exit Sub tError: MsgBox Err.Description End Sub Private Sub cmdnext_Click() On Error GoTo GoNextError If Not adoPrimaryRS.EOF Then adoPrimaryRS.MoveNext If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount 0 Then Beep 已到最后返回 adoPrimaryRS.MoveLast End If 显示当前记录 mbDataChanged = False Exit Sub GoNextError: MsgBox Err.Description End Sub Private Sub cmdPrevious_Click() On Error GoTo GoPrevError If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious If adoPrimaryRS.BOF And adoPrimaryRS.RecordCount 0 Then Beep 已到最后返回 adoPrimaryRS.MoveFirst End If 显示当前记录 mbDataChanged = False Exit Sub GoPrevError: MsgBox Err.Description End Sub Private Sub SetButtons(bVal As Boolean) cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Visible = bVal cmdRefresh.Visible = bVal cmdNext.Enabled = bVal cmdFirst.Enabled = bVal cmdLast.Enabled = bVal cmdPrevious.Enabled = bVal End Sub 3、 密码更改-通过用户对自己的密码进行修改如图 3-6 图 3-6 其代码如下: Private Sub cmdOk_Click() Set DbRs = New ADODB.Recordset If txtSecond.Text 0 Then recordset5.MoveFirst While Not recordset5.EOF If recordset5.Fields(“班级“).Value = cbbxclass.Text Then num = num + 1 End If recordset5.MoveNext Wend End If txtnum.Text = num End Sub(详细的代码见源程序) 6、查询 查询是本系统的重点部分之一,系统功能的强大与否与数 据库的的查询有密切的关系如图 3-10、3-11 图 3-10 图 3-11 这里的查询条件:发票号码、书名、入书日期、经手人、选 择那个字段就可以对那个字段进行查询,可以复合查询。 以上只是对多文档(MDI)的部分窗体的说明详细请参见 “系统帮助”部分 第四章第四章 数据库的设计数据库的设计 4.14.1 数据库设计数据库设计 数据库设计的主要任务是在 SBMS(database management system)的支持下,按照应用的要求,数据结构的好坏将直接影响 到系统的效率以及实现的效果。好的数据库结构会减少数据库的 存储量、冗余度,数据的完整性和一致性比较高,系统具有较快 的响应速度,简化基于数据库的应用程序的实现方法等。 4.1.14.1.1 数据库概念和发展数据库概念和发展 数据库是存储在计算机内、有组织的、可共享的数据集合, 是许多应用软件的核心。数据库是专指使用管理系统及其类似软 件建立起来的并由数据库管理系统及类似软件所能存取和维护的 数据及数据间逻辑关系的集合体 众所周知,数据库系统不是在计算机产生的同时就出现的, 而是随着计算机技术的不断发展,在特定的历史时期、特定的需 求环境下出现的。人类在 1946 年发明了世界上的第一台计算机到 20 世纪 60 年代这漫长的 20 年里,计算机操作系统还主要局限于 文件的操作,同样,对数据的管理也主要是通过文件系统来实现。 进行计算所需要的各种数据存放在各自的文件里面。当要使用这 些数据的时候,将文件打开,计算机操作系统中的文件系统一般 不支持对文件的并发访问。而在现代计算机系统中,为了充分发 挥计算机系统的资源使用效率,一般都允许多个程序“同时”运 行,即并发性。对数据库系统提出了新的要求。 七十年代初,E.F.Codd 在总结前面的层次、网状数据库优缺 点的基础上,提出了关系数据模型的概念。他提出了关系代数和 关系演算。整个七十年代,关系数据库系统无论从理论上还是实 践上都取得了丰硕的成果。在理论上,确立了完整的关系模型理 论、数据依赖理论和关系数据库的设计理论等,这些关系数据库; 在实践上,世界上出现了很多著名的关系数据库系统,比较著名 的如 System R,INGRES,Oracle 等。 进入二十世纪八十年代之后,计算机硬件技术有了飞速的提 高。计算机技术的提高促使计算机应用不断深入,产生了许多新 的应用领域,例如计算机辅助设计、计算机辅助制造、计算机辅 助教学、办公自动化、智能信息处理、决策支持等。这些新的领 域对数据库系统提出了新的要求。但是由于应用的多元化,不能 设计出一个统一的数据模型来表示这些新型的数据及其相互关系, 因而出现了百家争鸣的局面,产生了演绎数据库、面向对象数据 库、分布式数据库、工程数据库、时态数据库、模糊数据库等新 型数据库的研究和应用。 不过到目前为止,在世界范围内得到主流应用的还是经典的 关系数据库系统,比较知名的如 Sybase,Oracle,Informix,SQL Server,DB2 等。 4.1.24.1.2 数据库模型及参照完整性数据库模型及参照完整性 数据库模型是数据库系统的核心和基础,通常由数据结构、 数据操作和完整性约束三部分组成。其中数据结构是所研究的对 象类型的集合,在数据库系统中通常按照数据库结构的类型来命 名数据模型,传统的数据模型有层次模型,网状模型和关系模型。 数据库操作是对数据库中的实例允许执行的操作的集合。数据库 主要有检索和更新两大类操作,数据库的约束条件是完整性规则 的集合,保证数据完整性是对数据库的一个很重要的要求,所谓 完整性就是数据的正确性、有效性和相容性。 按照数据模型的特点,可将传统数据库系统分为网状数据库, 层次数据库和关系数据库。 本系统的数据模型采用关系数据库模型。关系模型有下列一 些优点: 1数据结构简单 关系模型中,所谓的数据模型不过是一些表格框架,其中 公共的属性名指示着各表间的联系。 2可以直接处理多对多的关系 由于用表格数据直接表示两实体间的联系,因此能够直接 处理多对多的关系。 3能够一次提供一个元组集合 每一个查找命令都可以找到满足某种条件的所有记录。 4数据独立性高 关系模型中,用户只指出他所要存放的数据类型、数据长 度等数据本身的特性,而不需要设计这些数据的物理存放,因 而数据独立性较高。 数据库领域的专家们进行了关系理论的研究,这些工作使 得关系理论趋于完善,而且也促进了其它软件分支如软件工程 的发展。 当然,关系模型也有它自己的缺点,主要有: (1) 查询效率较低 关系模型的 DBMS 能够提供较高的数据独立性以及非过 程化的查询语言,因此系统的负担就很重,过去要程序员 完成的任务,例如寻找最佳的存取路径等工作,现在全部 由系统包办代替。这里面最影响效率的操作是进行笛卡尔 积运算和联结运算。 (2) 关系模型的系统要求应用程序员和 DBA 应熟悉关系数 据库设计理论 关系 DBMS 要求关系模式是规范化的形式,以简化操作,避免 一系列的潜在问题。 因此用户必须熟悉这些理论。这一点对普及应用有一定的影响。 4.1.34.1.3 数据库的建立与连接数据库的建立与连接 数据库建立首先必须明确数据库保存什么样的数据,然后设 计数据库,建立由字段组成的表,字段里定义要存储的数据类型 表 5-1 帐务查询表 字段名字数据类型字段说明 班级文本20 个字符 学号数字主键 姓名文本20 个字符 书名文本100 个字符 价格数字 数量数字 5-2 用户表 字段名字类型 字段说明 用户权限文本 主键 用户名文本 20 个字符 密码字符 数据库的建立代码: Private Sub cmdInsertDb_Click() Dim fs, d, s Set fs = CreateObject(“Scripting.FileSystemObject“) d = App.Path & “book.mdb“ CommonDialog1.DialogTitle = “请选择导入数据库“ CommonDialog1.Filter = “Access2000 的数据库 (*.mdb) |*.mdb“ CommonDialog1.ShowOpen e = CommonDialog1.FileName If e = “ Then Exit Sub End If lblInfo.Caption = “正在导入数据库“ Set dbConnection = Nothing Set dbRecordset = Nothing fs.copyfile e, d, True Form_Load lblInfo.Caption = “导入完成

温馨提示

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

评论

0/150

提交评论