基于ASPNET的学生宿舍管理系统.doc_第1页
基于ASPNET的学生宿舍管理系统.doc_第2页
基于ASPNET的学生宿舍管理系统.doc_第3页
基于ASPNET的学生宿舍管理系统.doc_第4页
基于ASPNET的学生宿舍管理系统.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)基于ASP.NET的学生宿舍管理系统教学单位: 专业名称:学 号:学生姓名: 指导教师: 指导单位: 完成时间: 基于ASP.NET的学生宿舍管理系统【摘要】本文搭建了一个学生宿舍管理系统,该系统是以现代软件技术来构建的学校宿舍综合管理平台,其主要作用就是通过该平台向学生、管理员提供准确、快捷的在线交互功能。本文采用B/S架构,结合ASP.NET为开发技术,使用SQL Server 2008创建宿舍管理系统数据库,采用成熟稳定的三层架构和ajax技术以及抽象数据工厂模型,开发了学生宿舍管理系统。经测试该网站系统运行稳定流畅、操作便捷、界面美观友好。系统主要分为三层,前台主要是包括了首页,集中展示了学生注册、登录、宿舍新闻、网站投票、网站公告、用户留言等功能;学生模块包括用户管理模块、信息查询模块和报修登记模块;系统后台包括管理员登陆、用户管理、新闻分类管理、新闻管理、留言管理、班级管理、宿舍楼管理、宿舍管理、信息查询、综合管理等。文中按照软件工程的一般方法和步骤详细的介绍了系统开发的全过程。 【关键词】 ASP.NET,宿舍管理,B/S,三层架构 2毕业设计(论文)AbstractDormitory Management system based on ASP.NET【Abstract】 This paper build a dormitory management system, the system management platform based on modern software technology to build the school dormitory, its main role is to provide accurate, fast online interactive features of the platform to the students, administrators.This paper uses the B / S architecture, ASP.NET for the development of technology, using SQL Server 2008 as the database, And three-tier architecture and ajax technology, developed an dormitory management system website. The development of a student dormitory management system. Test the system running stable, easy to handle, friendly and beautiful interface. The system is mainly divided into three layers, the main front is to include the home page showcases the student registration, login, hostel news, site vote, site announcement, the user message function; student module includes a user management module, query module and repair registration module ; backend system administrator login, user management, news category management, news management, message management, class management, dormitory management, dormitory management, information search, integrated management. In accordance with the general software engineering methods and steps described in detail the whole process of system development.【Key Words】 ASP.NET, dormitory management system, B/S, three layer毕业设计(论文)目录目录第1章 绪论11.1 引言11.2 课题研究目的和意义11.3 可行性分析2第2章 相关技术介绍32.1 .NET 框架32.2 ASP.NET技术32.3 C#语言42.4 基于ASP.NET技术的三层架构模型42.5 AJAX技术52.6 B/S结构52.7 系统运行环境6第3章 需求分析73.1 功能分析73.2 性能分析8第4章 系统设计104.1 系统的架构设计104.2 系统模块划分11第5章 数据库设计135.1 数据库概念设计135.2 数据库表设计14第6章 系统实现176.1 系统公共类的实现176.2 首页206.3 学生模块206.3.1宿舍查询216.3.2 学生入住查询216.3.3 报修登记226.3.4 注册与登录236.4管理员模块设计256.4.1 管理员登录256.4.2 管理员管理266.4.3 新闻管理296.4.4 分类管理316.4.5 班级管理336.4.6 留言管理346.4.7 宿舍管理366.4.8 入住管理366.4.9 报修管理37第七章 测试39总结40致谢42毕业设计(论文)第1章绪论第1章 绪论1.1 引言随着时代的发展,信息技术在各行业的应用越来越广泛,它正在为广大的用户提供了更为周到和便捷的服务。目前各行各业广泛使用专用系统,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,设计开发好一个专用系统对一个机构(或部门)的发展十分重要。近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。对于学校而言,学生宿舍管理是必不可少的组成部分。目前仍然存在有学校停留在宿舍管理部门人员手工记录数据的阶段,手工记录对于规模小的学校来说勉强可以接受;但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的,而且当查找某条记录时,由于数据量庞大,只能依靠人工去一条一条地查找,这样不但麻烦而且浪费许多时间,工作效率比较低。1.2 课题研究目的和意义为了实现提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理部门,开发设计专用系统-高校学生宿舍信息管理系统来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。专用系统是一个信息管理系统MIS(Management Information System)(以下就称信息管理系统),它将实现检索迅速和查找方便;信息的录入,修改和删除功能;以及对新入校学生进行宿舍安排等功能。系统的具体设计与实现将针对学院后勤服务管理中心(此后简称管理中心)的具体情况进行开展。本论文按照软件工程的流程完成,首先介绍了宿舍管理系统所使用的一些相关技术,然后分析了宿舍管理系统的需求,接着根据需求分析对网站进行设计与实现,最后在测试已经完成的网站程序,确保没有bug出现。1.3 可行性分析通过前期信息收集,对设计开发的高校学生宿舍信息管理系统进行了可行性分析,分析如下:l 管理上的可行性设计开发的信息管理系统面向的是学院后勤服务管理中心,管理部门的工作人员都具备一定电脑基本操作技能。而且目前的宿舍管理制度也比较完善,实现管理人员查询相关资料的信息化,可将使宿舍管理部门的办事效率提高到一个新的档次。l 技术上的可行性设计开发的信息管理系统采用ASP.NET技术和SQL Server 2008数据库,可实行数据信息自动化管理,高效率进行数据处理。而且通过使用计算机网络化来处理信息,宿舍管理部门的工作人员只需懂得计算机操作的初步知识和上网知识即可。l 经济上的可行性成本低:通过运用计算机技术,进行信息化管理;虽然计算机资源需要一定的开支,但可以充分利用其部门已有的资源(其部门已有计算机);这样可以减少不必要的人力,物力和财力的支出。该系统在将来经济允许的条件下还可进行系统扩展。l 分析结论通过以上的分析,管理、技术、经济都具有可行性,故该宿舍管理系统可以进行设计和实现。毕业设计(论文)第2章相关技术介绍第2章 相关技术介绍2.1 .NET 框架 .NET Framework是用于Windows的新托管代码编程模型。它强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。NET Framework又称 .Net框架。是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。.NET框架是微软公司继Windows DNA之后的新开发平台。.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB、C+、Python等)的开发。NET也为应用程序接口(API)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和服务(web服务)的开发。.NET提供了一个新的反射性的且面向对象程序设计编程接口。.NET设计得足够通用化从而使许多不同高级语言都得以被汇集。.NET Framework中的所有语言都提供基类库(BCL)。 2.2 ASP.NET技术ASP.NET的前身ASP技术,是在IIS 2.0上首次推出(Windows NT 3.51),当时与 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了Visual InterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上(笔者到现在为止只知道它只能用在Windows 2000/2003 Server/VISTA/7/XP上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent(语言独立化)的,所以,可以选择一种最适合的语言来编写程序,或者把程序用很多种语言来写,现在已经支持的有C#(C+和Java的结合体),VB,Jscript , C+、F+。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.net。 2.3 C#语言 由于ASP.NET是一个基于.NET的统一的Web开发平台,该Web开发平台使得Web开发人员可以使用.NET编程语言(包括VB.NET、C#和C+托管扩展、Jscript等)开发Web应用程序。C#(读做 C sharp,中文译音暂时没有.专业人士一般读C sharp,现在很多非专业一般读C井。C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。并且C#成为ECMA与ISO标准规范。C#看似基于C+写成,但又融入其它语言如Pascal、Java、VB等。2.4 基于ASP.NET技术的三层架构模型在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层(DAL)、业务逻辑层(BLL)(又或称为领域层)、表示层(UI)。 区分层次的目的即为了“高内聚,低耦合”的思想。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。2.5 AJAX技术AJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML),AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词,是指一种创建交互式网页应用的网页开发技术.使用ajax 构建应用程序,国内翻译常为“阿贾克斯”和阿贾克斯足球队同音。Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于Web的应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。 Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。2.6 B/S结构B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。1) 维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。2) 成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响.3) 应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。2.7 系统运行环境网站具有前后和后台功能,因此运行环境有如下要求:(1)服务器端操作系统 :WINDOWS XP SP3 / WINDOWS 7 / SERVER 2003, 2008开发工具 :Microsoft Visual Studio 2008运行环境 :IIS 6.0,.NET FRAMEWORK 3.5数据库:SQL Server 2008(2)浏览器端: 操作系统:任意支持Internet协议的操作系统; 浏览器 :Internet Explorer,Firefox,opera等6 第3章 需求分析第3章 需求分析3.1 功能分析 该学生宿舍管理系统的最终用户为宿舍楼管理员,本宿舍楼的学生。根据我们日常生活中的经验,结合对自己学校宿舍楼管理老师的咨询和对同宿舍楼同学的调查,得出用户的下列实际需求: 前台功能分析如下:(1)首页:学生宿舍管理系统的各种信息的整体展示,包括用户注册、登录区,宿舍新闻列表区,宿舍风采展示区,宿舍公告,留言版块,投票调查版块。(2)用户管理:实现学生用户的自助注册、登录、密码修改功能。(3)信息查询:具体包括了宿舍信息查询、班级信息查询、入住信息查询和文明寝室查询功能。(4)报修管理:包括提交报修登记和查询过往报修历史功能。后台功能分析如下:(1)用户管理:主要实现管理员添加,删除,同时可以新增普通用户。(2)新闻分类管理:主要实现宿舍新闻的各种分类的管理。包括添加一级分类、添加二级分类、查看分类和删除分类。(3)新闻文章管理:主要管理本站的所有宿舍新闻,包括添加新闻和删除新闻。(4)班级管理:可以添加班级、删除班级和查看班级一览。(5)宿舍楼管理:可以添加一栋宿舍楼,查看全部宿舍楼或者删除某个宿舍楼。(6)宿舍管理:可以添加宿舍、删除某个宿舍。查询宿舍一览。可以办理学生入住,查询宿舍入住情况等。(7)综合管理:具体包括宿舍报修管理,文明寝室评定,文明寝室管理等。(8)用户留言管理:及时了解各种用户的各种信息反馈。3.2 性能分析1精度1)管理员登录:管理员登录用户名:字母长度为4-10个字符。 密码:字母长度为6-12个。2)添加管理员:ID:字母长度为4-10个字符。 密码:字母长度为6-12个。 电话号码:10或11个数字。 手机号码:11个数字。 家庭地址:不能为空。 3)添加新闻: 新闻标题:不能为空。 新闻分类:不能为空。 新闻内容:不能为空。 发表人:不能为空。 发表时间:不能为空。 4) 添加分类:所属类别:选择一个类别。名称:不能为空。 描述:不能为空。 5) 添加班级:班级ID:数字,自动增长,不为空。班级名称:不能为空。 所属专业:不能为空。年级:数字,不为空。 6) 添加宿舍楼:所属类别:选择一个类别(男生/女生)。宿舍楼名称:不能为空。 宿舍楼ID:不能为空。 7) 添加宿舍:宿舍号:数字,不能为空。宿舍楼:不能为空。 人数:不能为空。电话:不能为空。 8) 学生入住:学号:不能为空。宿舍ID:数字,不能为空。 床号:数字,不能为空。2灵活性访问系统不需要安装软件,属于零部署,只需要拥有浏览器和上网功能用户就能随时随地的访问系统,设计适应客户需求的人性化界面,易于操作。43 第4章 系统设计第4章 系统设计4.1 系统的架构设计本网站系统应用三层架构模式以及抽象工厂模型,分别为Web显示层,数据访问层DAL,业务逻辑层BLL。总体设计架构如图:图4.1 总体设计架构图表现层(Presentation Layer),表现层用于用户接口的展示,以及用业务层的类和对象来“驱动:这些接口。负责接收用户的输入、将输出呈现给用户以及访问安全性验证。对流入的数据的正确性和有效性负责,对呈现样式负责,对呈现友好的错误信息负责。在ASP.NET中,该层包括aspx页面、用户控制、服务器控制以及某些与安全相关的类和对象。业务逻辑层(Business Tier),业务层用于访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层,负责系统领域业务的处理,负责逻辑性数据的生成、处理及 转换。对流入的逻辑性数据的正确性及有效性负责,对流出的逻辑性数据及用户性数据不负责,对数据的呈现样式不负责。在ASP.NET中,该层包括使用Sqlclient从SQL Server或ACCess数据库取数据、更新数据及删除数据,并把取得的数据放到DataReader或DataSet中返回给表现层。返回的数据也许只有一个整型数字,比如一个表的行记录数目,但这也要用数据层的数据进行计算。数据访问层(Data Tier),数据层是数据库或者数据源。负责与数据源的交互,即数据的插入、删除、修改以及从数 据库中读出数据等操作。对数据的正确性和可用性不负责,对数据的用途不了解, 不负担任何业务逻辑。抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据LSP原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不是这些抽象产品的实例。换言之,也就是这些抽象产品的具体子类的实例。工厂类负责创建抽象产品的具体子类的实例。4.2 系统模块划分按照系统功能设计,划分总体为前台展示模块、学生管理模块和系统管理员模块管理,前台展示给用户宿舍新闻、注册登录和留言以及投票功能;学生模块提供了修改密码、宿舍相关查询业务以及报修功能;系统后台管理模块实现了对整个宿舍管理系统的日常维护和管理。它们的总关系结构图如图4.2。宿舍管理系统前台展示后台管理系统学生管理中心图4.2 系统功能模块后台管理系统模块管理主要供宿舍内部管理员使用,因此把宿舍管理系统后台管理划分为用户管理,分类管理,新闻管理,宿舍楼管理,宿舍管理、班级管理、入住管理、报修管理、用户留言管理等几大模块,主要的功能模块图如图4.3。宿舍管理系统后台新闻管理班级管理宿舍管理宿舍楼管理综合管理留言管理添加宿舍新闻删除宿舍新闻添加班级删除班级添加宿舍删除宿舍添加宿舍楼删除宿舍楼报修管理文明寝室管理查看留言用户管理图4.3后台管理系统功能模块图前台展示模块主要供学生用户使用,具体功能设计图如下图4.4所示:宿舍管理系统前台新闻查看用户管理报修管理查询业务留言管理新闻列表查看新闻内容用户注册用户登录添加报修信息查询报修历史宿舍查询班级查询入住查询文明寝室查询提交留言参与投票图4.4 前台功能模块图 第5章 数据库设计第5章 数据库设计5.1 数据库概念设计数据库设计阶段,需要抽象分析数据,对数据库进行逻辑结构设计和数据结构与程序关系设计,规范各种数据。本网站采用数据库SQL Server 2008,它能够高效率的完成各种数据库的查询和存储过程以及触发器,对Web技术支持,设计根据人性化,直观化,更加简洁容易地对网站数据进行存储管理和维护。通过需求分析,采用自底向上的方法进行数据抽象和结构设计,本系统网站涉及到的实体如下:1.大分类:用来记录新闻的大分类信息,也就是网页的子栏目,包含字段为(分类ID、分类名、描述、是否禁用)。2用来记录宿舍新闻的小分类信息,一大大分类包括若干个小分类,小分类包含字段为(小分类ID、所属大分类、姓名、描述、是否禁用)。3新闻:用来记录宿舍的新闻信息,包含字段为(新闻ID,新闻标题、所属分类、新闻内容、发表者、发表时间、点击次数)。4. 用户:用来记录管理员和学生的详细信息,包含字段为(ID、用户名、密码、电子邮件、电话号码、手机号码,家庭地址、登录ip,是否禁用,是否管理员,学生学号,班级ID)。5.宿舍楼:用来记录所有的宿舍楼信息,包含字段为(宿舍楼ID、宿舍楼名、宿舍楼类型)。6.宿舍:用来记录宿舍信息,包含字段为(宿舍ID、宿舍门牌号、宿舍楼ID、最大人数、电话)。7.用户留言:用于收集学生的反馈信息,包含字段为(用户ID、用户名称、内容、评论时期、是否禁用)。8.投票:用于记录投票的票数,包含字段为(ID、投票选项名称、票数,是否禁用)9.班级:用于记录学生所在的班级信息,包含字段为(班级ID、班级名称、专业、年级)10.学生入住信息:记录学生所在的宿舍,包含字段为(学号、宿舍ID、床位次序)11.报修信息:记录学生提交的设备报修信息,包含字段为(ID、宿舍ID、学号、报修内容、提交日期、维修状态、处理日期)12.文明宿舍:记录每学期表扬的文明寝室信息,包含字段为(ID、宿舍ID、表彰年份、得分)5.2 数据库表设计针对学生宿舍管理系统,设计的数据库包括用户表User,新闻大分类表Category,新闻小分类表Product,新闻表Item,宿舍楼表Building,宿舍表Room,班级表ClassInfo,维修记录表Repair,学生入住表StudCheckIns,用户留言表UserMess,投票表Vote。(1)Category表:大分类表。用来记录小分类所属的大分类,包含字段有:分类ID、分类名Name、描述Descriptions、是否禁用Vis,主键是Id。表5-1 分类表表名列名标识主鍵类型允许空CategoryIdvarchar(30)Namenvarchar(MAX)Descriptions nvarchar(MAX)Visbit (2)Product表:小分类表。用来记录新闻的小分类信息,一个大分类包养几个小分类,小分类包含字段为小分类ID、所属大分类CategoryId、姓名Name、描述Descriptions、是否禁用Vis,主键是Id。表5-2 小分类表表名列名标识主鍵类型允许空ProductId CategoryIdvarchar(MAX) Namevarchar(MAX) Descriptionsvarchar(MAX) Visbit (3)Item表:新闻表。 用来记录新闻的信息,包含字段为ID,新闻标题Name、所属分类ProductId、新闻内容NewsCnt、点击次数ClickTime、作者Author、发表时间Fresh,主键是ID。 表5-3 新闻表表名列名标识主鍵类型允许空ItemIdIntNamevarchar(MAX) ProductIdvarchar(MAX) NewsCntvarchar(MAX)Authorvarchar(50)Freshvarchar(50)ClickTimeint(4)Vote表:投票表。投票:用于记录投票的票数,包含字段为ID、投票选项名称Name、票数VoteNum,是否禁用Vis,主键是Name。 表5-4 投票表 表名列名标识主鍵类型允许空VoteNamevarchar(MAX) VoteNumintVisbit (5)Building表:宿舍楼表。包含字段为宿舍楼编号bdid、宿舍楼名bdname、宿舍楼类型bdtype。主键是bdid。表5-5 宿舍楼表表名列名标识主鍵类型允许空BuildingBdidvarchar(50)bdNamevarchar(50)Bdtypevarchar(50)(6)ClassInfo表:班级表。包含字段为班级编号classid、班级名称classname、专业professor、年级grade。主键是classId。表5-6 班级表表名列名标识主鍵类型允许空classinfoclassIdIntClassnameVarchar(50)ProfessorVarchar(50)GradeVarchar(50)(7)Room表:宿舍表。 用来记录宿舍的详细信息,包含字段为宿舍编号rid、房间号roomNo、宿舍楼编号bdid、额定人数maxperson、电话tel。主键是rid。 表5-7 宿舍表表名列名标识主鍵类型允许空RoomRidIntroomNovarchar(50)Bdidvarchar(50)maxPersonIntTelvarchar(50)(8)UserMess表:用户留言表。用于收集用户的反馈信息,包含字段为用户ID、用户名称Name、内容Content、评论时期MeTime、是否禁用Vis,OrderIdName。表5-8 留言表表名列名标识主鍵类型允许空UserMessNamevarchar(MAX) Contentvarchar(MAX) MeTimedatetime Visbit (9)StudCheckIns表:学生入住表。包含字段为学生学号stuNo、宿舍编号roomid、床位序号bedorder。主键是stuNo。表5-9 入住表表名列名标识主鍵类型允许空StudCheckInsstuNoVarchar(50)RoomidIntBedorderInt(10)Repair表:报修表。包含字段为宿舍编号roomid、学号stuNo、报修内容repairCnt、提交日期submitdate、维修状态repairstatus。表5-10 报修表表名列名标识主鍵类型允许空RepairRidintRoomidIntStuNoVarchar(50)repairCntVarchar(max)submitdateDatetimerepairstatusVarchar(50)processdateDatetime 第6章 系统实现第6章 系统实现6.1 系统公共类的实现 1.数据库连接字符串数据库操作类声明数据库连接对象,执行数据库数据库的各种命令,比如增,删,改,查的各种命令。根据系统功能返回需要的数据集,返回首行首列,受影响的行数等。实现这些功能的是静态函数,通过调用这些方法,实现具体的功能。把这些操作类放在底层的某种数据库产品的工具类中。(1)数据库连接字符串:连接SQL SERVER数据库字符串。从网站的配置文件里面获取数据量连接字符串。 public static readonly string txtConnecttionString = ConfigurationManager.ConnectionStringsSqlConnectStringOne.ConnectionString;(2)数据库连接语句:封装一个通用的数据库命令准备方法。采用ADO.NET提供的2大连接对象,sqlconnection, sqlcommand执行数据库命令。ADO.NET提供与数据源进行交互的相关的公共方法。sqlcommand表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。 if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = cmdText; if (trans != null) cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParas != null) foreach (SqlParameter para in cmdParas) cmd.Parameters.Add(para); (3)返回影响的行数:执行数据库命令,并返回所影响的行数。采用ADO.NET提供的sqlcommand命令对象,用sqlcommand对象的ExecuteNonQuery方法执行数据库命令并且返回所影响的行数。ExecuteNonQuery 通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用DataSet 的情况下更改数据库中的数据。 SqlCommand cmd = new SqlCommand(); using (SqlConnection con = new SqlConnection(txtConnecttionString) PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParas); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; (4)执行查询语句:采用ADO.NET中的sqlcomand对象,并且sql语句执行数据集命令并且返回首行首列。使用 ExecuteScalar 方法从数据库中检索单个值(例如一个聚合值)。 public static object ExecuteSclare(string connectionString, CommandType cmdType, string cmdText, SqlParameter cmdParas) SqlCommand cmd = new SqlCommand(); using (SqlConnection con = new SqlConnection(connectionString) PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParas); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return val; (5)执行sql查询命令,返回数据读取器:采用技术中的sqldatareader对象,提供一种从 SQL Server 数据库读取行的只进流的方式,在使用 SqlDataReader 时,关联的 SqlConnection 正忙于为 SqlDataReader 服务,对 SqlConnection 无法执行任何其他操作,只能将其关闭。除非调用 SqlDataReader 的 Close 方法,否则会一直处于此状态。若要创建 SqlDataReader,必须调用 SqlCommand 对象的 ExecuteReader 方法,而不要直接使用构造函数。 public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, SqlParameter cmdParas) SqlConnection con = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand(); try PrepareCommand(cmd, con, null, cmdType, cmdText, cmdParas); SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); return dr; catch (SqlException ex) con.Close(); throw new Exception(ex.Message, ex); 2. 页面的javascript辅助类网站使用了javascript辅助类,目的是向用户提示出各种信息。如下面的代码,展示给用户一个用户提示框。 string content = alert(+msg+) ; page.ClientScript.RegisterClientScriptBlock(page.GetType(),msg,content)6.2 首页首页模块主要包括:首页、注册、登录、新闻查看、留言、用户信息等内容。具体包括网站logo、用户登录注销链接、新闻列表、宿舍风采展示、网站公告及投票等元素。网站采用用户控件有效的提升了效率,运行截图如下6.1所示。图6.1 系统主界面关键技术:首页的大页面布局采用表格布局,布局表格是一种可用来创建网页方案的工具。它把宿舍管理系统首页清晰的分为多个模块,比如logo,新闻,宿舍风采flash图片轮换,系统公告、投票等,以及底下的版权信息等。6.3 学生模块学生模块主要包括注册登录、密码修改、宿舍查询、班级查询、入住查询、文明寝室查询、报修登记、报修历史查询等模块。下面介绍几个主要的模块。6.3.1宿舍查询本界面提供了根据宿舍楼查询该宿舍楼中所有寝室详细信息的功能,它使用了下拉列表控件保存宿舍楼信息,使用了DataList表格控件展示了宿舍信息一览,其运行界面如下图6.2所示。图6.2宿舍查询6.3.2 学生入住查询 该模块提供给学生根据宿舍楼、宿舍号查询该宿

温馨提示

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

评论

0/150

提交评论