1、实例分析-宿舍管理系统,本章要点: 论述了学生宿舍管理系统从系统分析到总体设计 论述了学生宿舍管理系统的数据库设计 论述了系统各模块设计,实例分析-宿舍管理系统,1系统概述 1.1课题来源 1.2本次开发的意义和目的 1.3解决的问题和采取的手段、方法 2系统规划 3 系统分析 3.1系统工作流程分析与设计 3.2 学生宿舍管理系统的DFD 4系统设计 4.1系统功能模块的设计 4.2数据库设计 5院系统详细设计及其实现,1.1课题来源,随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期,当今社会正快速向数字化、信息化、网络
2、化迈进,管理信息系统的作用也越来越大。高等学校作为培养高新技术人才的场所,自然也成为计算机高新技术发展的先驱。在计算机飞速发展的今天,将计算机这一信息处理利器应用于学校的日常管理已是势必所然,将各类管理系统应用到学校的各项管理中,这将为学校管理带来前所未有的改变,以及意想不到的效益,同时也会为学校全面建设及飞速发展提供无限潜力。采用计算机管理已成为学校管理科学化和现代化的重要标志,也将决定着一个学校的层次和位置。,学生宿舍是大学生学习、生活、休息的重要场所,使用管理信息系统来进行大学宿舍的管理工作无疑将提高宿舍管理工作的效率和保证信息的准确性。目前,各学校的大部分管理工作已基本上实现全电脑操作
3、,但是学生宿舍的管理仍使用人工操作。传统人工操作的宿舍管理方式 ,需要强大的人力进行支持,管理各项信息的准确性也较差。在现今的知识时代,现代社会人们有着高度强烈的时间观念,如果仍使用手工操作,既浪费了人力,又浪费了物力,效率无法提高。,信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机已经成为我们学习和工作的得力助手,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大地提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。现在我国的各学校学生宿舍的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的
4、发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。学生宿舍管理系统既可存储所有的宿舍管理的信息,而且仅需要一名宿舍管理员对此系统进行操作,节省大量人力,同时还可以迅速查到所需信息。为此开发学生宿舍管理系统软件,能够适应现今社会并提高学校宿舍管理效率。在以人为本全新设计理念下,该系统软件应非常容易被接受,它具有简单易学性,便于管理等功能,是一个适应现今学校学生宿舍管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。,1.2 本次开发的意义和目的,学生宿舍是一个学校不可或缺的一部分,学生宿舍管理系统必将一个学校管理中不可缺少的部分,它所实
5、现的功能对于学校的宿舍分配管理和日常的寝室各类信息的管理来说都至关重要。所以学生宿舍管理系统应该能够为用户提供方便、快捷、准确的宿舍管理和查询手段。,一直以来,学校宿舍管理员都使用传统人工的方式管理宿舍的各类信息,这种管理方式存在着许多缺点, 这种宿舍管理方式 ,无论是宿舍分配、调整、退宿等安排,还是住宿生情况的记录,宿舍内物品设备的管理,收费管理以及住宿情况的统计、分析等工作,都完全依赖于宿舍管理人员的手工记录和人工分析。这样的管理存在着数据和信息容易出错、容易丢失且操作繁琐、效率低下、出错率高、保密性差的弊端,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
6、随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生宿舍进行管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生宿舍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,对传统的人工操作的宿舍管理方式的改革,建立一个高效率、自动化操作学生宿舍管理的计算机系统,使宿舍管理变得自动化和智能化变得日趋重要。,学生宿舍管理系统是一个涉及宿舍管理、信息科学和计算机技术的复杂的人机系统,是针对高
7、校在宿舍管理方面遇到的人员众多、管理困难等问题,而设计开发的一款管理系统。对学生公寓进行智能化管理,包括学生住宿人员的安排、调整、退宿、住宿情况的统计、分析,可以有效地查询且记录学生在入学后有关宿舍管理方面的情况(住宿人员的基本信息、各项费用的缴纳情况、公寓内物品设备的管理),还具有门卫登记管理以及优秀宿舍的评比等先进功能,为学校后勤管理部门提供诸多方便。本系统采用先进、快捷方便的管理方式,给学校提供详细的宿舍管理信息。它大大地提高了宿舍管理部门的工作效率,充分利用了计算机资源,减少了不必要的人力、物力、财力等资源的支出,改善了传统手工管理的缺陷,使学校的宿舍管理变得更加标准化、科学化、规范化
8、。,1.3解决的问题和采取的手段、方法,管理信息系统(MIS)作为一个综合的人机交互系统,它利用计算机提供信息以支持运行、管理、分析和决策功能。而要开发一个运行良好、便于维护管理信息系统,首先要选择最佳的开发环境。,1.3.1前台应用程序开发工具的选取,目前,国内使用最多的数据库开发工具主要包括:Borland Delphi ,Microsoft Visual Basic以及Microsoft Visual C+。Delphi 是一个功能强大的可视化编程环境,它为我们提供了一种方便、快捷的Windows应用开发工具。它使用了Windows图形用户界面的许多先进的特性和设计思想,采用了弹性的可重
9、用的面向对象Pascal编程语言。对于广大的程序开发人员来说,使用Delphi开发应用软件和数据库应用程序,无疑会大大地提高编程效率。,1.3.2Delphi与其他开发工具的比较,Microsoft Visual Basic是一种不错的开发工具,但更多地作为多媒体开发工具和小型规模的快速应用软件开发对待。Microsoft Visual Basic的编译速度比较慢,而且生成代码的执行速度也远远不及Delphi和Microsoft Visual C+;虽然它秉承了Basic语言的易用性,但是也把Basic不严谨的特性带了过来。Delphi无论是在编译器性能,还是纠错功能上更略胜一筹,在构筑企业级
10、应用方案上比Visual Basic要强大和具有更强的灵活性。Microsoft Visual C+是国内应用最广泛的高级程序设计语言之一,具有面向对象、可视化开发等先进功能。但Visual C+在Windows设备驱动开发和桌面应用,比如游戏开发中使用比较多,不像Delphi更趋于数据库/多层结构的开发;由于C/C+本身的复杂性,Visual C+对编程人员要求相当高;而且Visual C+编译速度也没有Delphi编译速度快。,1.3.3Delphi的优势,Delphi所采用的Object Pascal语法严谨,容易学习。它是功能完善的面向对象程序语言。Pascal语言被广泛接受,大量用于
11、数据结构和算法的计算机学科的教学用程序语言,拥有大量现成的经过严谨测试的范例程序。Delphi的开发过程非常简便,也易学易用,如同Visual Basic。Delphi虽短小精悍,但功能却可以与庞大的Visual C+相媲美,毫不逊色。Delphi具有可视化开发环境的特性,是建立在一个真正面向对象的框架结构基础之上的;Delphi编译器的速度和已编译代码的执行效率相比其他开发软件存在很大的优势;Delphi集强大性和易用性于一身,具有强大的数据库支持功能和灵活的VCL组件,而且跨平台的开发性非常的强。,1.3.4后台数据库选取,随着计算机科学技术的不断发展和计算机的不断普及,使得数据库应用和数
12、据库管理系统不断地发展变化。在众多的数据库管理系统中,Microsoft Access和Microsoft SQL Server相对比较流行。Microsoft Access是一个比较容易上手的小型数据库系统,在功能上包括了数据库中的主要功能。但一方面,Access会受制于软件本身的设计,不像自己写程序那样有弹性或延伸性。另一方面,Access把资料本身,还有程式、报表等等,全部放在一个文件中,随着数据的增加,相应的文件就会变大,系统的稳定性会降低。再一方面,Access是针对一般使用者设计出来的单机用户数据库,除了能处理的资料量不大,更不能同时多人开启数据库。一般对有较大信息存储时,不宜使用
13、Access,而多选用SQL Server。,SQL Server 是高性能的关系型数据库,是创建大型商业应用的最佳的核心引擎数据库之一。学生宿舍管理系统需要处理、存储的信息量比较大,所以需要选用功能完备能够存储大容量的数据的SQL Server作为系统的数据库。SQL Server 2000 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力。它的存储容量大,能够保证数据的安全性,维护数据的完整性,还有自动高效的机制以及运行分布式处理等,所有这些要求都是FoxPro 2.x或Visual FoxPro这
14、类桌面型数据库管理系统所不能实现的。Microsoft SQL Server建立于Microsoft NT的可延伸性和可管理性之上,提供了功能强大的客户服务器平台,高性能客户服务器结构的数据库管理系统可以将Delphi,Visual Basic, Visual C+作为客户端开发工具,而SQL Server将作为存储数据结构的后台服务器软件。,1.3.5数据库体系结构的选取,数据库按所在的物理位置的不同可分为本地数据库和远程数据库。本地数据库位于本地磁盘上或局域网上。如果有多个用户同时访问,本地数据库采取基于文件的锁定策略。因此,本地数据库又叫做基于文件的数据库。本地数据库选择的框架是单层数据
15、库应用程序。远程数据库通常位于远程计算机上,用户通过SQL来访问数据库中的数据,正是基于这种原因,远程数据库有时候也叫SQL服务器或者叫RDBMS。远程数据库非常适合于多个用户同时访问,远程数据库提供了基于事务的多用户支持。如果采用远程数据库服务器,那么其适当的数据库框架就是属于两层数据库应用程序或多层数据库应用程序。学生宿舍管理系统的功能的实现仅需要在一台计算机上就可完成,不需要支持远程网络,而且一般情况下单用户进行访问,所以DBMS和数据库应用程序仅需要驻留在同一台计算机上并在同一台计算机上运行,就可以实现其功能,所以选取本地数据库,以及单层数据库应用程序框架来实现。,2 系统规划,2.1
16、系统建设目标在对系统初步调查的基础上就可以提出项目的开发目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。由于学生宿舍管理工作存在工作量大、事务繁琐的特点,宿舍管理人员需付出大量的工作时间来从事各种事务性工作,但工作的效率很低。为提高工作效率,减轻校方人员的工作负担,决定针对学生宿舍管理开发管理系统软件,以供宿舍管理人员通过电脑操作进行宿舍管理,从而使学校的宿舍管理工作系统化、规范化、自动化,提供整个宿舍管理的效率,使总体管理水平上升到一个新的高度。,本系统能减少很多不必要的资源,消除了以前用冗余的纸张式管理,大节省了学校能源。并且计算机的存储与快速查询功能大大提高了宿舍管理
17、的效率,并且还提高了学籍信息管理的精确度。方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。,2.2可行性分析,可行性分析是任何一个大型工程正式投入力量之前必须进行的一项工作。这对于保证资源的合理利用、避免浪费是一个十分重要的,也是项目一旦开始以后能顺利进行的必要保证。当系统的开发目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性分析: 1)技术可行性技术可行性是指:根据现有的技术条件,能否达到所提出的要求;所需要的物理资源是否具备,能否得到。,针
18、对于本系统,本系统属于一个普通的MIS系统。在其组织关系上也未存在的很大的复杂性、繁琐性及不确定性,而且整个系统的技术构成上来看,它还是属于一个简单的数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、编辑等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。并且本系统的开发我利用Microsoft SQL Server2000作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。使用Delphi作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统
19、,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。因此,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,它在技术上是可行的。,2)经济可行性 经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理,并将费用与效益进行比较,看是否有利。 首先,学校学生宿舍管理系统地实现的硬件支持只是一台简单的计算机,如今的性能较好的计算机的价格已经十分低廉。而本系统的成功开发,将为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工
20、作效率;第四,本系统可以使敏感文档更加安全。,3)运行可行性 运行可行性是指所建立的信息系统能否在该企业实现,在当前的操作环境下能否很好的进行,即组织内外是否具备接受和使用新系统的条件。 本系统为一个普通的信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件;而且将来的操作界面简洁易操作,学校宿舍管理人员无需培训即可很快学会如何进行操作。因此,本系统在运行上是可行的。 4)法律可行性 整个系统由于是自行开发,自行使用,在开发过程中没有涉及合同、责任等与法律 抵触的方面。因此,本系统在法律上是可行的。 按上述四方面进行可行性分析、研究后,我们认为该项目是可行的。,3 系
21、统分析,3.1学生宿舍管理工作流程分析宿舍管理人员在学生宿舍管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动。新的学年,管理员首先根据入住学生的需求在学生宿舍管理系统中进行寝室床位的查找,随后进行学生入住登记,并在系统中对已经入住的学生进行基本信息的录入,学生入住由宿舍管理人员在学生宿舍管理系统中完成新学生信息的维护。在学年的结束,宿舍管理负责在学生宿舍管理系统中,对整个毕业班级进行注销,即对安排对整个毕业班级的人员进行统一退宿。宿舍管理员负责检查每个寝室的卫生情况,并每进行一次检查后由管理人员对卫生情况进行登记,进行卫生评比。对违纪行为也要登记,作为
22、优秀宿舍评比的一个依据。,3.2系统功能分析,学生宿舍管理系统需要具有以下的功能: 1.系统管理功能:系统用户的新增、修改和删除的功能,并可实现数据库处理。 2.学生管理功能:提供住宿学生信息的登记、浏览和修改。 3.住宿管理功能:可以进行学生入住、换寝室、退宿和期末的某班的整体注销的管理。 4.查询管理功能:提供对宿舍所有信息的查询。如:寝室情况查询、学生情况查询、来访情况查询、设备情况查询等。 5.寝室管理功能:提供寝室日常的管理信息,如设备管理、各类情况的记录及电费管理。 6.其他特殊功能:具有不同权限的使用区别、门卫登记、各类数据的统计以及报表的打印功能。,3.3学生宿舍管理系统的DF
23、D,图1学生宿舍管理顶层DFD,图2 学生宿舍管理系统的一层DFD,图3“宿舍管理”框的展开,图4“宿舍评比”框的展开,图5 系统功能模块图,4系统设计,4.1总体功能结构图,4.2数据库设计,根据系统数据流程图,我们可以列出以下系统所需的数据项: 学生:学号、姓名、床位号、系别、学院、班级、性别、民族、籍贯、学历、政治面貌、政治面貌、联系电话、缴费情况 床位:床位表、铺位、寝室号、住没住人 寝室:寝室号、朝向、可住人数、已住人数、居住性别 设备:设备号、设备名、寝室号、购买日期、制造商、最大使用年限、设备状态 分数:成绩记录编号、寝室号、卫生罚分、违纪罚分、总分、月份,同时系统还需要进行记录
24、的数据项: 来访记录:来访记录编号、来访人姓名、被访人姓名、被访人床位号、所属关系、证件名称、值 班 人、来访日期、来访时间、结束时间、备注 违纪记录:违纪记录编号、违 纪 人、所属寝室号、违纪扣分、违纪情况、违纪日期 卫生记录:卫生记录编号、寝室号、地面不净扣分、床铺不整扣分、桌面乱差扣分、空气不好扣分、检 查 日 期、检 查 人 电费使用:用电记录编号、寝室号、用电量、月份、电费 1.学生宿舍管理系统的E-R模型如图所示:,图6 实体之间关系-图,图 7 学生实体,图8 床位实体-图,图9 寝室实体-图,图10 设备实体-图,图11 考评成绩实体-图,2.数据库逻辑结构的设计 根据E-R模
25、型和数据库需求分析,本系统总共涉及10个数据表格。其中包括学生表、寝室表、床位表、设备表、分数表5个基本表,同时还需要负责记录信息的来访情况记录表、卫生情况记录表、违纪情况记录表、用电情况记录表以负责日常信息的记录,还需要建立一个用户表以负责记录系统可登陆人员的相关信息。,表1 用户表,表2 学生表,表3 床位表,表4 寝室表,表5 设备表,表6 来访情况记录表,表7 违纪情况记录表,表8 卫生情况记录表,表9 用电情况记录表,表10 分数表,使用“系统DSN”创建数据源,具体操作如下: (1)选择“开始”“设置” “控制面板”菜单命令,打开“控制面板”窗口,再双击该窗口中的“ODBC数据源”
26、图标,打开“ODBC数据源管理器”对话框,如图8-12所示。 (2)单击 按钮,打开如图8-13所示的“创建新数据源”对话框。在该对话框中选择安装数据源需要使用的驱动程序,选中其中的“SQL Server”。然后单击 按钮,打开“建立新的数据源到SQL Server”对话框,如图8-14所示。,4.3 使用ODBC配置数据库,图12 “ODBC数据源管理器”界面,图13“创建新数据源”对话框,(3)设置新建数据源选项,在“名称”文本框中输入“dormitory”作为新建数据源的名称,在“服务器” 的下拉列表框中输入“(Local)”,然后单击 按钮,打开如图15所示的对话框。 (4)设置访问S
27、QL Server数据库必需的身份验证信息,然后单击 按钮,打开如图16所示对话框。 (5)设置通过数据源访问的默认数据库。数据源默认连接的数据库为master,选中复选框,再从下拉列表中选中 “ dormitory”选项,然后单击 打开如图17所示对话框。,14 设置新建数据源选项,15设置身份验证信息,图16设置通过数据源访问的默认数据库,图17设置数据源相关选项,(6)单击 按钮测试设置是否能够真正创建数据源,测试结果显示在下图所示的对话框中,如果测试成功,则单击 按钮完成数据源的创建操作,返回“ODBC数据源管理器”对话框。新建的“dormitory”数据源将显示在用户数据源列表中。,
28、图18显示数据源配置信息,图19测试数据源配置信息,5 系统实现,5.1主模块 1.设计思想:用户登录成功时,显示主模块,主模块分菜单、快捷按钮栏、常用菜单操作栏、主界面以及状态栏五部分。菜单提供系统所有功能模块的选择操作,点击下拉菜单的各菜单项,打开相应的操作模块。常用菜单操作栏包括左边栏的学生管理和住宿管理,以及右边栏的设备管理和宿舍评比,此设计的基本目的在于学生管理以及住宿管理是学生宿舍管理系统最主要也是最关键的功能,放在此既易于寻找又方便操作。而设备管理与宿舍评比的几项操作在菜单寝室管理的下拉菜单下的子集设备管理、宿舍管理的再子集菜单中才用对其具体的操作,选择起来不是很方便,尤其向宿舍
29、评比中的卫生情况记录要天天操作的,所以将他们的基本操作设在常用菜单操作的右边栏比较利于选取操作。在快捷按钮栏包括一些经常使用的操作。主窗体显示登录图画使系统更加美观。状态栏显示登录此系统用户的用户名、使用权限以及系统时间和系统设计者。,2.界面设计:,图8-20主界面,3.窗体的主要的对象属性的设置:,表8-11 窗体的主要的对象属性,4.相关程序: 1)连接到用户综合管理模块,在“用户管理综合管理”菜单项按钮N2 Click事件处理程序中完成,代码如下: procedure TForm2.N2Click(Sender: TObject); begin form3:=tform3.create
30、(self); form3.show; end; 2)其他的菜单链接同1,按钮、快捷键的链接同菜单链接相同,只是在按钮或快捷键的Onclick事件处理中完成。 3)在状态栏显示系统时间,在Timer1的Timer事件处理程序中完成,代码如下 procedure TForm2.Timer1Timer(Sender: TObject); begin StatusBar1.Panels5.text:=DateTimeToStr(Now); end;,5.2用户综合管理模块 为了说明系统详细设计及其实现,以用户管理模块和入住管理模块为例进行说明。 1.界面设计:,图21 用户管理新增用户窗体布局,图2
31、2用户管理删除用户窗体布局,图23用户管理修改用户信息窗体布局,2.程序流程图: 1)新增用户,图24 新增用户,2)用户删除,图 25 用户删除,3)用户信息修改,3.相关程序 (1) 在新增用户过程中,在“提交”按钮BitBtn1的OnClick事件处理程序中完成,代码如下: procedure TForm3.BitBtn1Click(Sender: TObject); var s:integer; /说明s是integer型的变量 begin query1.SQL.Clear; /将控件query1内的SQL语句清空 query1.SQL.Add(select * from 用户表);
32、/将控件query1内的SQL语句增加操作“查询用户表内的所有内容” query1.Open; /激活query1控件 query1.First; /query1控件指向第一条记录 s:=0; /给变量S附值为0 while (not query1.Eof) and (s=0) do /若query1指针没超过最底一条记录并且s=0进行循环,begin if edit1.text=query1.FieldByName(用户名).AsString then /如果edit1的内容与query1指向“用户表“列名为“用户名”的某条内容相同则 begin s:=1; /给变量S附值为1 showme
33、ssage(此用户名已存在) ; /显示“此用户已存在” edit1.Text:=; /文本框edit1内容清空 edit2.Text:=; /文本框edit2内容清空 edit3.Text:=; /文本框edit3内容清空 combobox1.Text:=; /文本框combobox1内容清空 end else query1.Next /否则query1指针下移 end;,if s=0 then /如果 s=0 则 if edit2.textedit3.Text then /如果 edit2的内容和edit3的内容不一致 则 begin showmessage(密码输入不正确); /显示“密
34、码输入不正确” edit1.Text:=; /文本框edit1内容清空 edit2.Text:=; /文本框edit2内容清空 edit3.Text:=; /文本框edit3内容清空 combobox1.Text:=; /文本框combobox1内容清空 end else begin query1.last; /query1指针指向最后一条记录 query1.append; /向query1指向的“用户表”中追加一条记录 query1.fieldbyname(用户名).asstring:=edit1.text;,/query1指向的“用户表”追加记录的“用户名”列的数据为edit1的内容 qu
35、ery1.fieldbyname(密码).asstring:=edit2.text; /query1指向的“用户表”追加记录的“密码”列的数据为edit2的内容 query1.fieldbyname(权限).asstring:=combobox1.text; /query1指向的“用户表”追加记录的“权限”列的数据为combobox1的内容 query1.post; /保存记录 showmessage(您已成功添加用户); /显示“您已成功添加用户” edit1.Text:=; /文本框edit1内容清空 edit2.Text:=; /文本框edit2内容清空 edit3.Text:=; /文
36、本框edit3内容清空 combobox1.Text:=; /文本框 内容清空 end; end;,(2)在新增用户过程中,在“关闭”按钮BitBtn4的OnClick事件处理程序中完成,代码如下: procedure TForm3.BitBtn4Click(Sender: TObject); begin close; end; (3)在删除用户过程中,在“删除”按钮BitBtn2的OnClick事件处理程序中完成,代码如下: procedure TForm3.BitBtn2Click(Sender: TObject); var s:integer; str:string; begin que
37、ry1.SQL.Clear;,query1.SQL.Add(select * from 用户表); query1.Open; query1.First; s:=0; while (not query1.Eof) and (s=0) do begin if edit4.text=query1.FieldByName(用户名).AsString then if edit5.text=query1.FieldByName(密码).AsString then begin str:=delete from 用户表 where 用户名= +edit4.Text+; query1.close; query1
38、.sql.Clear; query1.sql.Add(str); query1.ExecSQL; s:=1;,end else query1.Next else query1.Next; end; if s=1 then showmessage(您已成功删除信息); if s=0 then showmessage(输入信息不正确); end; (4)在删除用户过程中,在“关闭”按钮BitBtn3的OnClick事件处理程序中完成,代码如下: procedure TForm3.BitBtn5Click(Sender: TObject); begin close; end;,(5)在修改用户信息过
39、程中,在“提交”按钮BitBtn2的OnClick事件处理程序中完成,代码如下: procedure TForm3.BitBtn3Click(Sender: TObject); var s:integer; str:string; begin query1.SQL.Clear; query1.SQL.Add(select * from 用户表); query1.Open; query1.First; s:=0; while (not query1.Eof) and (s=0) do begin,if edit6.text=query1.FieldByName(用户名).AsString the
40、n if edit7.text=query1.FieldByName(密码).AsString then begin if edit8.text=edit9.Text then begin str:= update 用户表 set 密码=+edit8.text+ where 用户名=+edit6.Text+; query1.close; query1.sql.Clear; query1.sql.Add(str); query1.ExecSQL; s:=1; end else,begin showmessage(修改信息不正确); s:=2; end; end else query1.Next
41、else query1.Next; end; if s=1 then showmessage(您已成功修改信息); if s=0 then showmessage(不存在此用户或输入密码错误) ; end; (6)在修改户过程中,在“关闭”按钮BitBtn6的OnClick事件处理程序中完成,代码如下: procedure TForm3.BitBtn6Click(Sender: TObject); begin close; end;,5.3入住登记模块,1.设计思想:入住登记是对学生进行入住登记,即为学生分配入住的寝室房间。首先,学生入住寝室床位需求查询中选择自己要求居住的寝室、床位条件,点击
42、“查询”按钮对寝室表、床位表进行了查询,在数据网格中显示满足要求条件的且床位没有住人的信息,学生在数据网格点击选择自己合意的记录之后,此条记录的床位号、寝室号的信息即可在入住登记的入住信息的床位号、寝室号后的文本框中直接显示,填写学生信息及选择缴费情况,点击“登记”按钮,将入住登记中的学生名称、学号、床位号、缴费情况后的文本框内容填入学生表的最后一条记录后,同时要把床位表中列床位号值等于此入住床位号的记录列住没住人的值改为“已住人”,还要将寝室表中列寝室号值等于此入住床位号属于的寝室的寝室号的那条记录的列已住人数的值进行加一。“取消”按钮负责关闭入住管理模块。,2.界面设计:,图8-27 入住
43、管理界面,3.窗体的主要的对象属性的设置:,表8-12,4.程序流程图 学生入住的程序流程图,如下图所示:,5.相关程序: 1)对入住寝室床位需求的查询,在“查询”按钮BitBtn1的OnClick事件处理程序中完成,SQL语句如下: ssql:=select 寝室表.寝室号,床位号,居住性别,朝向,铺位,可住人数,已住人数,住没住人 from 寝室表,床位表 where 寝室表.寝室号=床位表.寝室号 and +居住性别=+ssex+ and +朝向=+chaoxiang+ and +铺位=+chuangpu+; 2)对学生入住的操作,在“登记”按钮BitBtn1的OnClick事件处理程序
44、中完成,代码如下:,procedure TForm8.BitBtn2Click(Sender: TObject); var s,n,a:integer; ddd,str,str2:string; begin query1.Open; query3.Open; query4.Open; query2.SQL.Clear; query2.SQL.Add(select * from 学生表); query2.Open; query2.First; s:=0; while (not query2.Eof) and (s=0) do begin,if edit2.text=query2.FieldByN
45、ame(学号).AsString then begin s:=1; showmessage(此学生已存在) ; edit1.Text:=; edit2.Text:=; edit3.Text:=; edit4.Text:=; combobox1.Text:=; end else query2.Next; end; if s=0 then begin,query2.append; query2.fieldbyname(姓名).asstring:=edit1.text; query2.fieldbyname(学号).asstring:=edit2.text; query2.fieldbyname(床
46、位号).asstring:=edit3.text; query2.fieldbyname(缴费情况).asstring:=combobox1.text; query2.post; query4.Edit; ddd:=已住人; query4.sql.Clear; str:=update 床位表 set 住没住人=+ddd+where 床位号=+edit3.Text+; query4.sql.Add(str); query4.ExecSQL; query3.sql.clear;,str:=select * from 寝室表 ; query3.SQL.add(str); query3.open; query3.first; n:=0 ; while (not query3.Eof) and (n=0) do begin if edit4.text=query3.FieldByName(寝室号).AsString then begin n:=1; a:=query3.fieldbyname(已住人数).AsInteger+1; end else query3.Next ; end;,