




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、西北第二民族学院学士学位论文 论文题目: 基于基于 B/S 模式的在线教育系统设计与实现模式的在线教育系统设计与实现 院(部)名 称: 信息与计算科学学院信息与计算科学学院 学 生 姓 名: 张张 波波 专 业: 信息与计算科学信息与计算科学 学 号: 2003015920030159 指导教师姓名: 马马 占占 有有 论文提交时间: 20072007 年年 5 5 月月 论文答辩时间: 20072007 年年 6 6 月月 学位授予时间: 、西北第二民族学院教务处制摘要摘要随着 internet 的迅速发展,传统教育方式已无法满足学生的需求,在线教育系统计算机技术和多媒体技术相结合的新一代教
2、育方式,突出了时间和空间性,在线教育是让更多的学习者共享资源。本文系统通过 C#+A 实现,它在学生与教师之间搭起了一坐桥梁:学生可以及时进行在线注册,在线登陆,修改个人资料,班级浏览,提问浏览,在线测试等操作。而教师可以进行在线注册,在线登陆,修改个人资料,教学管理,答疑管理,班级管理等操作。关键词:关键词:B/S 模式,数据库,C# ,IIS AbstractAbstract The rapid development of internet, the traditional educational methods have failed to meet the needs of stud
3、ents. Online education system computer technology and multimedia technology with a new generation of education, focusing on the time and space, Online education is to enable more learners to share resources. C#+A this system through the realization of its students and teachers to build a bridge sitt
4、ing : Students can register online in a timely manner, online landing, revision of the personal information, class browser, the question here, online testing operations. Teachers can register online, online landing, revision of the personal information management teaching and coaching management, cl
5、ass management operation. Keywords: B/S Mode, Databases, C #, IIS 目录目录第 1 章 绪论.11.1 引言 .11.2 B/S 系统.21.3 本文所做的工作 .3第 2 章 系统总体设计.42.1 需求分析 .42.1.1 功能需求.42.1.2 性能需求 .42.2 系统总体 .42.2.1 系统模块划分.42.3 系统的流程设计 .5第 3 章 数据库逻辑结构.93.1 数据库选择 .93.2 数据库和信息系统 .103.3 数据库设计的特点 .103.4 数据库表结构的详细设计 .10第 4 章 系统设计与实现.154.
6、1 数据访问层 .154.2 商业逻辑层 .154.3 用户界面层与核心代码 .194.3.1 用户登陆.194.3.2 用户注册.214.3.3 用户操作界面.234.3.4 文件上传界面.254.3.5 邮件发送界面.284.3.6 系统的其它核心代码.30结语与展望.33致谢.34参考文献.35第第 1 1 章章 绪论绪论1.11.1 引言引言在科学技术飞速发展的今天,Internet 逐渐走入到人们的生活当中,人们可以在闲暇时尽情地遨游在网络中,而 Internet 又是以网站的形式体现出来的。通过网站的访问,人们可以进行电子邮件的发送、文件传输、远程登陆、网上查询、网上交流,足不出户
7、便可知道外面的世界和最新的信息。在这样的信息时代中,用户对信息的需求量、广泛程度和时效性的要求日趋提高,传统的教育和管理受到了极大地冲击。教育的方式、辅助手段和工具也发生着日新月异的变化。与传统的教育相比,在线教育是一种全新的教育模式,它可以突破时间和空间的限制,让更多的学习者共享优秀教育资源。在线教育既具有开放性,交互性,协作性和自主性等特点,又具有异步性,实时性,生动性,集成性和大容量等优势。因此在在线教育系统的建设中,单纯地构建各种功能单一的系统并不能完全满足在线教育建设的要求,只有那些对数据和信息进行了有效组织,整合了多种业务,为用户提供个性化服务的系统才能充分地发挥在线教育的作用。在
8、现代远程教育的教学模式中,学习者是中心,教育资源和网络技术要为学习者(求知者)创造一个网上的学习环境,以便使他们能充分地发挥自主性和积极性,学习知识,解决实际问题。在线教育系统是教学管理领域中一个比较重要的系统,它在学生与教师之间搭起了一坐桥梁:学生可以及时进行在线注册,在线登陆,修改个人资料,班级浏览,加入等操作。而教师可以进行在线注册,在线登陆,修改个人资料,教学管理,答疑管理,班级管理等操作。在线教育是计算机技术和多媒体技术相结合的新一代教育方式。利用在线教育突破了传统教育在教育资源(师资、教材、实验和演示设备)和教育方法(统一进度、集中式和单向传授等)方面的限制,使教育资源和教育方法不
9、受时间和空间等约束,而受教育者则可根据自己的学习水平和时间情况安排自己的学习计划控制学习过程,实现传统教育无法做到的“个性化教育” 。因此在线教育是普及教育、继续教育及岗位培训的一种十分有效的新型教育方式。计算机技术和网络技术,特别是Internet 的广泛应用和普及,是促成在线教育方式形成和发展的根本原因之一。 在软件制作过程中,对于静态教学网页的编写使用了 word 来进行编写,因为在高等代数的教案中有大量的数字公式符号,在 Word2003 中可以直接对 html 文件进行编排和修改。非常方便。同时学生和老师也可以同时登录到系统,进行实时交流。进行实事互动,加强了系统的互动性。在线教育系
10、统是教学管理领域中一个比较重要的系统,它在学生与教师之间搭起了一坐桥梁:学生可以及时进行在线注册,在线登陆,修改个人资料,班级浏览,提问浏览,在线测试等操作。而教师可以进行在线注册,在线登陆,修改个人资料,教学管理,答疑管理,班级管理等操作在线教育系统使用 ASP.NET+C# +SQL Server 2000 进行开发,并在 IIS 5.0 上进行发布。在开发过程中用到的关键技术有 ADO.NET 数据访问技术,Cookie 编程技术,动态菜单的脚本设计技术。在开发过程中严格遵守软件工程思想,按照需求分析,数据库设计,概要设计,详细设计,编码,改进与性能优化的步骤进行开发。我们在学习中逐步了
11、解在实际的软件开发设计过程中如何遵循软件工程的思想快速,优质地开发软件,使得开发出的软件系统具有良好的扩展性,可维护性。1.21.2 B/SB/S 系统系统BS 结构,即 BrowserServer(浏览器服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。它是随着 Internet 技术的兴起,对 CS 结构的一种变化和改进。主要利用了不断成熟的 WWW 浏览器技术,结合多种 Script 语言(VBScript、JavaScript)和 ActiveX 技术,是一种全新的软件系统构造技术。 BS 三层体系结构采用三层客户服务器结构,在数据管理
12、层(Server)和用户界面层(Client)增加了一层结构,称为中间件(Middleware),使整个体系结构成为三层。三层结构是伴随着中间件技术的成熟而兴起的,核心概念是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次,如图11所示。三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。中间件作为构造三层结构应用系统的基础平台,提供了以下主要功能:负责客户机与服务器、服务器与服务器间的连接和通信;实现应用与数据库的高效连接;提供一个三层结构应用的开发、运行、部署和管理的平台。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。 CodeBehin
13、d后台代码A显示页面显示层显示层逻辑层逻辑层BusinessLayerDataLayerDB图 11 BS 三层体系结构数据层数据层 在 BS 体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由 Web Server 完成。随着 Windows 将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然 BS 结构应用程序相对于传统的CS 结构应用程序是一个非常大的进步。 BS 结构的主要特点是分布性强、维护方便
14、、开发简单且共享性强、总体拥有成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传统模式下的特殊功能要求。例如通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出都比较困难和不便。此外,实现复杂的应用构造有较大的困难。虽然可以用 ActiveX、Java 等技术开发较为复杂的应用,但是相对于发展已非常成熟 CS 的一系列应用工具来说,这些技术的开发复杂,并没有完全成熟的技术工具供使用。1.31.3 本文所做的工作本文所做的工作本论文将以 VS.NET 为制作工具,以 SQL Server 为数据库设计工具来完成对基于 B
15、/S 模式的在线教育系统的设计与开发。第第 2 2 章章 系统总体设计系统总体设计2.12.1 需求分析需求分析.1 功能需求功能需求通过对教育系统的分析,我们认识到一个完整的教育系统应该具有以下基本功能:表 2-1 主要功能图及分析说明序号功能模块备注1注册模块提供用户注册信息2资源管理模块提供用户进行资料上传与下载3信箱管理模块对信件的实现单发、群发以及管理4查询模块对用户进行数据库查询.2 性能需求性能需求本系统的主体是一所学校,其性能需求: 1、时间特性的要求:登录时间最大不超过 5 秒平均时间在 13 秒以内搜索时间不超过 3 秒平均在 1 秒内2、系
16、统容量要求静态用户(注册用户):1000 以上动态用户(在线用户):800 以上并发数:100 2.22.2 系统总体系统总体.1 系统模块划分系统模块划分 根据功能需求,我对本系统做了更进一步的细化,将其由 3 个总体模块来统筹,分别为学生模块、教师模块以及超级管理员模块,在 3 个总体模块中有分别存在有不同的子模块,来完成不同的功能,同时我们发现在子模块中又存在相同的功能,为了减轻冗余代码,将在后台代码设计中使用类来解决。具体的模块划分与所要实现的功能设计如表 2-2:表 2-2 系统模块划分序号功能模块类别功能模块备注登录、注册模块注册个人信息、进行系统登录教室模块进行在
17、线答疑、作业上传及编辑、教学资源下载、查看教室信息、申请加入班级及浏览班级收件箱模块对本系统内的用户进行信件交流注册信息管理模块编辑注册信息1学生教师查询模块对教师进行以姓名为关键字的查询登录、注册模块同上教学模块进行在线答疑、学生作业下载及编辑、教学资源下载、查看教室信息、教室申请及取消、对申请加入班级的同学进行审批收件箱模块实现对个人进行单发或对班级进行群法注册信息管理模块同上2教师学生查询模块对同学进行以用户名为关键字的查询信件管理对用户进行信息交流教师管理编辑与教师相关的信息教室管理对教室进行编辑3超级管理员学生管理对学生进行编辑2.32.3 系统的流程设计系统的流程设计 流程设计在系
18、统的实现中起到非常重要的引导作用,它展现的是各个模块中数据流的流向,根据模块设计所画的流程图如下:图 2-1 学生用户模块的流程图图 2-2 教师用户模块的流程图图 2-3 超级管理员模块的流程图第第 3 3 章章 数据库逻辑结构数据库逻辑结构3.13.1 数据库选择数据库选择在 Windows 操作系统中,Microsoft Access 和 Microsoft SQL Server 是最常见的数据库,它们同时也应用于网络程序应用系统。一般情况下,Microsoft Access 数据库比较适合小型或家庭型的应用程序,而 Microsoft SQL Server 一般比较适合大型的应用程序。
19、下面以 Microsoft Access 2000 和 Microsoft SQL Server 2000 介绍这两类数据库。1、Microsoft Access 数据库Access 2000 是 Microsoft 强大的桌面数据库平台的第六代产品,是 32 位Access 的第三个版本。Microsoft Access 及其 Jet 数据库引擎占据了整个桌面数据库市场。2、Microsoft SQL Server 数据库Microsoft SQL Server 2000 数据库是一个多关系数据管理系统。它不仅是一个完整的数据库,而且具有强大的扩展性。它是 Windows 操作系统最为流行的
20、数据库,比较适合小型、中型或大型应用程序的后台数据库。它也适用于电子商务、数据仓库和在线商业应用程序等。3、Oracle 数据库Oracle 数据库一般比较适合超大型的行业领域,如电信、移动、联通、医疗保险、邮政部门等。在行业领域,电信基本上使用 Oracle 数据库和 Sybase 数据库。4、MySQL 数据库MySQL 数据库是一种非常特别的数据库。它以 Web 形式来体现,也是基于 Web访问方式的数据库。和其他数据库相比,MySQL 数据库的最大特点是建立在Internet 之上,用户可以通过基于 Web 的查询方式来访问数据库。MySQL 数据库除了运行在 Windows 操作系统
21、上之外,还可以运行在 Linux 和 UNIX 操作系统上。MySQL 数据库一般采用的是客户机/服务器体系结构。 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求) 。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。本系统采用 SQL Server 2000 数据库软件来进行数据库的设计,其具有以下优点:1、结果响应快一套全新的管理工具包以及与 Visual Studio 2005 和 Microsoft .NET 共同语言运行环境的紧密集成
22、,使你在构建系统、排错及操作应用系统时更快、更有效。 2、更好的决策支持在数据整合、分析和报表领域功能全面的智能商务平台,使你在采取行动和制定更好决策时具备更敏锐的洞察能力。 3、值得信赖的平台系统固有的数据加密、默认安全设置以及强制口令策略功能使你能够以最高的性能、最高的可用性和最高的安全性运行任何苛刻的应用系统。3.23.2 数据库和数据库和信息系统信息系统数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在;
23、数据库设计是信息系统开发和建设的重要组成部分;数据库设计人员应该具备的技术和知识: 1、数据库的基本知识和数据库设计技术; 2、计算机科学的基础知识和程序设计的方法和技巧; 3、软件工程的原理和方法; 4、应用领域的知识;3.33.3 数据库设计的特点数据库设计的特点 数据库建设是硬件、软件和干件的结合,三分技术,七分管理,十二分基础数据。技术与管理的界面称之为“干件” ;数据库设计应该与应用系统设计相结合,结构(数据)设计是设计数据库框架或数据库结构。行为(处理)设计:设计应用程序、事务处理等,结构和行为分离的设计。 传统的软件工程忽视对应用中数据语义的分析和抽象,只要有可能就尽量推迟数据结
24、构设计的决策早期的数据库设计致力于数据模型和建模方法研究,忽视了对行为的设计。数据库设计是项目开发中的系统设计中非常重要的一个关键环节,其设计的好坏,直接影响到项目的进程。3.43.4 数据库表结构的详细设计数据库表结构的详细设计根据功能需要,如学生注册,班级注册,文件上传等需要,我为该系统设计了10 个数据表来完成对各个信息的记录,具体的表设计如下:表 3-1:Message(存储用户收件箱的内容)序号字段名字段类型说明备注1ReceiverVarchar(250)收件人Varchar(250) 2SenderVarchar(250)发件人不容许为空3DataTimedatetime发送时间
25、系统自动写入4Contenttext发送内容不容许为空5Totalint记录信件总数系统自动写入6TitleVarchar(250)主题不容许为空7IDInt 编号自动写入8Habitusint状态利用此字段判断信件是否以读表 3-2:Application(存储学生用户申请班级的信息)序号字段名字段类型说明备注1IDInt编号自动写入2AuthorVarchar(250)提问人非空3Contenttext提问内容非空4TitleVarchar(250)标题非空5DataTimedatetime发问时间系统自动写入6ClassVarchar(250)发问所在的班级系统自动记录7TeacherV
26、archar(250)回答人非空 系统自动写入表 3-3:Question(存储用户的提问与回答)序号字段名字段类型说明备注1UserNameVarchar(250)用户名不容许为空2ClassVarchar(250)要申请的班级不容许为空3realNameVarchar(250)真实姓名不容许为空表 3-4:Recycle(存储被用户删除信件的信息)序号字段名字段类型说明备注1ReceiverVarchar(250)收件人系统自动写入2SenderVarchar(250)发件人系统自动写入3DataTimedatetime发送时间系统自动写入4Contenttext发送内容系统自动写入5Ti
27、tleVarchar(250)主题系统自动写入6IDInt 编号系统自动写入表 3-5:Room(存储班级的信息)序号字段名字段类型说明备注1RoomNameVarchar(250)教室名称非空 惟一2CreaterVarchar(250)创建者非空系统自动写入3CreDatedatetime创建系统自动写入4InstituteVarchar(250)所属院系5Populationint班级人数系统自动记录6Descripttext班级说明7RoomdirVarchar(250)班级资源文件的存储路径非空表 3-6:Source(存储资源信息)序号字段名字段类型说明备注1RoomVarchar
28、(250)班级系统自动写入2SourceNameVarchar(250)资源名称非空3TypeVarchar(250)类别 (作业还是教学资源)系统判别4DataTimedatetime上传时间系统自动写入5SourceOlderVarchar(250)上传人非空6SrcVarchar(250)存储路径非空系统自动写入7StuIDInt 学号系统自动写入8IDInt编号系统自动写入表 3-7:Supper(存储超级管理员的信息)序号字段名字段类型说明备注1IDInt 系统自动记录2NameVarchar(250)用户名非空3PassWordVarchar(250)密码非空 6 位表 3-8:S
29、tudent(存储学生资料)序号字段名字段类型说明备注1StuIDint学号非空2UserNameVarchar(250)用户名非空 惟一3RealNameVarchar(250)真实姓名非空4PassWordVarchar(250)密码非空 6 位5TelephoneVarchar(250)电话6AddressVarchar(250)住址7EmailVarchar(250)油箱非空8InstituteVarchar(250)院系9Descriptiontext个人说明表 3-9:StudentRoom(存储学生与班级的信息)序号字段名字段类型说明备注1StuNameVarchar(250)学
30、生姓名非空 系统自动写入2UserNameVarchar(250)学生用户名非空 系统自动写入3RoomNameVarchar(250)教室名非空 系统自动写入4UpFrequencyint上传次数系统自动记录5DownfrequencyInt下载次数系统自动记录6StuIDInt学号系统自动记录7EnterFrequencyInt进入班级次数非空 系统自动记录8EnterDataTimeInt加入时间非空 系统自动写入9CreaterVarchar(250)创建者非空 系统自动写入表 3-10:Teacher(存储教师的信息)序号字段名字段类型说明备注1IDint学号系统自动记录2NameV
31、archar(250)教师名非空 唯一3zhiwuVarchar(250)职称非空4PassWordVarchar(250)密码非空 5 位5TelephoneVarchar(250)电话6AddressVarchar(250)住址7EmailVarchar(250)油箱非空8InstituteVarchar(250)院系9Descriptiontext个人说明第第 4 4 章章 系统设计与实现系统设计与实现本系统是使用三层架构的软件思想来实现,其优点是我们不必为了业务逻辑上的微小变化而迁至整个程序的修改,只需要修改商业逻辑层中的一个函数或一个过程;增强了代码的可重用性;便于不同层次的开发人员
32、之间的合作,只要遵循一定的接口标准就可以进行并行开发了,最终只要将各个部分拼接到一起构成最终的应用程序。所采用的工具为 Visual Studio.Net, Visual Studio.Net 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成开发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP
33、 Web 应用程序和 XML Web Services 开发的关键技术。4.14.1 数据访问层数据访问层这一层负责实际的数据存储和检索。调用 C#中的数据访问类System.Data.SqlClient;对数据的信息进行存储、查询及编辑操作。 4.24.2 商业逻辑层商业逻辑层这一层是上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成检索语句或更新数据库,并把结果返回给前端界面显示。这一层通常以动态链接库的形式存在,并注册到服务器的注册表中,它与前端界面通讯的接口符合某一特定的组件标准(如 COM 组件) 。可以用任何支持这种标准的工具开发。包含在一个名为sqlData.cs 的 C
34、#类文件当中:using System;using System.Configuration;using System.Data;using System.Data.SqlClient;namespace OfficeAuto/ / sqlData 的摘要说明。/ public class sqlDataPublic static string sqlconn=ConfigurationSettings.AppSettingssqlConn.ToString();public void insertData(string cmdtext) SqlConnection sqlcon=new Sq
35、lConnection(sqlconn);SqlCommand sqlcom=new SqlCommand(cmdtext,sqlcon);trysqlcon.Open();sqlcom.ExecuteNonQuery();catch(Exception ex)throw new Exception(ex.Message,ex);finallyif(sqlcon.State=ConnectionState.Open)sqlcon.Close();public SqlDataReader GetCount(string cmdtext)SqlConnection sqlcon=new SqlCo
36、nnection(sqlconn);SqlCommand sqlcom=new SqlCommand(cmdtext,sqlcon);SqlDataReader dr=null;trysqlcon.Open();dr=sqlcom.ExecuteReader();catch(Exception ex)throw new Exception(ex.Message,ex);finallyif(sqlcon.State=ConnectionState.Open)sqlcon.Close(); return dr;/对 scalar 进行测试public int selData(string cmdt
37、ext)SqlConnection sqlcon=new SqlConnection(sqlconn);SqlCommand sqlcom=new SqlCommand(cmdtext,sqlcon);sqlcon.Open();int m=Convert.ToInt32(sqlcom.ExecuteScalar();sqlcon.Close();return(m);Public void ProceData(string sRoom,string sSourceName,string sType,string_ sSourceOlder,string sSrc )SqlConnection
38、sqlcon=new SqlConnection(sqlconn);SqlCommand sqlcom=new SqlCommand(Pr_addFile,sqlcon);sqlcom.CommandType=CommandType.StoredProcedure;SqlParameter parameterFileName = new_SqlParameter(SourceName,SqlDbType.VarChar,250);parameterFileName.Value = sSourceName;sqlcom.Parameters.Add(parameterFileName);SqlP
39、arameter parameterRoom=new SqlParameter(Room,SqlDbType.VarChar,250);parameterRoom.Value=sRoom;sqlcom.Parameters.Add(parameterRoom);SqlParameter parameterType=new SqlParameter(Type,SqlDbType.VarChar,250);parameterType.Value=sType;sqlcom.Parameters.Add(parameterType);SqlParameter parameterOlder=new_Sq
40、lParameter(SourceOlder,SqlDbType.VarChar,250);parameterOlder.Value=sSourceOlder;sqlcom.Parameters.Add(parameterOlder);SqlParameter parameterSrc=new SqlParameter(Src,SqlDbType.VarChar,500);parameterSrc.Value=sSrc;sqlcom.Parameters.Add(parameterSrc);trysqlcon.Open();sqlcom.ExecuteNonQuery();catch(Exce
41、ption ex)throw new Exception(ex.Message,ex);finallyif(sqlcon.State=ConnectionState.Open)sqlcon.Close();public int selectData(string cmdtext) SqlConnection sqlcon=new SqlConnection(sqlconn);SqlDataAdapter da=new SqlDataAdapter(cmdtext,sqlcon);sqlcon.Open();DataSet ds=new DataSet();da.Fill(ds);sqlcon.
42、Close();DataTable dt=ds.Tables0;int m=dt.Rows.Count;return(m);public DataTable getData(string cmdtext)SqlConnection sqlcon=new SqlConnection(sqlconn);SqlDataAdapter da=new SqlDataAdapter(cmdtext,sqlcon);sqlcon.Open();DataSet ds=new DataSet();da.Fill(ds);DataTable dt=ds.Tables0;sqlcon.Close();return
43、dt;4.34.3 用户界面层与核心代码用户界面层与核心代码 .1 用户登陆用户登陆通过对单选框的选择来调用不同的数据表,进行数据判断用户的输入是否有误,从而进入相对应的操作界面进行管理。一般情况下一个学生只能注册一次,其用户名是由其学号来确定,保证唯一。图 4-1 用户登陆界面后台核心代码为:if(Student.Checked=true)string cmdtext1=select * from Student where UserName=+userName.Text+and_ PassWord=+passWord.Text+;sqlData sqldata=new sq
44、lData();int n=sqldata.selectData(cmdtext1); if(n0) SessionteaUserName=userName.Text; SessionteaPassWord=passWord.Text; Response.Redirect(/student/main.aspx);elseResponse.Write(alert(你的输入有误,请重新输入!);else if(Teach.Checked=true)string cmdtext2=select * from Teach where Name=+userName.Text+ and _ PassWor
45、d=+passWord.Text+;sqlData sqldata=new sqlData();int n=sqldata.selectData(cmdtext2);if(n0)SessionteaUserName=userName.Text.Trim();SessionteaPassWord=passWord.Text.Trim();Response.Redirect(/teach/main.aspx);elseResponse.Write(alert(你的输入有误,请重新输入!);else if(supper.Checked=true)string cmdtext3=select * fr
46、om Supper where Name=+userName.Text+ and PassWord=+passWord.Text+;sqlData sqldata=new sqlData();int n=sqldata.selectData(cmdtext3);if(n0)SessionteaUserName=userName.Text.Trim();SessionteaPassWord=passWord.Text.Trim();Response.Redirect(/supper/Main.aspx);elseResponse.Write(alert(你的输入有误,请重新输入!);4.3.24
47、.3.2 用户注册用户注册 在用户注册中,我使用了 3 个表来记录注册信息,其分别为表 3-7,表 3-8,表3-10。另外在实际操作中还设计到对用户数据进行判断,保证部分数据的准确性和唯一性。同时在设计中我发现学生用户和教师用户的注册有很大的类同性,后台支持代码基本上一致。所以,我不再为教师用户注册界面做介绍,学生用户界面如图 4-2:图 4-2 学生用户注册界面后台核心代码为:String cmdtext1=select count(*) from Student where UserName_ =+userName.Text+ ;sqlData sqldata=new sqlData()
48、;if(sqldata.selData(cmdtext1)0)Response.Write(alert(用户名已注册,请重新申请!);elsetryString cmdtext=insert into_ Student(stuID,UserName,RealName,PassWord,Telephone,Address,Email,Institute,Des_cription) _ values(+stuID.Text+,+userName.Text+,+realName.Text+,+passWord.Text+,+Teleph_one.Text+,+Address.Text+,+Email
49、.Text+,+Institute.Text+,+Description.Text+);sqldata.insertData(cmdtext);SessionteaUserName=userName.Text;Response.Write(alert(注册成功);Response.Write(document.location.href=student/main.aspx;);catch(Exception ex)string sRawURL=Request.RawUrl;Response.Redirect(/ErrorPage.aspx?ErrorURL=+sRawURL+&Erro
50、rMessage=+ex.M_essage .Replace(n,);.3 用户操作界面用户操作界面 通过不同的身份进入系统,系统将带你进入不同的操作截面,拥有不同的操作功能和权限,例如学生身份进入,他将具有申请班级,浏览班级,进入班级等功能,以教师身份进入的话,有班级开设和班级注销的权利,对班级内的学生进行消息的群发;超级管理员的话,就具有班级的删除,学生的管理以及对教师的管理。界面的设计如下图:图 4-3 超级管理员操作界面图 4-4 教师管理界面在教师界面中教师将具有对教室中的学生的信息查询的权利,其查询的依据是学生用户名,从而了解到学生信息,如基本资料,作业上传的次数。
51、string sear=search.Text;string cmdtext=select* from Student inner join StudentRoom on Student.UserName=StudentRoom.UserName where Student.UserName like %+sear+%;sqlData sqldata=new sqlData();DataTable da=sqldata.getData(cmdtext);if(da.Rows.Count0)DownList.DataSource=da;DownList.DataBind();elsemessag
52、e.Visible=true;message.Text=你的搜索不存在!; 图 4-5 学生管理界面.4 文件上传界面文件上传界面 文件上传操作中,将根据用户所在的班级找到与班级对应的文件夹,然后在把文件上传到文件夹中,并在数据库中做好相对应的记录,同时为了保证数据文件的唯一,系统将自动为其生成文件名,写入数据表中,做好记录。 图 4-6 文件上传与下载string cmdtext=select * from Room where_ RoomName=+Sessionclass.ToString()+;sqlData sqldata=new sqlData();DataTabl
53、e da=sqldata.getData(cmdtext);if(FileName.Text!=)if(upfile.PostedFile.ContentLength0)&(upfile.Value!=)string dir=da.Rows0Roomdir.ToString();dir=dir+FileName.Text;if(File.Exists(dir)=false)tryupfile.PostedFile.SaveAs(dir);sqldata.ProceData(Sessionclass.ToString(),FileName.Text,upfile.PostedFi_le.
54、ContentType,SessionteaUserName.ToString(),dir); getdata();catch(Exception ex) throw new Exception(ex.Message,ex);elseResponse.Write(alert(你上载文件的文件名称已经存在,请更改你的文件名称!);elseResponse.Write(alert(上传的文件内容不能为空!);else Response.Write(alert(文件名不能为空!); 在线答疑类似于留言版,同学可以在上面留言进行提问,老师则可以通过它来解答。图 4-7 在线答疑private void
55、 input_Click(object sender,System.EventArgs e)string cmdtext=insert into Question(Author,Content,Title,DataTime,Class,Teacher) _ values(+liuyanTB.Text+,+ContentTB.Text+,+titleTB.Text+,GetDate(),+Sessionclass.ToString()+,+SessionteaUserName.ToString()+);sqlData sqldata=new sqlData();sqldata.insertDat
56、a(cmdtext);BindData();private void DataGrid1_PageIndexChanged(object_ sender,System.Web.UI.WebControls.DataGridPageChangedEventArgs e)DataGrid1.CurrentPageIndex=e.NewPageIndex;BindData();private void BindData()string cmdtext=select * from Question where_ Class=+Sessionclass.ToString()+and Teacher=+S
57、essionteaUserName.ToString()+ ;sqlData sqldata=new sqlData();DataGrid1.DataSource=sqldata.getData(cmdtext);DataGrid1.DataBind();private void DataGrid2_EditCommand(object_ sender,System.Web.UI.WebControls.DataGridCommandEventArgs e)DataGrid2.EditItemIndex=e.Item.ItemIndex;getMesData(); private void D
58、ataGrid2_DeleteCommand(object_ sender,System.Web.UI.WebControls.DataGridCommandEventArgs e)string cmdtext=select * from Room where_ Creater=+SessionteaUserName.ToString()+;sqlData sqldata=new sqlData();DataTable dt=sqldata.getData(cmdtext);string cmdtext2=delete from Room where_ Creater=+dt.Rowse.It
59、em.ItemIndex1+ ;sqldata.insertData(cmdtext2);getMesData();.5 邮件发送界面邮件发送界面 邮件发送设置了两种对象,发送对象分别为:个人,班级。选择班级意味着班级中的每个同学将收到你的邮件,具有相当高的智能,个人的话,将发送到你指定用户名的个人。在发送过程中,我要求标题和收件人必须填写。图 4-8 发件箱界面if(Receiver.Text.Length0)tryif(Group.Checked=true)string cmdtext1=select* from StudentRoom where _ RoomName=+
60、Receiver.Text+;DataTable da=new DataTable();sqlData sqldata1=new sqlData();da=sqldata1.getData(cmdtext1);for(int i=0;ida.Rows.Count;i+)string cmdtext=insert into_ Message(Receiver,Sender,DataTime,Content,Title,Habitus)values(+da.RowsiUserName.ToString()+,+send.Text+,getdate(),+Content.Text+,+Title.Text+,0);sql
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国锅炉制造行业运营状况及发展规划分析报告
- 2025-2030年中国铲运机市场发展现状及前景趋势分析报告
- 2025-2030年中国铅锌冶炼市场运营状况及发展策略研究报告
- 2025山西省建筑安全员B证(项目经理)考试题库
- 2025年青海省安全员-C证考试(专职安全员)题库附答案
- 2025-2030年中国虹膜识别机系统市场经营状况及发展建议分析报告
- 2025年天津市安全员《A证》考试题库
- 2025-2030年中国相容剂行业发展现状及投资规划研究报告
- 2025-2030年中国生物质锅炉产业运营状况与发展潜力分析报告
- 店面转让 合同范本
- 国家电网新闻宣传与企业文化管理专责考试题及答案
- 2024年江苏省卫生健康委员会所属事业单位招聘笔试真题
- 廉洁知识培训课件
- 分布式光伏发电开发建设管理办法2025
- 《科幻小说赏析与写作》 课件 -第六章 “外星文明”的善意与恶行-《安德的游戏》
- 《我国的文化安全》课件
- 2025年贵州蔬菜集团有限公司招聘笔试参考题库含答案解析
- 2025蛇年一上英语寒假作业
- 建筑行业新员工试用期考核制度
- 二年级经典诵读社团计划
- 洁净室施工组织设计方案
评论
0/150
提交评论