宿舍管理系统数据库_第1页
宿舍管理系统数据库_第2页
宿舍管理系统数据库_第3页
宿舍管理系统数据库_第4页
宿舍管理系统数据库_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

宿舍管理系统数据库Delphi6.0高校学生宿舍管理系统是典型的管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于后台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。而对于前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。我们使用Borland公司的Delphi6.0和MSSQLServer2000数据库为开发工具,Delphi6.0是比较完备的面向数据库开发工具,同时它也利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,提供了强大的数据环境,更有利于对数据库和数据表的直接操作和处理,提高了编程效率和可靠性。旧的手工纪录的宿舍管理方式已经不能适应高速发展的化时代,新的宿舍管理系统开发出来之后,学校的现有的宿舍管理将有很大的改观,由过去的人工方式转变为计算机方式,由效率低、数据冗余、易产生错误转变为检索迅速、查找方便、可靠性高、存储量大。这些优点能够极大地提高效率,也是学校科学化、正规化管理的重要条件。引言学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的,社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改功能,能够快速的查询学校所需的住宿。第一章系统需求分析目前,我们学校的宿舍管理采用的还是人工来进行管理的,面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。1.1功能需求1.1.1基本功能需求本课题要实现的是高校学生宿舍管理系统,在设计该系统时,应尽可能的贴近学生,便于用户操作。系统在实现上应该具有如下功能:1.系统要求用户必须输入正确的用户名和密码才能进入系统。2.系统应该提供学生住宿情况的基本登记。3.系统应提供学生每学期的注册及学生的离校处理。4.系统应提供人员来访登记及结束访问的详细登记。5.系统应提供学生在校期间物品出入宿舍楼的详细情况登记。6.系统应提供查询功能,以方便用户对学生基本的查询及楼房的查询。7.系统应提供增加、删除、修改用户帐户的功能。8.系统还应具有添加、修改、删除学生及员工基本的功能。1.1.2报表需求学生宿舍管理系统的某些应当能够以报表形式打印出来。基本上应该能够实现学生基本的报表打印、某宿舍具体住宿情况的报表打印、某栋宿舍楼的所有员工打印、所有学生各年度宿舍交费情况打印、学生物品出入的打印及人员来访的打印等的功能。1.1.3用户界面需求学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户的录入、查询等功能操作提供方便。快捷按钮的创建也是非常需要的,以方便用户操作。1.2性能需求1.2.1系统安全性学生宿舍管理系统中的增加用户、学生学期注册、学生毕业离校等的某些模块都是和学生住宿费相联系在一起的,只有每年度的住宿费用交纳完毕才准许该生离校,所以在系统的管理权限上应当进行严格控制,具体思想如下:1.要想对该学生宿舍管理系统进行操作就应当具有某些操作权限。没有权限的用户将不能通过任何渠道来登录该系统,查看该系统的任何和数据,以确保系统的严密性和安全性。2.在上述要求基础上可以为该系统设定两种登录方式,程序开始运行所有功能将是不可使用的,只有系统管理员登录和普通用户登录两个窗口可以使用,没有系统管理员或者普通用户的用户名和密码任何人都不能登录该系统。3.在具体实现时还应为系统管理员和普通用户设定不同的权限,系统管理员应当可以使用系统的所有模块,普通用户对于用户管理模块、学生学期注册及学生毕业离校等牵扯到经济之类的模块是无权使用的。1.3数据库选择数据库是数据管理的最新技术,是计算机科学的重要分支。十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。由于数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的系统都是建立在数据库设计之上的。由于用到的数据表格多,另外考虑到实际情况,学生基本的变动,还有员工的多少的变化,我们选用SQLServer作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQLServer是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQLServer数据库。1.4环境本系统是以Windows系统为操作平台,用Delphi6.0编程语言和SQLServer数据库来实现高校学生宿舍管理系统所需功能的。第二章相关知识点介绍2.1Delphi知识介绍Delphi是美国BorlandSoftwareCorporation公司的编程工具产品。它基于Pascal语言,具有语法严谨、结构清晰、可读性强和代码执行效率高等优点;最重要的是,它功能强大且易活易学,利用Delphi,我们在Windows平台下几乎可以做任何事情。Delphi凭借其强大的功能、易用性以及在开发数据库和网络应用程序上的极大优势,作为一个优秀的、体贴的、以人为本的开发工具,Delphi一直坚持复杂问题简单化的思想,而且不隐藏其细节以适应不同层次的程序员。在进行宿舍管理系统开发时,用到了Delphi中的许多重要控件,下面将主要组件进行逐一说明。TTable组件通过BDE从一个数据库表格中取得数据并通过TDataSourse组件将数据传递给一个或多个数据控制组件。而且,将从数据控制组件处得到的通过BDE传递给数据库。TableName是TTable最重要的属性之一。它是用来说明这个TTable组件所对应的是数据库中的哪一张数据库表格。DatabaseName属性是用来说明当前数据集的,即应用程序所利用的数据库的名字。TDBGrid组件的作用是一个将数据集记录显示在网格中,并且可以对其中的数据进行修改。在窗体中放置一个TDBGrid对象来显示和一个数据集是用来在数据集中浏览数据和数据的。TDBNavigatoro组件是由一组控制按钮组成,通过这些控制按钮,用户可以完成在数据集中移动记录指针,增添或删除一项记录,修改数据记录以及向数据库提交对数据集记录的修改等工作。TDataSource组件提供了联系数据集组件与数据控制组件的纽带。通过使用TDataSource组件,可以利用数据控制组件显示、浏览以及修改数据集中的数据。ADO组件页介绍:TADOConnection是用来建立与ADO数据库之间联系的组件,各种ADO的数据集及操作组件可以共用这种联系来执行命令,读取数据,并执行相应的操作。TADOTable组件主要用来从单个数据表格中读取数据,完成相应操作。它可以直接与数据库相联,也可以通过TADOConnection来实现连接。TADOQuery组件通过使用常用的SQL语句来读取数据,完成相应操作。和TTable组件相比,TQuery组件的重要性体现在只有使用SQL语言才能完成查询的时候必须使用该组件,它支持复杂得嵌套查询,也就是Select中包含着Select子查询。它还可以使用DDLSQL语句,它可以直接与数据库相联,也可以通过TADOConnection来实现连接。TQuickRep组件:报表是数据库应用程序设计中非常重要的一部分,数据库应用程序通常都要生成报表,并且打印出来。该组件是设置报表外观的主要组件,将TQuickRep组件加入到窗体中,它可以定位到窗体上并扩展成全页的尺寸,给报表一个全页显示的可能。DataSet该属性指定主报表将从哪一个数据集中获得数据。对于简单的列表类型的报表中,通常使用一个数据集。对于一个主/明细表,该属性应该设置为主数据集。2.2SQLServer2000知识介绍SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统,它继承了SQLServer7.0版本的优点,同时又为它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成度高等优点,应用程序的操作系统支持所有Windows版本。在SQLServer中,使用的是T-SQL语言,T-SQL是ANSISQL的加强版语言,它提供了标准的SQL命令,由于SQL语言功能丰富、语言简洁,使用方法灵活,倍受用户和计算机业界的青睐,被众多的计算机公司和软件公司采用。经过多年的发展,SQL语言已成为关系数据库的标准语言。SQL语言主要有数据定义语言、数据操纵语言、数据控制语言和其他类语言要素组成。T-SQL的分类也有类似于SQL语言的分类,不过做了许多扩充。T-SQL语言的分类如下:变量说明语句、数据定义语言、数据操纵语言、数据控制语言、流程控制语言、内嵌函数、其他命令。在数据库中,数据查询是通过SELECT语句来完成的。SELECT语句可以从数据库中按用户要求检索数据,并将查询结果以表格的形式返回。当然用户在查询数据库时往往并不需要了解全部,而只需要其中一部分满足某些条件的。在这种情况下就需要在SELECT语句中加入条件以选择数据行,这时,就用到WHERE子句。WHERE子句中的条件是由表达式以及逻辑联结词AND、OR和NOT等组成。用户在进行查询时,会出现重复结果,这时就需要使用DISTINCT关键字来取消重复部分。在WHERE子句中,可以使用谓词LIKE来进行字符串的匹配检查。当用户要对查询结果进行排序时,就需要在SELECT语句中加入ORDERBY子句。在ORDERBY子句中,可以使用一个或多个排序,要求其优先级次序从左到右。为了使数据库更加精简,最大限度的减少数据库冗余数据。可以使用连接查询来实现多个表的连接。连接查询可以分为等值连接查询、非等值连接查询、自身连接查询等。表之间的连接如果是通过相等的字段值连接起来的查询称为等值连接查询。在等值查询的连接条件中,不使用等号而使用其他比较运算符,就构成了非等值连接查询,可以使用的比较运算符有〉、〉=、!=等。连接不仅可以在表之间进行,也可以使一个表同其自身进行连接,这种连接成为自身连接,相应得查询成为自连接查询。一个数据库能否保持的正确性、及时性、很大程度上依赖数据库的更新功能的强弱与数据库的实时更新能力,这些操作包括插入、删除、修改,也成为更新3种操作。第三章宿舍管理系统详细设计3.1系统功能模块图在整体设计中,我们将宿舍管理系统分为八个大的模块:系统管理模块、公寓管理模块、学生管理模块、查询模块、出入登记模块、修改模块、报表管理模块、关于模块。每个模块将实现不同的功能。下面将具体进行介绍。3.1.1系统管理模块系统管理模块包括:超级用户登录、普通用户登录、用户密码修改、用户管理、退出系统五个部分。1.超级用户登录:实现系统管理人员登录。2.普通用户登录:实现一般管理人员登录。3.用户管理:实现系统管理人员授予或取消一般用户登录该系统的用户名和密码。4.密码修改:实现所用用户的密码更改功能。5.退出系统:实现正常退出宿舍管理系统。3.1.2公寓管理模块公寓管理模块包括:楼房管理、宿舍管理、员工管理三个大的部分。1.楼房管理:登记学校所有住宿楼情况。2.宿舍管理:登记学校所有宿舍的情况。3.员工原理:实现楼房管理人员的添加功能。3.1.3学生管理模块学生管理模块包括:学生基本录入、学生财物登记、学生学期注册、学生离校管理四项功能.1.学生基本录入:实现学生基本情况的登记及宿舍的分配功能。2.学生财物登记:登记学生在校期间所拥有的公共及私有贵重物品情况。3.学生学期注册管理:登记学生在校期间每学期的宿舍缴费情况。4.学生离校管理:实现学生毕业离校处理,注销该学生。3.1.4查询模块查询模块基本上包括:按学号进行查询、按姓名进行查询、按班级查询、按寝室号查询、每栋楼房住宿情况查询五个部分。1.按学号进行查询:实现每个学生基本情况的查询功能。2.按姓名查询:通过学生姓名查询学生基本情况。3.按班级查询:通过班级查询某班级学生住宿情况及该班级学生。4.按寝室号查询:查看每个宿舍所住学生情况。5.楼房住宿情况查询:查询每栋楼房的所有宿舍的住宿情况及宿舍楼所住学生统计情况。3.1.5出入登记模块出入登记模块包括:进楼物品登记、出楼物品登记、人员来访登记、结束访问登记四个功能模块。1.进楼物品登记:详细登记某学生搬入宿舍楼的物品情况。2.出楼物品登记:详细登记某学生搬出宿舍楼的物品情况。3.人员来访登记:详细登记进入宿舍楼的外来人员情况。4.结束访问登记:详细登记外来人员的离开情况。3.1.6修改模块修改模块包括:学生基本修改、员工基本修改、个人财物修改三个大的功能。1.学生基本修改:实现系统管理人员对学生基本情况所作的添加、修改、删除。2.员工修改:实现系统管理人员对楼房员工的修改、删除功能。3.个人财物修改:实现对学生个人财物的添加、修改、删除功能。3.1.7报表管理模块报表管理模块包括:学生打印、员工打印、宿舍交费情况打印、物品出入楼打印、某宿舍住宿情况打印五个功能。1.学生:查询并打印每个学生的详细基本情况。2.员工:查询并打印每栋宿舍楼的所有员工情况。3.宿舍交费情况:查询并打印已交清或未交清住宿费的学生。4.物品出入楼:查询并打印某学生的物品出入宿舍楼的情况。5.宿舍住宿情况:查询并打印某个宿舍的详细住宿情况。6.人员来访情况:查询并打印某个时间段的人员来访情况。3.1.8关于模块此模块是对学生宿舍管理系统开发者相关的一个简单介绍。3.2系统E-R图在我所设计的模块中,主要涉及到员工、楼房、寝室这三个实体,所以在E-R图中我只是将这三个实体的属性进行了详细说明。3.3系统所需表综合以上分析,要实现上面的所有功能模块,共需要设计九个表,它们分别是:学生基本情况表、寝室表、员工表、楼房表、人员来访表、学生财产表、学期注册表、权限表、物品出入楼表。3.3.1系统表1.用户表:登记管理人员的用户名、密码及登录权限。2.学生基本情况表:详细登记学生基本及学生住宿情况。3.寝室表:登记所有宿舍的详细情况。4.员工表:登记所有管理人员的详细情况。5.人员来访表:登记所有来访人员的详细情况。6.物品出入表:详细登记学生物品出楼。7.楼房表:登记所有住宿楼情况。8.学期注册表:登记学生每学期的注册情况。9.学生财产表:登记学生物品情况。YandFEmp_AddLea_TimeG_Des数据长度Enr_YearKeySend3.3.2表的说明本管理系统共用到九个表:用户表、学生基本情况表、寝室表、员工表、人员来访表、物品出入楼表、楼房表、学生财产表、学期注册表,各表之间均有一定的关系,可以进行关联。1.学生基本情况表、学生财产表、学期注册表、物品出入楼表这四个表里面都有一个相同的字段:学号,通过学号这个字段就可以将系统的这四个表关联了起来。当某个表发生插入、修改、删除等方面的改动时,相联的表之间也要进行相应的改动。学生基本情况表和寝室表也有一个相同的字段:寝室号将两表相关联。2.由于员工是负责管理某栋楼房的,因此员工表,楼房表这两个表之间有一个相同的字段:楼房号来进行关联。3.4具体模块设计在系统功能模块介绍时,我们把整个系统分为系统管理模块、公寓管理模块、学生管理模块、查询模块、出入登记模块、修改模块、报表管理模块、关于模块八个基本模块。其中系统管理模块中的用户管理和密码修改、公寓管理模块、查询模块、报表管理模块是由我具体来完成的。如下图是我们学生宿舍管理系统的主界面:3.4.1用户管理、密码修改模块功能详细设计1.用户管理设计思想:当宿舍管理系统需要加入新管理员时,具有使用该功能权限的超级用户授予新管理员以登录该系统的用户名称、用户密码和用户权限。像我们的后勤服务总公司中的管理人员就应该具有系统管理员的权限,宿舍楼房管理人员就应该具有一般用户的权限。一般用户的权限是系统管理员授予的。当然如果某管理人员离职,那么他将不能再登录该系统,因此管理员有权收回授予其的管理权限。具体实现:.在实现该功能时,需要用到权限表LoginIn,因此需要添加一个TADOQuery控件实现窗体与数据库之间的相关联。.在新增用户时,考虑到在登录该系统时,用户名及其用户密码是必须输入不能为空的,因此我们在实现具体添加新用户时,不能允许用户名及其密码为空。还有重要一点就是用户权限也是必须选择的,因为这关系到用户在使用宿舍管理系统时所具有权限问题。.在删除用户时,还需要通过编码判断一下系统管理人员所要删除的用户到底存不存在。如果没有该用户那么也许是因为管理人员的输入错误,造成所删用户不存在,可以重新输入,实现删除功能。2.密码修改设计思想:为了防止密码被恶意盗用可以经常性的修改你的密码以增强系统的安全性,密码修改对于所有具有访问该系统的用户来说都可以使用。具体实现:.首先通过TADOQuery控件实现该功能模块与数据库的关联。.其次为了确保该功能的完整性,在确认之后,需要判断一下所有的框中的输入都不能为空。.最后在确认时,还需要编程实现的是判断原始用户名和密码是否一致,只有一致才有权限修改你的密码。同是为了确保新密码的正确性,还添加了一个确认密码框,新密码和确认密码两者所输内容是要求完全一样,方能修改密码成功。3.4.2公寓管理模块详细设计1.楼房管理设计思想:楼房管理是对每栋宿舍楼的基本进行录入,在学校建设完新的宿舍楼时可以通过此窗体把该楼房的添加到数据库中去。具体实现:.由于需要和数据库表相关联,所以也添加了一个TADOQuery控件实现两者之间的关联。.在具体实现时需要设置像楼房号这样的具有唯一确定性的字段是不能为空的。其他字段在输入时没有太大限制,录入人员在录入时需根据自身情况再进行添加。.我们还设置了一个‘备注’字段,是为了方便学校登记该楼房的其他相关情况。2.宿舍管理设计思想:宿舍管理是对每栋楼房所有宿舍的一个详细情况登记,每个宿舍在数据库里面的都是就静态的只有里面的实住人数是动态增加的,当某个宿舍增加或减少一个学生实住人数会自动加1或减1,实现动态增减。具体实现:.首先通过TADOQuery实现数据库和窗体的相关联,再通过TDatasouse控件实现TDBGrid和宿舍表的相关联,那么Dorm表中的数据就会在TDBGrid中显示了,可以随时看到表中数据的动态变化。.在具体设计时,首先将实住人数框属性设为ReadOnly型,因为该字段是动态添加,每当为一个学生分配一个宿舍,那么该宿舍的实住人数会自动加一,无需手工录入。住宿费是必须输入的,因为这和学生注册管理是相关联的。学生在学期注册时,需要根据该生所住的宿舍号来查看其应交的住宿费用。居住性别也要输入,当为某学生分配宿舍时,需要根据该生性别查一下,还能入住男生或女生的宿舍有哪些,根据所查情况再为他们分配宿舍。以免盲目分配,出现错住造成管理混乱。3.员工管理设计思想:员工管理是对楼房管理人员、清洁工、保卫人员进行的登记管理。该模块是有系统管理员来完成的,普通用户没有使用该项功能的权限。当某栋楼房调来新员工时,系统管理员可以通过此功能来添加员工基本。具体实现:.首先通过TADOQuery实现数据库和功能模块的相关联,再通过TDatasouse控件实现TDBGrid表格和员工表的相关联,那么员工表中的数据就会在TDBgrid中显示了,可以随时看到表中数据添加、删除、修改等的动态变化。.在该功能中需编程将‘楼房号’所对应得下拉列表框中的属性值动态的从楼房表中获得的。通过动态添加可以实现当楼房表中每增加一栋楼,在员工窗体的‘楼房号’的下拉列表框中的会自动添加一栋,实现两个表之间的动态关联。3.4.3查询模块详细设计按学号进行查询、按姓名进行查询、按班级查询、按寝室号查询这四个功能模块在具体编程实现上基本上是一样的,因为都是针对学生的查询。因此我们仅以’按学号进行查询’为例来说明一下这四个功能模块的详细实现过程。其余三个模块仅介绍其实现思想。Y显示查询结果结束1.按学号进行查询设计思想:按学号查询是具体的查询某学生的详细,包括学生的基本及其住宿情况。在需要调查学生的详细情况时,可以采用该功能来实现。具体实现:.首先通过TADOQuery控件实现数据库和该功能模块的关联,再通过TDatasourse实现学生表和TDBGrid的关联,把学生显示在下面的表格中。.其次我还为窗体添加了一个TDBNavigator控件,可以实现数据的最上一条、上一条、下一条、最下一条浏览查看。当然像按学号来查询的话也许用不到该控件,但要是按班级查询或姓名等其他查询,这个控件是非常有用的。因为通过班级或姓名查出来的学生数据量会非常大,所以需要通过该按钮来方便、快捷的查看。.在按学号查询时首先要通过编程判断一下,数据库的学生表中是否存在该编号的学生,如果没有系统会提醒你‘学号不存在是不是输入错误,检查一下再重新输入’,所以只有存在学号才能进行查询。.上述完成之后,输入所查询的学号,那么所需学生就会在下面表格中显示出来了。上图所显示的是所有学生情况。2.按姓名进行查询设计思想:按学生姓名实现的查询,虽然这样查出来的学生有可能不止一名,但在有些情况下可以调用此功能来实现。3.按班级进行查询设计思想:实现某个班级所有学生基本及住宿情况的查询。通过该功能模块我们可以统计某个班级的宿舍分配情况,这个班级的学生都住在哪些寝室中。4.按寝室号查询设计思想:在输入寝室号时可以把该宿舍所住的所有学生的都统计出来,方便详细了解某宿舍的学生住宿情况。5.住宿情况查询设计思想:多选框里的按楼房号查询按钮可以查看某栋楼房所有宿舍的住宿情况,看看还有哪些宿舍还有空的床位,可以入住学生。还可以查看某个宿舍的详细情况。同时该模块还能够统计某栋楼房的所有学生人数。具体实现:.首先通过TADOQuery控件实现数据库和该功能模块的关联,再通过TDatasourse实现寝室表和TDBGrid显示表格的关联,把宿舍显示在下面的表格中。.其次放置一个复选按钮键,可以方便实现按楼房号和按宿舍号两种方式的查询。在右边放置一个查询框,进行查询条件的输入。在按楼房号查询时,用到了模糊查询。模糊查询的在本部分的基本原理就是:我们在刚开始建库时考虑到管理方便和减少冗余,在对学生进行宿舍号登记时是这么描述的如:6-502,将其楼房号和宿舍号放一个字段中,并没有将其分开操作。所以在查询这部分当需要按楼房号进行查询时,就要注意了。假如我们要查5号楼的住宿情况,那么在TDBGrid表格中的显示就应该是5-***,而6-502虽然也包含了5这个字符,但它不属于5号楼,所以要将其排除在外。因此我们采用了模糊查询,查询结果只显示所需。.在住宿统计的实现上,我们使用的SQL集函数SUM来实现的。它的主要功能就是计算一列值得总和。将要查的楼房号,输入到查询条件中时,还需要判断该楼房号到底存不存在,如果存在在该模块中的‘住宿统计按钮’,那么该楼房所有学生的总人数会在’住宿统计’按钮右边的Memo文本显示控件里面进行显示了,同时该楼房的详细住宿情况会在表格中进行具体显示。3.4.4报表管理模块详细设计报表是数据库应用程序设计中非常重要的一部份,数据库应用程序通常都要生成报表,并且把所需打印出来,方便用户存档等得方面上的管理。由于该模块中各小模块实现的都是报表管理,所以宿舍交费情况报表管理、学生报表、员工报表、学生物品出入报表、住宿报表、来访报表这六个小功能模块只是在功能思想上不太一样,其具体设计实现时操作基本上是差不多的,因此这里只是详细介绍宿舍交费情况的具体设计实现,其他模块仅介绍其设计思想。1.宿舍交费情况报表管理设计思想:该模块实现的是对学生每学期所交纳住宿费的一个详细情况的查询。在学生即将毕业离校时可以通过该功能模块来查询一下,那些同学还欠有学校住宿费,在其交清之前将不准其离校,已交清的同学就可以进行离校手续的办理了。一般来说我们真正需要并且有用的就是未交清住宿费的学生清单,在学生毕业时可以通过此单来收取学生补交的住宿费等。具体实现:.首先通过TADOQuery控件实现数据库和该窗体的关联,再通过TDataSourse实现学生注册表和TDBGrid的关联,把学生交费显示在列表中。.在作报表时我使用的是TQuickRep组件,通过该组件可以方便的把报表和代码联系起来,生成美观的图文报表。当然还可以用TQReport页上的控件给一个报表添加标题、页眉、页脚、等功能。还可以自动进行求和、计算均值等统计功能。报表设计时可以选中TQuickRep控件快捷菜单的Preview,即可在设计阶段预览打印结果。.我们为每个报表管理窗体设置四个TButton功能按钮:查询、报表预览、打印报表、退出。报表管理,再打印报表之前首先查询一下用户所需,查询出来后可以预览一下是否正确,确定无误之后可以打印按钮,那么所有所需就会详细的详细地显示在纸张上,供用户查看了。.在学生注册表里的‘交费情况’字段我们规定它只能选择两种情况:已交清或未交清。在框中输入已交清或未交清两种情况的一种,按钮,那么所需就会详细的显示在窗体表中。防止用户在查询时输入错误,我们需要编程实现提示功能。下面我们以未交清住宿费的学生为例,演示一下其报表预览情况。在上述窗体中输入‘未交清’字段,则其报表显示情况如下:图3.13报表预览图2.学生报表图3.14学生报表界面设计思想:能够实现某学生详细基本情况的查询打印。当因为某些原因需要查询某学生时,可以调用该功能模块来实现。3.员工报表设计思想:能够实现某栋楼房所有员工情况的查询打印,如果想了解某宿舍楼工作人员的详细情况,可以调用该模块来实现。4.学生物品出入报表设计思,,想:能够实现查询某学生物品出入宿舍楼房的详细。如果想查看一下该学生一段时间内的出楼情况,可以通过该窗口来实现。5.住宿报表设计思想:能够将某宿舍的详细学生住宿情况打印出来。在某些情况下如果需要查看某个宿舍的详细学生情况可以调用该窗体实现报表打印功能。6.来访报表设计思想:主要实现的是将某个时间内所有来访人员的详细打印出来,以便于查询某些。第四章系统测试4.1所遇问题一个系统功能的实现,需要经过这么几步,首先把大致的骨架给设计好,然后根据系统要求写代码,接着是调试程序,最后完善总结。其中最重要的两步就是中间的两步。在此次毕业设计中,给我印象最深的就是系统的调试。在调试过程中,遇到了不少的问题,不过经过我不断的查阅资料,老师的指导,同学的商讨,这些问题都逐渐得到了解决,现将整个的调试过程总结如下:1.首先就是SQLServer数据库和Delphi开发环境的相关联。我原先使用的是BDE控件来实现SQLServer数据库和Delphi的关联,这中间要用到ODBC数据源,每次进行数据库和ODBC的相联都会发生许多错误。最后我在看书时发现Delphi中新的数据访问组件都采用了ADO技术,可以不通过BDE就能使用现行的数据控件如TDBGrid和TDBEdit对数据进行直接访问,因此缩短了ADO/OLE-DB的运行时间,更重要的是,使用ADO可以避免用户在使用程序之前手动设置BDE和ODBC属性,以免产生不必要的错误。因些通过ADO我可以方便快捷的将其进行了关联。2.其次就是查询中出现的错误。假设我们查询

温馨提示

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

评论

0/150

提交评论