信息管理系统设计指导【推荐-PPT】.ppt
第7章 信息管理系统设计指导 第7章 信息管理系统设计指导 7.1 数据库应用简介数据库应用简介 7.2 设计实例设计实例1:学生宿舍管理系统:学生宿舍管理系统(VFP编程编程)7.3 设计实例设计实例2:电信收费系统:电信收费系统(VB编程编程)第7章 信息管理系统设计指导 7.1 数据库应用简介数据库应用简介 7.1.1 计算机信息管理系统的数据模型计算机信息管理系统的数据模型数据模型是数据库系统的核心和基础,通常由数据结构、数据操作和完整性约束三部分组成。各种DBMS软件都是基于某种数据模型的。通常按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三大类。第7章 信息管理系统设计指导 7.1.2 主流数据库设计软件简介主流数据库设计软件简介 1IBM的的DB2/DB2 universal database简介简介作为关系数据库领域的开拓者和领航人,IBM于1980年开始提供集成的数据库服务器System/38,随后是SQL/DSforVSE和VM,其初始版本与SystemR研究原型密切相关。DB2forMVSV1在1983年推出,该版本的目标是提供这一新方案所承诺的简单性、数据不相关性和用户生产率。DB2以后的版本的重点是改进其性能、可靠性和容量,以满足广泛的关键业务的行业需求。1988年DB2forMVS提供了强大的在线事务处理(OLTP)支持,1989年和1993年分别以远程工作单元和分布式工作单元实现了分布式数据库支持。最近推出的DB2UniversalDatabase6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。第7章 信息管理系统设计指导 2Informix简介简介Informix公司在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。公司的名称Informix便是Information和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是InformixSE(StandardEngine)。InformixSE的特点是简单、轻便、适应性强。它的装机量非常大,尤其是在当时的微机Unix环境下,成为了主要的数据库产品。它也是第一个被移植到Linux上的商业数据库产品。第7章 信息管理系统设计指导 事实上,Internet的普及从Web开始。Web应用以简便和图文并茂见长。但充斥整个系统的HTML文件又将我们不知不觉地带回了文件系统的时代。采用数据库管理Internet信息遇到的第一个挑战就是复杂信息的管理问题,Internet的出现将“数据”的概念在实际应用中扩大了。为此,自1995年起,Informix便着手进行新一代数据库系统的设计。作为专业的数据库厂商,Informix首先针对Internet应用中数据类型的多样化,采用对象技术对关系数据库体系进行了扩展。与众不同之处在于,Informix并非将新的数据类型写在数据库核心中,而是将数据库系统中各个环节充分地抽象化,使用户有能力定义和描述自己需要管理的数据类型,将可管理的数据类型扩展到无限,同时适应了未来应用发展的需要。这就是Informix推出的数据库服务器InformixDynamicServer.2000(简称IDS.2000)。第7章 信息管理系统设计指导 3Sybase简介简介Sybase公司成立于1984年,公司名称“Sybase”的含义是“System”和“Database”相结合。Sybase公司的创始人之一BobEpstein是Ingres大学版(与System/R同时期的关系数据库模型产品)的主要设计人员。公司的第一个关系数据库产品是1987年5月推出的SybaseSQLServer1.0。Sybase首先提出了Client/Server数据库体系结构的思想,并率先在自己的SybaseSQLServer中实现。在此之前,计算机信息一般都存储在单一的主机中,最终用户一般都通过字符终端管理和访问主机,绝大多数的处理都由主机完成,终端主要完成输入和简单的显示功能。第7章 信息管理系统设计指导 这种主机/终端模式的软硬件费用相当高,中小型企业一般都无法实施。在20世纪70年代末80年代初,IT业发生了两件产生深远影响的事件:PC机和局域网络的迅速普及。PC机比终端的功能要强得多,局域网的速度也比主机终端之间的连接速度快得多,而且与主机系统相比,它们的费用较低。与此同时,工作站和小型机也飞速发展,在许多方面可以取代主机的功能,这些为实施Client/Server体系结构提供了硬件的基础。第7章 信息管理系统设计指导 4Oracle简介简介目前Oracle关系数据库产品的市场占有率名列前茅。其主要特性包括:(1)在支持数据共享方面,OracleiFS使Oracle8i服务器具备了模拟网络文件系统的能力,方便了网络文件共享。(2)在管理工具方面,EnterpriseManager管理工具配备了Java界面,提供了对多平台的访问能力。(3)在安全性能方面,增加了“虚拟专用数据库”,允许用户直接对表和视图设置安全机制。(4)在Java支持方面,Oracle8i内部实现了Java虚拟机,支持在服务器上存储和执行Java代码。第7章 信息管理系统设计指导 5MS SQL Server简介简介MSSQLServer是微软公司开发的一款非常优秀的数据库开发软件,较新的版本是SQLServer2000。SQL功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且可用于数据库中的数据修改和更新,概括起来,它可以分成以下几组:DML(DataManipulationLanguage,数据操作语言):用于检索或修改数据;DDL(DataDefinitionLanguage,数据定义语言):用于定义数据的结构,如创建、修改或者删除数据库对象;第7章 信息管理系统设计指导 DCL(DataControlLanguage,数据控制语言):用于定义数据库用户的权限。DML组可以细分为以下的几个语句:SELECT:用于检索数据;INSERT:用于增加数据到数据库;UPDATE:用于从数据库中修改现存的数据;DELETE:用于从数据库中删除数据。DDL语句可以用于创建用户和重建数据库对象。下面是DDL命令:CREATETABLE,ALTERTABLE,DROPTABLE,CREATEINDEX,DROPINDEX。第7章 信息管理系统设计指导 7.1.3 数据库设计技术的发展方向数据库设计技术的发展方向 1多媒体数据库多媒体数据库所谓多媒体数据库,是指数据库中相互关联的数据的集合,是多媒体文档的汇集。其中包括文本、图片、音频、视频、半结构化数据、存储在数据库系统中的元数据等。在传统的数据库中引入多媒体的数据和操作,是一个极大的挑战。多媒体数据库具有以下特点:(1)数据量巨大,数据长度的差异也极大,这给数据的组织和存储方法带来复杂性。由于数据量巨大,且数据的大小是可变的,无法预先估计,因此就需要组织好多媒体数据库中的数据,包括通过网络加以分布存储,选择设计合适的物理结构和逻辑结构,保证磁盘的充分利用和快速存取。第7章 信息管理系统设计指导(2)媒体种类增多,非格式化的数据多,数据结构复杂,给数据处理增加了困难。多媒体数据对应的是一个复杂的对象,每一种数据类型都要有自己的基本概念、数据定义、描述语言、数据结构、存取方法及操作语言等,很难构造出像常规数据一样的固定模型,也不能适应传统的关系数据库的处理方式。(3)需要支持声音与视频的同步机制。音、视频数据具有时间相关性、连续性、等时性(数据之间具有严格的时间间隔限制)、容错性(即使有一定的数据错误率,影响也不大)等特性,它们要求多媒体技术必须提供媒体流内部的同步机制、媒体流间的同步机制和人机交互的同步机制。第7章 信息管理系统设计指导(4)传统的只处理精确数据的概念和查询特点面临挑战,非精确匹配和相似性查询需求有待满足。多媒体的复合性和形象化特点,决定了只通过字符进行查询已不能适应需求,而应通过媒体的语义进行查询,但目前对基于多媒体内容的语义信息的确定和处理难度还比较大。(5)设备依赖性大,用户接口支持。对于多媒体的共性,每一种媒体的个性,都要在用户的接口上体现;用户对自己查询要求的描述,丰富的多媒体信息的查询结果,也需在用户接口上表现。第7章 信息管理系统设计指导(6)数据传送的要求高。无论音频媒体还是视频媒体,都要求连续传送或输出,否则将导致严重失真,影响效果。它要求CPU计算能力、I/O系统的吞吐率、动态内存的刷新速度、网络传送带宽、服务质量及软件算法等要比处理常规数据时高一个档次。第7章 信息管理系统设计指导 2面向对象数据库技术面向对象数据库技术面向对象的方法和技术最适合描述复杂对象,它通过引入对象的类型、方法、消息、封装和继承等概念,可以有效地描述各种对象及其内部结构和联系。在面向对象的系统中,用对象来描述数据和程序实体;对象按其性质可划分为不同的类;某一特定类的操作与规则称为方法;对象间的通信采用消息;每一对象的数据和操作该类对象的方法被封装在一起;通过继承可以在一个类的基础上建立子类,这样,多媒体资料可以抽象为被类型链链接在一起的结点网络。第7章 信息管理系统设计指导 利用上述特点就可以方便地描述多媒体信息,但目前面向对象数据库系统还不足以支持大规模数据的复杂查询。在这里需要指出的是,在支持XML格式的多媒体数据库的实现上,学术界是有不同看法的,一部分学者认为下一代数据库将是支持XML模型的新型的数据库,而另一部分学者则对此持否定态度,认为关系技术仍然是主流,无论是多媒体内容管理、XML数据支持,还是复杂对象支持等都将是在关系系统内核技术基础上的扩展。第7章 信息管理系统设计指导 7.1.4 数据库应用一般开发步骤数据库应用一般开发步骤数据库应用的一般开发步骤如下:(1)需求分析:这个阶段主要是通过调查研究,了解用户的具体需要,包括系统要实现哪些功能、数据完整性要求、系统安全性要求等。这一步的工作往往得不到重视,从而造成在后面的设计中出现不必要的麻烦,所以一定要重视需求分析阶段的工作,要尽可能写出详细的分析报告。(2)概念结构设计:这一步主要是产生一个概念模型,简要说明系统的数据流程。(3)逻辑结构设计:逻辑结构设计阶段的主要工作是把概念模型转换为关系数据模型。第7章 信息管理系统设计指导(4)物理结构设计:数据库的物理结构设计完全依赖于数据库软件和硬件设备,不同的数据库管理系统对物理结构设计的要求有很大差别,目前的关系数据库,对物理结构设计的要求很少,所以有时可以对这一步不作太多的考虑。(5)数据库的实施:首先要选择一种数据库管理软件来作为开发工具。数据库设计好后就是录入数据了,对大量的数据,可以设计导入模块来加快录入速度;对少量数据,可以用录入模块来实现。当然,对数据库的查询、修改等操作,也要设计出相应的模块。第7章 信息管理系统设计指导(6)数据库的运行与维护:数据库开发完毕后,就可以投入试运行了。该阶段主要是对系统进行调试和维护,优化系统性能,修改软件运行中出现的一些错误,有时还应根据用户要求对系统进行升级。当然,根据所开发系统的复杂程度,有些步骤可以简略,对于关键步骤则一定要做出详细的设计。第7章 信息管理系统设计指导 7.2 设计实例设计实例1:学生宿舍管理系统:学生宿舍管理系统(VFP编程编程)7.2.1 开发背景简介开发背景简介随着中国高等教育规模的不断扩大,各高校都面临着各种各样的问题,而共有的一个问题就是学生宿舍日益紧张。如何合理安排学生住宿是高校后勤改革中必须考虑的一个重要问题。设计一个宿舍管理系统可以使这个问题变得简单易行,并有一定的通用性,可以推广到不同的高校。第7章 信息管理系统设计指导 7.2.2 系统设计的基本要求系统设计的基本要求 1基本要求基本要求宿舍信息系统应该便于院系的宿舍管理,提高工作效率。能有效地对数据进行更新查询,并能在一定程度上实现自动化。(1)本系统的主要功能:数据管理功能、查询统计功能、学生宿舍管理功能、系统维护功能。数据管理功能为:学生信息管理、学院系班级管理、宿舍管理员管理、宿舍楼管理、宿舍管理、维修损坏物登记、宿舍评比管理、数据输入输出。查询统计功能为:查询学生信息、查询宿舍信息、查询空房空床信息、查询评比信息、统计评比信息。学生宿舍管理功能包括:新生入住分配宿舍、调换房间、学生退房功能。系统维护功能包括:用户管理、数据恢复、数据备份、数据维护功能。第7章 信息管理系统设计指导(2)系统性能:应方便快捷地完成宿舍管理的各项工作,数据查询速度快,查询安全、准确,数据合法性检验程度高。(3)系统输入:学生的各种信息。包括专业信息、系信息、班级信息。(4)系统输出:各种报表信息。第7章 信息管理系统设计指导 2设计条件设计条件(1)软件周期为5年。(2)硬件条件为PH或更高档的微机。运行时内存要求32MB。硬盘至少5MB。打印机可选。软件环境为中文Windows98/ME/2000。开发环境为VisualFoxPro6.0。第7章 信息管理系统设计指导 3系统技术分析系统技术分析(1)本宿舍管理系统的简单描述:宿舍管理系统采用常规的数据管理方法,根据宿舍信息管理的特点对数据库操作,如对数据的增加、删除、修改等。(2)数据流程。本系统数据流程如图7-1所示。图7-1数据流程图第7章 信息管理系统设计指导(3)与现有人工管理系统相比的优越性。宿舍管理系统有利于数据的集中、有效管理,与人工管理相比,本系统占据空间小,易更新,易备份,可有效地实现各种查询。第7章 信息管理系统设计指导 7.2.3 开发任务开发任务 1项目计划项目计划(1)模块划分:本项目设计的目的是为了方便地进行高等学校宿舍管理。主要有对学生宿舍的数据管理、查询学生住宿信息等功能,可分为四大模块:宿舍信息管理、学生信息管理、查询统计、学生住宿及其他功能。第7章 信息管理系统设计指导 宿舍信息管理包括:宿舍楼、宿舍、宿舍管理员管理,维修登记,损坏物品登记,宿舍评比等功能。学生信息管理包括:学生基本信息,系、班级、专业设置,数据导入与导出功能。查询统计包括:学生信息、宿舍信息、空房-空床查询、宿舍评比查询、统计评比情况等功能。学生住宿及其他功能:新生入住宿舍分配、调整宿舍、学生退房、用户管理功能。第7章 信息管理系统设计指导(2)需求分析说明。本系统应具有如下几点主要功能:数据管理功能。学生信息管理:对学生的信息进行管理。学校、院(系)、班级、专业管理:对各院(系)、班级和专业进行管理。宿舍楼管理:对本校所有宿舍楼信息进行管理。宿舍管理:对宿舍资源进行管理。维护损坏物品管理:对各宿舍损坏物品登记管理。宿舍评比管理:对各宿舍进行评比、登记和浏览。第7章 信息管理系统设计指导 查询与统计功能。查询学生信息:根据相关条件,查询学生信息。查询宿舍信息:根据相关条件,查询宿舍信息。查询空房、空床信息:查询某栋宿舍楼的空房、空床数据。查询宿舍评比情况:设定条件,查询宿舍评比情况。统计评比情况:分类统计宿舍评比情况。第7章 信息管理系统设计指导 学生住宿管理功能。新生入住:为新生分配宿舍。调换宿舍:完成宿舍人员调配。学生退房:完成毕业生或特殊情况学生的退房工作。第7章 信息管理系统设计指导 系统维护功能。用户管理:管理系统用户,设置用户权限、口令。数据备份:用户可随时备份数据。数据恢复:当数据被破坏时,可以用备份数据恢复。数据维护:提供数据更新功能。第7章 信息管理系统设计指导 2开发过程及步骤开发过程及步骤系统功能具体分析如下:(1)信息要求。数据管理。A学生信息管理:主要功能有增加、删除、定位等,用以对学生信息进行维护。它所涉及到的数据有学号、姓名、性别、出生年月、政治面貌、班组、入学年份、是否分配宿舍、照片等,其中“是否分配宿舍”由系统自动完成,用户不用修改其值。第7章 信息管理系统设计指导 B学院(系)、班级、专业管理:可完成对学院(系)、班级信息的管理。主要功能有增加、删除、修改和定位,涉及的数据有:学院(系):名称、代号、说明。班级:班级、专业、所在院(系)。专业:专业代号、专业名称、注释。C宿舍楼管理:可对多座宿舍楼进行增减,此管理功能的主要数据有楼号、宿舍数、床位数、管理员、注释。第7章 信息管理系统设计指导 D宿舍管理:对每个宿舍的资源进行管理,同样具有录入、修改、删除、定位等功能,其操作的数据有宿舍号、床位数、人数、电话号码、所在楼号、家具套数和其他。E宿舍评比情况:宿舍评比登记涉及的数据有宿舍号、地面得分、床铺得分、摆设得分、评比日期、评比单位等。F损坏物品-维修登记:当宿舍需要维修物品时,可先登记,并可根据用户需要对数据查询、打印。主要数据有:宿舍号、物品名称、报修日期、维修日期、维修人员等。G数据输入与输出:可以从其他数据中导入学生信息、系别、班级信息,用户可以选择需要输出的数据。第7章 信息管理系统设计指导 查询统计。A查询学生信息:用户能够根据系别、班级、宿舍号、楼号、姓名等条件查询学生信息。所涉及的主要数据有学号、姓名、性别、出生日期、班级、入学年份、所住宿舍、院(系)等。B查询宿舍信息:根据院(系)、班级学生的情况,查询宿舍的有关信息。如果用户需要,可以显示出指定宿舍的学生信息、评比信息。主要数据有:宿舍号、床位数、人数、电话号码、家具套数、楼号等。C查询宿舍评比情况:根据院(系)、班级、宿舍号,显示指定日期的评比情况。主要数据有宿舍号、地面得分、床铺得分、摆设得分、评比日期、评比单位等。D查询空房、空床情况:按指定宿舍楼或全部宿舍楼查询、显示出空宿舍总数、空床位数及它们的宿舍号,数据有宿舍号、床位数、人数、空床位数等。第7章 信息管理系统设计指导 学生住宿管理。A新生入住:可以选择一个学生,分配到指定的宿舍中。这时需输入学生学号和宿舍号。也可以选择一批学生(某个院(系)、某个班级或指定入学年份的学生),指定宿舍楼后,系统自动以低层中的空房开始分配宿舍。B调换宿舍:如学生需要调换宿舍,应首先输入需调换宿舍的学生学号,再输入现住宿舍号。C学生退房:当学生需退房时,输入退房学生的学号或毕业学生的入学年份,系统会查询这些学生的有关物品登记情况,并显示出来,以便用户选择。如果确定退房,系统会记录学号、姓名、宿舍号、检查人员、退房日期等信息。第7章 信息管理系统设计指导 系统维护功能。A用户管理:系统管理员可以增加用户和设置用户权限,普通用户只能有自己的用户名和密码。B数据备份:用户可随时备份系统中的数据,备份时,需关闭所有子窗口。C数据恢复:主要是恢复用户以前备份的数据,当数据库被毁坏,并且不能恢复时,用户可以用它来恢复以前备份的数据。第7章 信息管理系统设计指导(2)处理要求。A数据精度:查询时,保证所有包含查询关键字的记录都应能查到,查到的记录应与给定的单项或组合项条件完全匹配。B时间特性:一般操作响应时间为110s,对于软盘、打印机以及数据库的导入和导出,也应在可接受的时间内完成。(3)安全性与完整性要求。要求用户提供身份验证,连续三次不能通过身份验证者,不能登录该系统。此时,系统将强行关闭。第7章 信息管理系统设计指导(4)数据类型定义。本系统中涉及到的数据定义如下:学号数字8;院(系)名称0汉字20|0字母40;姓名1汉字10|字母20;备注0汉字50|0字母100;性别男|女;楼号0数字3;出生日期数字10;宿舍数0-32767;政治面貌团员|党员|其他;床位数0-32767;班级数字;入学年份数字10;宿舍号0数字7;是否分配宿舍TRUE|FALSE;电话号码0数字|SPACE20;专业数字4;家具套数0-10;所在院(系)0数字2;其他0汉字50;楼号0数字|字母3;地面得分0-10,门窗得分0-10,床铺得分0-10;室内摆设得分0-10;专业代号数字5;专业名称0汉字20;登录级别用户|管理员;密码6字符20;评比日期0数字|SPACE10;评比单位0汉字10;现住宿舍数字7;维修日期数字10;维修物品汉字25;登记日期0数字10;检查日期数字10第7章 信息管理系统设计指导(5)部分数据项名称。A数据项名称:学号(本系统中所有学生编号)。类型:字符串,长度:8。B数据项名称:班级代号(所有班级编号)。类型:字符串,长度:6。C数据项名称:宿舍号(所有宿舍编号)。类型:字符串,长度:7。第7章 信息管理系统设计指导 7.2.4 总体设计总体设计 1总体设计总体设计(1)处理流程。系统启动时,首先进行初始化,设置全局变量、数据环境等,然后进行身份验证,通过身份验证后系统进入主界面。通过事件驱动机制激活各功能模块,并执行指定功能。各项功能执行完成后,执行系统关闭功能,退出本系统。(2)系统结构。本系统结构如图7-2所示。第7章 信息管理系统设计指导 图7-2系统结构图第7章 信息管理系统设计指导 2各模块设计各模块设计 表表7-1 模模 块块 设设 计计 第7章 信息管理系统设计指导 续表第7章 信息管理系统设计指导 3接口设计接口设计(1)用户界面:采用目前流行的GUI,即诸如窗口、菜单、对话框的形式。(2)软件接口:运行于Windows98/Me/2000/XP中文版操作系统中。(3)硬件接口:支持一般的80 x86系列微机。第7章 信息管理系统设计指导 7.2.5 数据结构设计数据结构设计 1数据库设计数据库设计 表表7-2 student 第7章 信息管理系统设计指导 表表7-3 class 第7章 信息管理系统设计指导 表表7-4 depart(系号为关键字系号为关键字)第7章 信息管理系统设计指导 表表7-5 build 第7章 信息管理系统设计指导 表表7-6 house 第7章 信息管理系统设计指导 表表7-7 repair 第7章 信息管理系统设计指导 表表7-8 house-student 第7章 信息管理系统设计指导 表表7-9 manager 第7章 信息管理系统设计指导 表表7-10 user 第7章 信息管理系统设计指导 表表7-11 changehouse 第7章 信息管理系统设计指导 表表7-12 major 第7章 信息管理系统设计指导 2物理结构设计物理结构设计数据库文件物理结构采用顺序记录方式。全局变量用于保存用户数据连接字符、用户权限、用户姓名等。3运行设计运行设计(1)软件控制流程。首先由启动界面初始化数据环境,设置全局变量,然后进行身份验证,进入主界面,通过消息驱动激活相应的功能。(2)运行时间控制。各个功能模块响应时间一般不超过10s。第7章 信息管理系统设计指导 4出错设计出错设计(1)充分考虑各种系统错误,给出相应提示信息,避免数据的不一致性或损坏数据。(2)对重要操作提供确认机制。第7章 信息管理系统设计指导 7.2.6 数据模块窗体的设计数据模块窗体的设计 1初始化界面的实现初始化界面的实现 图7-3初始化界面第7章 信息管理系统设计指导 2密码认证窗体的的实现密码认证窗体的的实现密码认证窗体是用来让工作人员或其他用户按照用户名和密码进行登录,并且根据用户名检查user表中的“级别”字段,以分辨以何种身份登录。窗体界面如图7-4所示。usesusheguanli!userusername1trim(thisform.text1.value)password1trim(thisform.text2.value)gototopdowhile.not.eof()ifusername1trim(用户名)thenifpassword1trim(口令)then第7章 信息管理系统设计指导 doformhuanying.scxelseskip1loopendifelseskip1loopendifenddoifeof()thenmessagebox(对不起!你不是合法用户!,40)thisform.release()endif“退出”按钮的Click代码如下:thisform.release()第7章 信息管理系统设计指导 图7-4登录界面第7章 信息管理系统设计指导 3口令更改功能的实现口令更改功能的实现 图7-5口令更改模块第7章 信息管理系统设计指导“确认”按钮的Click事件代码如下:useusesusheguanli!usergototopdowhile.not.eof()iftrim(thisform.text1.value)trim(用户名)theniftrim(thisform.text2.value)trim(口令)theniftrim(thisform.text3.value)thenmessagebox(没有输入新口令!,0,警告!)elseiftrim(thisform.text4.value)thenmessagebox(没有输入新口令!,0,警告!)第7章 信息管理系统设计指导 elseiftrim(thisform.text4.value)trim(thisform.text3.value)thenreplace口令withtrim(thisform.text4.value)messagebox(口令更新结束!,0,提示!)thisform.release()elsemessagebox(新口令和确认口令不一致!,警告!)endifendifendifexitelseskip1第7章 信息管理系统设计指导 loopendifelseskip1loopendifenddoifeof()thenmessagebox(没有这个用户名!,0,警告)endif第7章 信息管理系统设计指导 4学生信息更新功能的实现学生信息更新功能的实现 图7-6学生信息更新界面第7章 信息管理系统设计指导 图7-6中,“确认”按钮的Click事件代码如下:xuehaotemp=0re=recno()ce=0rexuehao=alltrim(str(学号)mingtemp=xuehaotempval=学号ifalltrim(thisform.text1.value)=.or.alltrim(thisform.text2.value)=.or.alltrim(thisform.text3.value)=.or.alltrim(bo1.value)=ce=messagebox(缺少完整的信息,最少必须填充班级学号姓名和性别,0+64,提示)第7章 信息管理系统设计指导 if!empty(rexuehao)thisform.text2.value=rexuehaoendifelseifval(alltrim(thisform.text2.value)=0ce=messagebox(学号格式不对,请输入自然数!,0+64,提示)thisform.text2.value=rexuehaoelselocatefor学号=val(alltrim(thisform.text2.value)if(.not.eof()xuehaotemp=xuehaotemp+1ce=recno()CONTINUEendifgoreifxuehaotemp=0.or.re=ce第7章 信息管理系统设计指导 chdir.sele4usechengjikuEXCLUSIVElocatefor班级=alltrim(thisform.text1.value)chdir数据库dowhile(.not.eof()mingtemp=alltrim(班级)+alltrim(学期)sele5use&mingtemplocatefor学号=xuehaotempvalif(.not.eof()replace班级withalltrim(thisform.text1.value),学号withval(alltrim(thisform.text2.value),姓名withalltrim(thisform.text3.value)endif第7章 信息管理系统设计指导 if(.not.eof()continueendifusesele4continueenddosele1replace班级withalltrim(thisform.text1.value),学号withvalue(alltrim(thisform.text2.value),;姓名withalltrim(thisform.text3.value),性别withalltrim(bo1.value),;家庭住址withalltrim(thisform.text6.value),邮政编码withalltrim(thisform.text7.value),;第7章 信息管理系统设计指导 电话号码withalltrim(thisform.text8.value),入学时间withctod(alltrim(thisform.text11.value),是否分配宿舍withalltrim(thisform.Optiongroup1.value),备注withalltrim(thisform.edit1.value),政治面貌withalltrim(thisform.text12.value)mand1.enabled=mand2.enabled=mand1.default=.t.elsece=messagebox(本班级的档案库里存在这个学号,无法录入,请重新指定学号!,0+64,警告)thisform.text2.value=rexuehaoendifendif第7章 信息管理系统设计指导 mand1.setfocus“继续”按钮的Click事件代码如下:u=0zi=Tbo1.value=Sele1re=recno()Countalltonum6GoreIfrecno()num6SkipIfalltrim(性别)=男Tbo1.selected(1)=.t.EndifIfalltrim(性别)=女第7章 信息管理系统设计指导 Tbo1.selected(2)=.t.EndifIfalltrim(性别)=Tbo1.value=EndifThisform.text1.value=biaomingThisform.text2.value=alltrim(str(学号)Thisform.text3.value=alltrim(姓名)Thisform.text4.value=dtoc(出生年月)Thisform.text5.value=家庭住址Thisform.text6.value=邮政编码Thisform.text7.value=电话号码Thisform.text8.value=dtoc(入学时间)Thisform.text9.value=政治面貌thisform.oleboundcontrol1.refresh第7章 信息管理系统设计指导 Thisform.edit1.value=Fornum1=1tomemlines(备注)zi=zi+mline(备注,num1)EndforIfalltrim(zi)Thisform.edit1.value=ziEndifTmand1.enabled=.f.Tmand2.enabled=.t.Tmand2.default=.t.Tmand3.enabled=.t.Elsew=messagebox(已到达最后一条记录,是否追加新的档案记录,不推荐用户在此追加新的记录!是否继续?,4+32,信息)第7章 信息管理系统设计指导 Ifw=6Gobottomu=学号AppendblankTbo1.value=Thisform.text1.value=biaomingThisform.text2.value=alltrim(str(u+1)Thisform.text3.value=Thisform.text4.value=Thisform.text5.value=Thisform.text6.value=Thisform.text7.value=Thisform.text8.value=Thisform.text9.value=Thisform.edit1.value=thisform.oleboundcontrol1.refresh第7章 信息管理系统设计指导 Tmand1.enabled=.f.Tmand2.enabled=.t.Tmand2.default=.t.Tmand3.enabled=.t.ElseIfalltrim(性别)=男Tbo1.selected(1)=.t.EndifIfalltrim(性别)=女Tbo1.selected(2)=.t.EndifIfalltrim(性别)=Tbo1.value=EndifEndifEndif第7章 信息管理系统设计指导 Tmand2.setfocus“返回”按钮的Click事件代码如下:Imand1.enabled=.f.Ifalltrim(thisform.text3.value)=.or.alltrim(thisform.text3.value)=.or.alltrim(thisform.text3.value)=shi=messagebox(还没有输入新记录的资料,是否确定返回?单击时将删除新记录并返回,单击否将取消返回!,4+32,消息)Ifshi=6DeletePackOpendatabase&susheguanliEXCLUSIVESele2Use&studentEXCLUSIVEDeleteall第7章 信息管理系统设计指导 PackAppendfromstudentClosedatabasesallThisform.releaseChdir.EndifelseOpendatabase&susheguanliEXCLUSIVESele2Use&studentEXCLUSIVEDeleteallPackAppendfromstudentClosedatabasesallThisform.releaseChdir.Endif第7章 信息管理系统设计指导 ElseOpendatabase&susheguanliXCLUSIVESele2Use&biaomingEXCLUSIVEDeleteallPackAppendfromstudentClosedatabasesallThisform.releaseChdir.Endif第7章 信息管理系统设计指导“导入相片”按钮的Click事件代码如下:Chdir.chdir照片pictemp=getpict(bmp,选择照片,导入)If!empty(pictemp)Waitwindows正在导入相片,请等待!.at100,40timeout2nowaitAppendgeneral照片from&pictempTmand3.enabled=.f.Thisform.refreshEndifchdir.Chdir数据库第7章 信息管理系统设计指导 5查询功能的实现查询功能的实现本系统实现的查询功能有多种,如按姓名、学号、院系等字段进行完全匹配查找和部分匹配的模糊查找,还有按多个条件进行逻辑“与”、“或”组合的多条件查找。两种方式实现的方法大致相同,在此,只给出按学号查询的实现界面(如图7-7所示)和代码。第7章 信息管理系统设计指导 图7-7查询系统界面第7章 信息管理系统设计指导“确认”按钮的Click事件代码如下:bo1.valueiftrim(no)trim()messageBox(输入无效!,40)elsedoanxuehaochaxun.qprthisform.pageframe1.page1.grid1.recordsourceanxuehaochaxunendif第7章 信息管理系统设计指导 6报表的设计报表的设计一个完善的数据库管理系统,必须能够打印出用户所需的各种类型的数据报表。设计不同用途、不同形式的报表和标签是程序设计中极其重要的一环。报表与日常所见的打印在纸上的诸如成绩一类的数据报表是两个不同的概念。报表在VFP中是以fpx为扩展名的特殊文件,这种文件中记录了两部分内容:一是使用数