1、第 1 页 教师电子化信息库的设计与实现摘 要随着互联网的迅速发展,基于互联网的各种应用日益受到人们的重视,基于 Web 的教师档案信息管理系统在这种形势下应运而生,它是伴随着网络技术和数据库技术而逐渐发展起来的。它可以利用网络,很方便地对教师信息进行管理,是传统资料管理的延伸。系统在基于信息管理系统的设计与实现技术上,结合高校教师信息管理的特点,进行总体结构设计、数据库表的设计以及前台界面和后台功能的具体实现,最终完成了一个以 ASP.NET 2.0 技术和 SQL Server2005 为基础的基于 B/S架构的教师电子化信息库的设计与实现。系统基本实现了用户角色管理、用户密码管理、用户名
2、/口令认证、教师基本信息、教师详细信息、科研论文信息、获奖信息、证书信息的管理及报表统计等功能。关键词:档案管理;用户名/口令认证;ASP.NET;SQL Server 2005第 2 页 Design and Implementation of Teacher Electronic Information SystemAbstractWith the rapid development of Internet, web-based applications become more and more popular in recent years. The teacher Management
3、 Information System comes into being in this condition. This MIS System, as a result of the combination of computer network technology and database technology, is an expansion of conventional information management. It can manage the teacher information more conveniently, using the resources of camp
4、us network.This system is based on the general design and implementation of technology, combining with the features of the teacher Management Information System. By doing the structural design of the system, database table design, front-end and back-end development, we build the teacher electronic i
5、nformation system based on B/S and in ASP.NET 2.0 and SQL Server 2005. This system has basically realized the user and the role management, password management, User/Password Authentication, the teacher basis information、detail information、paper information、encouragement information、certificate info
6、rmation management, and report statistics information management and so on.Key words: Management Information System; User/Password Authentication; ASP.NET; SQL Server 2005 第 3 页 1.引言1.1 课题的目的和意义对教师信息进行管理是大学的主要日常工作之一,涉及到校、系、教师等的诸多方面,对教师信息的管理工作日趋繁重、复杂,因此迫切需要对教师信息管理电子化。国外高校一般具有较大规模的稳定的技术队伍来提供服务与技术支持。国内
7、高校信息化建设起步相对较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资构建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对 落后,经费短缺等原因,国内高校教师管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。纵观目前国内研究现状,在安全性和信息更新方面存在一定的不足,各个现有的系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,教师管理软件应充分依托互联网
8、络,实现教师信息的集中管理、分散操作、信息共享,使传统的教师管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教师管理系统和全校信息系统打下良好的基础。1.2 主要研究内容本文的主要研究内容是开发一个基于 B/S 的高校教师档案管理系统,主要包括以下几个方面:一、结合档案管理的特点,进行详细分析并设计本系统的各功能模块。二、使用 ASP.NET 技术实现前台界面的开发。三、解决 Web 服务器与后台数据库的连接问题,需要考虑实现连接的技术,以 SQL Server 2005 为后台数据库,通过 ADO.NET 实现 ASP.NET 与数据库服务器的连接。四、实现基于 B
9、/S 模式的档案管理系统,且使其具有界面友好、可维护性好、系统管理方便、安全性高等优点。五、研究系统安全问题。1.3 论文组织本文共分为四个部分:第一章 引言。介绍了课题的目的和意义及主要研究内容,最后给出了本文第 4 页 的组织结构。第二章 开发环境和开发工具介绍。主要介绍了本系统的开发环境和开发工具,包括 Sql Server 2005 数据库、ASP.NET 技术以及 B/S 结构等。第三章 系统分析与设计。本章首先对系统的需求进行了分析,然后划分了系统的功能模块,最后再介绍数据库的设计。第四章 系统主要功能模块的实现。本章介绍了系统的四个主要功能模块:登录模块、系统管理员模块、院系领导
10、模块、教师用户模块。2.开发环境/开发工具介绍2.1 系统开发环境本系统的开发环境是:技术平台:微软的.NET 框架 2.0 版本开发语言:C#.NET开发工具:Visual Studio .NET 2005 版本数据库:SQL Server 2005服务器操作系统:开发过程采用 Windows Server 2003 操作系统,系统实施后可采用 Windows 2000 Server 或 Windows XP.2.2 Sql Server 2005在数据库开发方面 SQL Server 2005 的 10 个最重要的特点:1XML 技术 在使用本地网络和互联网的情况下,在不同应用软件之间散布
11、数据的时候,可扩展标记语言(XML)是一个重要的标准。SQL Server 2005 将会自身支持存储和查询可扩展标记语言文件。 2ADO.NET 2.0 版本 从对 SQL 类的新的支持,到多活动结果集(MARS) ,SQL Server 2005 中的ADO.NET 将推动数据集的存取和操纵,实现更大的可升级性和灵活性。 3增强的安全性 SQL Server 2005 中的新安全模式将用户和对象分开,提供 fine-grainaccess 存取、并允许对数据存取进行更大的控制。另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。 4Transact-SQL 的增强性
12、能 SQL Server 2005 为开发可升级的数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT,APPLY,ROW_NUMBER 和其他数据列排行功能,等等。 5SQL 服务中介 第 5 页 SQL 服务中介将为大型、营业范围内的应用软件,提供一个分布式的、异步应用框架。 6通告服务 通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的及时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。在 SQL Server 2005 中,通告服务和其他技术更加紧密地融合在了一起,这些技术包括分析服务、SQL Server
13、Management Studio。 7Web 服务 使用 SQL Server 2005,开发人员将能够在数据库层开发 Web 服务,将 SQL Server 当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能。 8报表服务 使用 SQL Server 2005,报表服务可以提供报表控制,可以通过 Visual Studio 2005 发行。 9.全文搜索功能的增强 SQL Server 2005 将支持丰富的全文应用软件。服务器的编目功能将得到增强,对编目的对象提供更大的灵活性。查询性能和可升级性将大幅得到改进,同时新的管理工具将为有关全文功能的
14、运行,提供更深入的了解。2.3 ASP.NET 技术ASP. NET 是建立在微软新一代.NET 平台架构上,利用 CLR 在服务器后端为用户提供建立强大的企业级 Web 应用服务的编程框架。ASP. NET 所采用的技术大致有如下几种:( 1 ) 服务器端控件。页面使用了新的服务器端控件,使页面的状态管理自动化,并减少所写代码的数量。ASP. NET 页面有一个与 VB 表单类似的编程模型,提供了在服务器上执行组件的可能,而且这些组件可以生成页面的某一部分并返回给用户。( 2 ) HTML 服务器端控件。HTML 服务器端控件可以用来在页面输出中生成HTML 组件,并允许在运行中使用代码设置
15、这些控件的属性。它们还允许检测由这些组件激发的事件,允许在服务器上执行适当的代码来响应这些事件。( 3 )页面控件。这些控件可以在服务器上执行,在页面输出中生成更复杂的 HTML 组件和对象。( 4 ) Web 服务。Web 服务允许开发者创建不生成可视输出的类,但是为客户机提供了一些服务。例如,可以调用函数并在对请求的响应中返回特定的值。也就是说,Web 服务使 ASP.NET 开发者可快速方便地创建自定义的商务服第 6 页 务对象。客户机可以使用 HTTP-GET, HTTP-POST 或者 HTTP-S OAP 程序同步或异步地访问它们。( 5 )错误处理、调试和跟踪特性有了很大的扩展和
16、改进。原来的 ASP 在错误处理和调试方面一直不如其他开发环境(Visual Basic)。而现在,ASP. NET 的每一个页面都有自己的“错误页面” ,在执行的时候还可以显示页面代码中使用的值,从而提供了一个“跟踪”工具;另外调试也可在不同语言之间执行,从而使用户可以无间隙地从一种语言转到另一种语言进行单步调试。(6 ) ASP.NET 提供了许多有用的组件,如 SendMail 组件、加密/解密组件、定义用户性能计数器的组件、读写事件日志的组件、网络访问组件数据访问组件等,这些类库可以使 Web 应用程序的编写变得更容易。2.4 B/S 模式浏览器/服务器(Browser/Server)
17、结构,简称 B/S 结构。是 对 C/S 结构的一种变化或者改进的结构。B/S 模式无需像 C/S 模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。对于系统的开发者来说,他们无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在 Web 服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过 HTTP 请求在权限范围内调用 Web 服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变
18、得逐渐频繁。相对于 C/S,B/S 的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web 服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。另外,对于 C/S 模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用 B/S 模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S 模式的这种特性,还使系统维护的限制因素更少。再者,B/S 模式适用于网上信息发布,扩展传
19、统的 MIS 的功能。这个功能是 C/S 所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。第 7 页 3.系统分析与设计3.1 需求分析随着信息网络化的发展及院校办公自动化的提高,传统的人工建档管理方法和纸质保存方式在处理庞大的教师信息时已显得力不从心。而且,在院校的教师信息管理工作中,时常会遇到对教师各项信息(例如教师论文发表情况)统计的工作。因此,为了适应新的发展形势需要,充分利用现有的院校网络资源,软件提出了一种利用 ASP.NET 和 SQL Server2005 开
20、发的基于 B/S 模式的教师信息管理系统,并以教师信息的实际情况为依据开发而成,包括教师基本信息、教师详细信息、证书信息、论文信息、奖励信息等的管理,使院校对教师信息的管理、统计以及各种报表的生成和打印等,实现了完全网络化、自动化、管理规范化的目标。3.2 系统功能模块经过分析,为了提高系统的安全性,将系统的用户划分成不同的等级,不同等级的用户具有不同的权限。从不同用户权限的角度可将整个系统分成以下四个功能模块:用户登录模块、系统管理员模块、院系领导模块、教师用户模块。图 3-1 是系统的总体功能模块图。教师电子化信息库系统教师用户模块院系领导模块系统管理员模块添加个人信息修改、删除个人信息查
21、看个人信息查看所有教师信息添加个人信息修改、删除个人信息查看个人信息查看所有教师信息报表统计修改个人密码用户管理图 3-1 系统总体功能模块图第 8 页 对于不同的用户,系统将会有不同的工作流程。(1) 系统管理员用户该类型的用户可以使用以下功能。1.登录2.修改个人密码3.用户信息管理(添加用户、删除用户、用户密码管理、用户权限管理等操作)功能结构如图 3-2 所示:系统管理员登录修改个人密码 用户信息管理添加用户 删除用户 用户密码管理 用户权限管理图 3-2 系统管理员用户功能结构图(2) 院系领导用户1.添加个人信息2.修改、删除个人信息3.查看个人信息4.查看所有教师信息5.报表统计
22、功能结构如图 3-3 所示:院系领导登录添加个人信息修改、删除个人信息查看个人信息查看所有教师信息报表统计图 3-3 院系领导用户功能结构图(3) 教师用户 1.添加个人信息2.修改、删除个人信息3.查看个人信息4.查看所有教师信息第 9 页 功能结构如图 3-4 所示:教师用户登录添加个人信息修改、删除个人信息查看个人信息查看所有教师信息图 3-4 教师用户功能结构图注:个人信息包括基本信息、详细信息、证书信息、论文信息、奖励信息,如查看个人信息包括如图 3-5 所示,修改个人信息、添加个人信息类似。查看个人信息查看基本信息 查看详细信息 查看证书信息 查看论文信息 查看奖励信息图 3-5
23、个人信息结构图3.3 数据库系统设计本系统所涉及的数据库表主要有:用户表(User 表) 、教师基本信息表(Teacher 表) 、教师详细表(Infor 表) 、证书表(Certificate 表) 、论文表(Paper 表) 、奖励表(Encourage 表) 。其数据库表结构如下:表 3-1 用户表(User 表)数据字段 数据类型 是否为空 数据名称UID int not null 用户 ID(主键)UName vchar(50) not null 用户名字UPwd vchar(50) not null 用户密码UPower int not null 用户权限表 3-2 教师基本信息表
24、(Teacher 表)数据字段 数据类型 是否为空 数据名称TeachID Int not null 教师 ID(主键)UID Int not null 用户 ID(外键)Name vchar(50) not null 姓名Sex Int null 性别BirthDate vchar(50) null 出生日期BirthAddress vchar(100) null 出生地址Nation vchar(50) null 国籍第 10 页 表 3-3 教师详细表(Infor 表)数据字段 数据类型 是否为空 数据名称DetailID Int not null 信息 ID (主键)UID Int n
25、ot null 用户 ID(外键)GraduateSchool vchar(50) null 毕业院校GraduateDepart vchar(50) null 毕业系别Degree vchar(50) null 学位CurrentDepart vchar(50) null 当前所在系别ResearchRoom vchar(50) null 当前所在教研室Address vchar(100) null 当前住址PhoneNum vchar(20) null 电话号码Status vchar(10) null 政治面貌Principalship vchar(50) null 行政职务Others
26、 vchar(5000) null 其他相关信息表 3-4 证书表(Certificate 表)数据字段 数据类型 是否为空 数据名称CertID Int not null 证书 ID (主键)UID Int not null 用户 ID(外键)CertName vchar(50) not null 证书名字CertTime Datetime null 获得时间CertPicture vchar(200) null 证书照片表 3-5 论文表(Paper 表)数据字段 数据类型 是否为空 数据名称PaperID Int not null 论文 ID (主键)UID Int not null 用
27、户 ID(外键)PaperTitle vchar(100) not null 论文题目PaperLevel vchar(10) null 论文级别PaperTime Datetime null 发表时间表 3-6 奖励表(Encourage 表)数据字段 数据类型 是否为空 数据名称EncID Int not null 奖励 ID (主键)UID Int not null 用户 ID (外键)EncName vchar(50) not null 奖励名称EncLevel vchar(10) null 奖励级别EncTime vchar(50) null 奖励时间EncRank vchar(10
28、) null 排名第 11 页 4.系统主要功能模块的实现4.1登录模块4.1.1 分级用户本系统采用了分级用户原则,所谓分级用户,就是将不同的用户划分成不同的等级,他们的权限不同,功能也各不相同。系统一共设定了三类用户,按权限级别由高到低依次是:系统管理员、院系领导、教师用户。用户首次登录时使用管理员为其分配的账号和密码进入系统,系统通过登录页面获取用户输入的用户名和口令,然后用户输入的用户名和口令与数据表中存放的数据(经过加密的数据)进行比较。以此判断用户的合法性和级别。4.1.2 口令的安全性由于系统的入口是比较容易被黑客攻击的地方,为了提高系统的安全性,本系统采用了两种安全机制:HAS
29、H 算法(加强口令安全性)与验证码(防止暴力破解口令) 。(1) HASH 算法为保证用户口令在网络传输过程当中的安全性和完整性,系统采用了 MD5摘要算法,即 Message-Digest Algorithm 5(信息-摘要算法) ,MD5 的最大作用在于,将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前“压缩“成一种保密的格式,关键之处在于这种“压缩“是不可逆的。 MD5 将任意长度的“字节串”变换成一个 128bit 的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个 MD5 的值变换回原始的字符串,从数学原理上说,是因为原始的
30、字符串有无穷多个,这有点像不存在反函数的数学函数。MD5 还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5 值(或类似的其它算法)的方式保存的, 用户 Login 的时候,系统是把用户输入的密码计算成 MD5 值,然后再去和系统中保存的 MD5 值进行比较,而系统并不“知道”用户的密码是什么。(2)所谓验证码,就是一串随机产生的数字或符号。系统生成一幅包含验证码图片,图片里加上一些干扰象素(防止 OCR) ,由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。验证码能有效防止某一个用户用特定程序暴力破解方式进行不断的登录尝试,实际上验证码是现在很
31、多网站通行的方式。虽然登录麻烦一点,但是这个功能还是很有必要,也很重要。且用户应尽量使用混杂了数字、字母、符号在内的 6 位以上密码,不要使用诸如 1234 之类的简单密码或者与用户名相同、类第 12 页 似的密码。以免个人账号被人盗用给自己带来不必要的麻烦。4.1.3 服务器 Web 页面安全保护由于基于 Web 的应用软件通常是由服务器端的相互关联的动态页面组成的,这种页面的访问一般是借助浏览器通过 HTTP 协议来实现的。如果对 Web 应用软件的页面不采取一定的保护措施,则任何人都可以通过得到页面的地址对页面进行访问,这样整个软件的安全性就非常差。为防止不合法的用户不经过软件的身份验证
32、入口而直接访问软件的内部页面进入系统,必须对用户的页面访问进行合法性校验,本系统是采用如下措施来实现的:(1)如果用户是通过软件系统的身份验证入口进入的合法用户,就在服务器端实施完成身份验证后为此用户建立会话标记,也即 Session 变量,它可以表明用户是通过系统校验的合法用户。(2)当用户访问软件系统内的其它页面时,首先读取 Session 变量的值,如果是 true 的话,表明用户是经过身份验证的合法用户,否则为对此页面的非法请求。这种方法的安全性在于,如果用户未经身份验证系统进入软件,而是直接通过有关页面地址直接访问页面,则服务器一端就没有此次会话的状态变量,此页面的逻辑处理语句就得不
33、到执行,浏览器仅仅显示“你没有权限访问此页” 。由于采用服务器端会话机制进行控制,而且合法会话状态在用户关闭所有页面或超过一定的时间限制后,服务器自动进行清除,可以大大降低不法用户利用浏览器残余信息进入系统的可能性,具有较高的安全性。但是,上述解决方案依然存在漏洞,如果一个用户以合法身份进入他所拥有权限的子系统,此时一切检验都己经通过,Session 变量的值,己经是 true。这时如果该用户在浏览器中直接输入他所无权访问的页面地址,则该页中关于标记变量的值的检验都能通,也就是说该用户进入了他所无权访问的页面。为解决这个问题,可以在进行上述检查的同时对用户的类别进行检查,以判断用户所属的类别是
34、否拥有对此页面的访问权限。4.1.4 具体实现登录模块为本系统的唯一入口,所有用户均通过登录页面登录进入相应的模块,采用以上提及的安全技术,且本系统没有注册功能,而是由系统管理员为每一个校内的教师分配一个 ID 号和初始密码(888888) ,用户登录进入相应的模块后可以对自己的密码进行修改。登录页面如图 4-1 所示:第 13 页 图 4-1 登录界面图部分核心代码如下:protected void Page_Load(object sender, EventArgs e)Session“ID“ = null;Session“NAME“ = null;Session“POWER“ = nul
35、l;protected void imgbtnEnter_Click(object sender, ImageClickEventArgs e)string name = this.txtName.Text.Trim();string pwd = this.txtPwd.Text.Trim();string validate = this.txtValidate.Text.Trim();pwd = Encrypt.MD5(pwd);if (Session“VALIDATECODE“ = null) | (Session“VALIDATECODE“.ToString() != validate)
36、this.lblMessage.Text = “你输入的验证码不正确,请核对后重新输入!“;else if (!DataBaseAccess.User.NameExist(name)this.lblMessage.Text = “你输入的用户名不存在,请核对后重新输入!“;else if (!DataBaseAccess.User.NameAndPwdExist(name, pwd)this.lblMessage.Text = “你输入的密码不正确,请核对后重新输入!“;elseSession“ID“ = DataBaseAccess.User.AllByName(name).Tables0.
37、Rows0.ItemArray0.ToString();Session“NAME“ = DataBaseAccess.User.AllByName(name).Tables0.Rows0.ItemArray1.ToString();Session“POWER“ = 第 14 页 DataBaseAccess.User.AllByName(name).Tables0.Rows0.ItemArray3.ToString();if (Convert.ToInt32(Session“POWER“) = 0)Response.Redirect(“/Admin/Admin.aspx“);if (Conve
38、rt.ToInt32(Session“POWER“) = 1) | (Convert.ToInt32(Session“POWER“) = 2)Response.Redirect(“/Common/Welcome.aspx“);elseResponse.Redirect(“/Error.aspx“);4.2系统管理员模块本模块的主要功能为修改管理员个人密码和用户(包括:教师用户和院系领导用户)添加、修改、删除及用户密码重置(为 888888)的管理。其界面如图 4-2 所示:图 4-2 管理员界面图管理员可以修改自己的密码,部分核心代码如下:protected void btnOK_Click(
39、object sender, EventArgs e)int id = Convert.ToInt32(Session“ID“);string oldPwd = this.txtOldPwd.Text.Trim();string newPwd = this.txtNewPwd.Text.Trim();oldPwd = Encrypt.MD5(oldPwd);newPwd = Encrypt.MD5(newPwd);if (!DataBaseAccess.User.IDAndPwdExist(id, oldPwd)第 15 页 Response.Write(“alert(原密码输入错误!)“);
40、else if (!DataBaseAccess.User.UpdateUserInfor(id, newPwd)Response.Write(“alert(更改密码未成功!)“);elseResponse.Write(“alert(已成功更改密码!);window.window.location.href=Admin.aspx“);管理员可以对用户信息进行管理,可以添加、修改、删除用户。核心代码如下:/ 提交添加用户protected void btnOK_Click(object sender, EventArgs e)string name = this.txtName.Text.Tri
41、m();string pwd = Encrypt.MD5(“888888“); ;int power = Convert.ToInt32(this.ddlUserPower.SelectedValue);string powertype = “;if(power = 0)powertype = “系统管理员“;else if (power = 1)powertype = “院系领导“;elsepowertype = “教师用户“;if (DataBaseAccess.User.NameExist(name)this.lblMessage.Text = “对不起,该用户名已经存在,请选择别的用户
42、名!“;elseif (DataBaseAccess.User.AddUser(name, pwd, power, powertype)this.lblMessage.Text = “添加用户成功!“;第 16 页 elsethis.lblMessage.Text = “操作失败,请重新添加用户!“;/ 提交修改信息protected void btnOK_Click(object sender, EventArgs e)bool result = false;int id =Convert.ToInt32(Request.QueryString“UID“.ToString();int pow
43、er = Convert.ToInt32(this.ddlPower.SelectedValue);string powertype = “;if (power = 0)powertype = “系统管理员“;else if (power = 1)powertype = “院系领导“;elsepowertype = “教师用户“;if (this.ddlPwd.SelectedIndex = 0)result = DataBaseAccess.User.UpdateUserInfor(id, power,powertype);elsestring pwd = Encrypt.MD5(“8888
44、88“);result = DataBaseAccess.User.UpdateUserInfor(id, pwd, power,powertype);if (result)Response.Write(“alert(已成功更改用户信息!);window.window.location.href=UserManage.aspx“);elseResponse.Write(“alert(更改用户信息未成功!)“);第 17 页 4.3院系领导模块院系领导具有教师用户所拥有的所有功能,即添加、修改、删除、查看个人信息及查看所有教师信息。除此以外,院系领导用户还具有报表统计功能,可以对所有教师的信息(
45、包括:基本信息、详细信息、获奖信息、证书信息)进行统计并导出,以便查看、打印等。报表统计功能是采用 ASP.NET 2.0 自带的 ReportViewer 控件实现,无须手动编写任何代码,只需按照向导,生成所需数据集,然后将数据集与ReportViewer 关联即可实现。 报表统计界面如图 4-3 所示:图 4-3 报表统计界面报表统计的主要代码如下:(由 Visual Studio.Net 按照向导自动生成)21.75cm0.75cm4.5cmCenter2pt2pt宋体 70018pt#55761c2pt第 18 页 2pttrue教师信息报表1.75cmtruetruee64ee096
46、-85a6-4568-a6e5-325fe15d05722.5cm省略48.85581cm29.7cmzh-CN0.75cmtruetrue2.5cm29.7cm4.4教师用户模块教师用户的主要功能是对自己个人信息进行管理,即添加、修改、删除、查看个人信息,以及查看所有教师的信息。教师用户将自己的信息添加进数据库,以便院系领导用户进行统计。修改、删除个人信息的界面如图 4-4 所示:第 19 页 图 4-4 教师用户界面图添加、查看个人信息的部分核心代码如下:/ 添加用户基本信息protected void btnOK_Click(object sender, EventArgs e)int
47、id = Convert.ToInt32(Session“ID“);string name = this.txtName.Text.Trim();string sex = this.rblSex.SelectedValue.ToString().Trim() ;string birthdate = this.ddlYear.SelectedValue.ToString().Trim() + “-“ + this.ddlMonth.SelectedValue.ToString().Trim() + “-“ + this.ddlDay.SelectedValue.ToString().Trim()
48、;string address = this.txtAddress.Text.Trim();string nation = this.ddlNation.SelectedValue.ToString().Trim();if (!DataBaseAccess.Baseinfor.AddBaseInfor(id,name,sex,birthdate,address,nation)Response.Write(“alert(添加信息未成功!)“); elseResponse.Write(“alert(已成功添加信息!);window.window.location.href=./AddInfor.a
49、spx“);/ 显示所选用户基本信息private void DisplayInfor()int uid = Convert.ToInt32(Session“ViewUID“);if (!DataBaseAccess.Baseinfor.IDExist(uid)Response.Write(“alert(该用户尚未添加基本信息!);“);第 20 页 elseDataRow dr = DataBaseAccess.Baseinfor.AllByUID(uid).Tables0.Rows0;string name = dr.ItemArray2.ToString().Trim();string sex = dr.ItemArray3.ToString().Trim();string birthdate = dr.ItemArray4.ToString().Trim();string birth