




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目目 录录 引言.3 第一部分 问题定义及内容简介.4 1.1 问题的定义 .4 1.2 内容简介.4 第二部分 研究背景与研究意义.5 2.1 研究背景.5 2.2 研究意义.5 第三部分 开发平台与语言简介.6 3.1 IIS 简介.6 3.2 ASP 简介.6 3.3 ADO 简介 .6 3.4 Microsoft SQL Server 2000 简介 .7 第四部份 系统需求分析及可行性分析.8 4.1 系统需求分析.8 4.1.1 系统功能体系图.8 4.1.2 目标.8 4.1.3 用户的特点.8 4.1.4 假定与约束.8 4.1.5 基本功能.9 4.1.6 对性能的规定.9
2、4.1.7 限制条件.9 4.2 系统难点分析.9 第五部份 总体设计.11 5.1 数据库设计.11 5.1.1 数据库图.11 5.1.2 数据库的约束与关系.12 5.2 特殊功能的原理.12 5.2.1 管理员添加专业班级的处理原理.13 5.2.2 管理员添加教师管理员的原理.13 5.2.3 教师发布修改作业的原理.13 5.2.4 教师发布修改成绩的原理.13 5.2.5 教师批量下载作业的原理.13 5.2.6 学生上传下载作业的原理.13 5.2.7 实现回车换行与空格的原理.13 5.2.8 作业目录的处理原理.13 5.3 主要功能的界面及编码.14 5.3.2 密码找回
3、界面与编码 .18 5.3.3 DataGrid 的编码设计 .22 5.3.4 管理员添加用户的界面与编码.23 5.3.5 教师发布修改作业的界面与编码.25 5.3.6 教师批量下载作业的界面与编码.29 5.3.7 学生上传作业的界面与编码.31 第六部分 结束语.33 本系统的优点.33 本系统的不足之处及发展意见.33 在系统设计与实现过程中的收获.33 第七部分 谢辞.34 第八部份 参考文献.34 参考书籍:.34 其它数据:.34 第九部份 附录.35 (附录一)建立数据库与表的 SQL 语句.35 (附录二)测试数据插入的 SQL 语句.37 引言引言 作业提交系统 2.0
4、 是基于 b/s 结构,在 IIS 平台上使用 ASP 与 Microsoft SQL 2000 开发的, 主要目的是解决学校机房管理上机作业的问题。因为传统的对学生作业管理是在服务器上建立一个 FTP 服务器,然后对学生用户设置一个专门的帐号,只允许对作业进行上传,然后学生将作业上传 到服务器里对应的班级文件夹下面,传统方式无法解决的问题有:不能防止学生乱上传作业,不能 防止学生找错班级文件夹,不能对作业进行限制如大小,类型,上传时间等,教师布置作业要通过 黑板写字,教师打分之后只能记在本子上,不能通过局域网发布出来让学生看,教师下载作业必须 到服务器上拷贝。而这套系统正是出于这个目的,为了
5、解决上面的问题而设计的。系统对于复杂的 问题都采用程序的方式解决了。系统分了管理员、教师、学生用户,管理员须要的操作只是添加专 业,添加班级,添加管理员或教师用户都是通过网页的形式展示出来。而教师无须向以前那样,只 需要发布作业,对作业的要求进行限制,不必去服务器上建文件夹来存放你的作业,并且程序自动 创建目录。下载作业也只须要点一下就会将作业全部打包下载回来,在局域网内的任何一台计算机 都可以进行各种操作。学生则再也不会将作业上传错,上传到别的班级中,也不允许上传非法的文 件,对一次未上传完成的作业也可以先上传后下节课再下载回来接着做。系统用程序的方式解决了 那些非常复杂的操作,比如对文件夹
6、的创建等,所有的角色只需要简单的几步操作就可以完成,非 常简单实用。 第一部分第一部分 问题定义及内容简介问题定义及内容简介 1.11.1 问题的定义问题的定义 解决传统的 FTP 服务器不能够满足作业上传的要求下: 1教师发布作业必须到服务器上建立文件夹 2教师发布作业由在黑板上写的形式改为在网页上写再发布 3教师不能对作业进行限制如大小,类型,过期时间 4教师下载作业的必须到服务器去下载改为在局域网内任何一台计算机都可以下载 5教师无法发布成绩改为通过网页发布成绩 6学生一次未完成的作业可以先上传再下载,完成之后再上传。 7学生上传作业只须点一个按钮,无须选择要上传的目录 1.21.2 内
7、容简介内容简介 通过网页的形式来完成作业提交的管理。首先讲述开发平台的特点,和所使用的开发语言的简 介。再介绍研究的背景与意义并对系统进行需求分析与可行性分析,最后进行详细的设计。通过此 文档,可以让读者了解作业上传系统的大至流程,对于其中的功能也有一定的了解,知道作者的实 现原理及使用的方法。 第二部分第二部分 研究背景与研究意义研究背景与研究意义 2.12.1 研究背景研究背景 为学校各位老师提供了一个可靠的软件,更好的让学生提交作业。传统的手工操作方式,容易 对自己身体疲劳,统计错误,且速度慢。这套系统可以提高管理效率和水平 2.22.2 研究意义研究意义 网络化教育代表了教育改革的一个
8、发展方向,已经成为现代教育的一个特征,并对教育的发展形成 新的推动力。通过 Internet/Intranet 来实现网上作业提交,是现代教育技术的一个具体实现,具有很 重要的现实意义。可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源, 使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。 第三部分第三部分 开发平台与语言简介开发平台与语言简介 3.13.1 .NET.NET 简介简介 “.NET 是 Microsoft 的用以创建 XML Web 服务(下一代软件)平台,该平台将信息、设备 和人以一种统一的、个性化的方式联系起来。 ”
9、“借助于 .NET 平台,可以创建和使用基于 XML 的应用程序、进程和 Web 站点以及服务, 它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制 好的解决方案。 ” “.NET 是一个全面的产品家族,它建立在行业标准和 Internet 标准之上,提供开发(工具) 、 管理(服务器) 、使用(构造块服务和智能客户端)以及 XML Web 服务体验(丰富的用户体验) 。 .NET 将成为您今天正在使用的 Microsoft 应用程序、工具和服务器的一部分,同时,新产品不断 扩展 XML Web 的服务能力以满足您的所有业务需求。 ” .NET 为开发人员提
10、供了新的开发平台 (.NET 框架) ,新的开发语言(ASP) ,新的开发工具 (Visual Studio .NET) ,新的开发方式 (Web Service) ;为普通用户提供了 Windows CE、Windows XP、Stinger、Xbox、Tablet PC、.NET My Services、MSN 等产品;为企业提供了 bCentral。在未来, 最终大多数流行的 Microsoft 软件应用程序包括 Office 和 Visual Studio .NET将开始与 XML Web 服务实现交互,并把它们的主要功能作为 XML Web 服务公开,以便其他开发人员可 以利用。 3
11、.23.2 ASPASP 简介简介 ASP(读作“csharp”)作为 Microsoft 的下一代面向对象的语言产品能够让开发人员在 IIS 平台 上快速地建立大量的应用程序。按照微软给出的定义,asp 是一种源自于 c 和 c+的简单的、现 代的、面向对象的和类型安全的程序设计语言。asp 为程序员提供了开发飞速发展的 Web 应用程序 所需的强大而灵活的功能。asp 和 Java 的核心与 c+比较有着相同的优势和局限,比起 c+,asp 将 更容易被人们理解和接受,未来大量NET 平台的应用将由 ASP 开发。 3.33.3 ADO.NETADO.NET 简介简介 ADO.NET 是对
12、 Microsoft ActiveX Data Objects (ADO)一个跨时代的改进,它提供了平台互用性 和可伸缩的数据访问。由于传送的数据都是 XML 格式的,因此任何能够读取 XML 格式的应用程 序都可以进行数据处理。事实上,接受数据的组件不一定要是 ADO .NET 组件,它可以是基于一个 Microsoft Visual Studio 的解决方案,也可以是任何运行在其它平台上的任何应用程序。 ADO.NET 提供对 Microsoft SQL Server 等数据源以及通过 OLE DB 和 XML 公开的数据源的一 致访问。数据共享使用者应用程序可以使用 ADO.NET 来连
13、接到这些数据源,并检索、操作和更 新数据。 ADO.NET 有效地从数据操作中将数据访问分解为多个可以单独使用或一前一后使用的不连续 组件。ADO.NET 包含用于连接到数据库、执行命令和检索结果的 .NET 数据提供程序。您可以直 接处理检索到的结果,或将其放入 ADO.NET DataSet 对象,以便与来自多个源的数据或在层之间 进行远程处理的数据组合在一起,以特殊方式向用户公开。ADO.NET DataSet 对象也可以独立于 .NET 数据提供程序使用,以管理应用程序本地的数据或源自 XML 的数据。 3.43.4 MicrosoftMicrosoft SQLSQL ServerSe
14、rver 20002000 简介简介 Microsoft SQL Server 2000 是一个高性能的客户端/服务器结构的关系数据库管理系统 (RDBMS,Relational Database Management System) 。SQL Server 2000 是为了支持高容量的事务 处理(比如在线订购录入、存货目录、记帐或制造)以及数据仓库和决策支持系统(比如销售分析 应用)而设计的。它运行在 Microsoft Windows NT4 或 Microsoft Windows 2000 Server 上基 于 intel 处理器的网络。可以把 SQL Server 2000 作为一种
15、个人桌面数据库系统安装在运行 Window NT Workstation 4、Windows 2000 Professional、Windows98 和 Windows Millennium Edition(Me)的机器上。可以使用相同的 CD 来安装任何一个 SQL Server 2000 的服务器版本或个人 版本。 第四部份第四部份 系统需求分析及可行性分析系统需求分析及可行性分析 4.14.1 系统需求分析系统需求分析 .1 系统功能体系图系统功能体系图 .2 目标目标 完成一套网上的作业提交系统,免费提供给学校机房使用,将所有源代码公开,方便别人学习,
16、也希望更多的人参与本系统的开发。 .3 用户的特点用户的特点 用户是机房管理员,对计算机技术比较了解,学校教师专业教师能很快熟悉系统的使用方法, 非专业教师也能很快掌握,学校学生能很快学会使用系统。 .4 假定与约束假定与约束 1如果压缩文件夹的功能不能解决,那么只有教师到服务器拷贝文件夹 2如果学校觉得系统不能满足学生作业上传的需要,那么将不能放在机房, 供学生使用 3如果遇到一些技术问题无法解决,那么将会加大系统的开发周期 4如果此系统在离开学期之前都无法开发成功,那么也不能提供给机房使用。 .5 基本功能基本功能 作业提交系统 注册登录密码
17、找回 学生用户登录教师用户登录管理员用户登录 查 看 成 绩 打 包 下 载 作 业 发 布 修 改 作 业 添 加 班 级 添 加 用 户 数据库管理 上 传 作 业 下 载 作 业 查 看 作 业 发 布 修 改 成 绩 删 除 作 业 添 加 专 业 通用模板 修 改 密 码 查 看 个 人 资 料 注 销 系 统 1学生注册 2学生、教师、管理员密码找回功能 3不同用户登录进入不同的界面 4学生作业的查看 5学生作业成绩的查看 6学生作业上传 7教师布置作业 8教师删除作业 9教师修改作业 10教师发布成绩 11教师修改成绩 12教师下载作业 13管理员添加教师用户 14管理员添加管理
18、员用户 15管理员添加专业 16管理员添加班级 17个人资料的查看 18个人密码的修改 .6 对性能的规定对性能的规定 1要求系统支持Microsoft .NET Framework 1.1 2要求系统支持Microsoft SQL Server数据库 3要求必须安装IIS .7 限制条件限制条件 1 学生不可以进行教师与管理员的页面 2 教师也不可以进入管理员页面,还有学生页面 3 管理员也不可以进行学生和教师面页 4 每个学生登录进入之后只能看到自己班级的作业,不可以看到别的班级的作业 5 每个教师登录只对自己发布的作业进行管理,不可以对别的教师发布的作业进
19、行管理 6 当学生注册时输入的学号必需与选定的班级匹配。 7 不同的用户使用修改密码都只能修改自己的密码,无法修改他人的 8 不同的用户使用个人数据功能时,也是只可以看到自己的信息不可以看到他们的信息 9 学生上传作业的类型,大小,时间等,受到教师发布作业的约束 4.24.2 系统难点分析系统难点分析 本系统最大的难点是对作业的压缩及打包下载,因为是在WEB上,无法运行像winrar这样的压 缩软件来进行文件夹的压缩,压缩的技术也不是我们现在能现写出来的,因为这个功能需要非常复 杂的技术,但是我们可以引用别人开发出来的东西,上网查了很多的数据,找到一个SharpZipLib 控件可以实现在线文
20、件夹的压缩,而且他的源代码是开放的,可以在网站 “http:/ 第五部份第五部份 总体设计总体设计 5.15.1 数据库设计数据库设计 .1 数据库图数据库图 Admin 表 列名数据类型长度允许空 Xuehaovarchar15 Xingmingvarchar20 pwvarchar30 Pw_wentivarchar50 Pw_daanvarchar50 Emailvarchar20 denglushuint4 Class 表 列名数据类型长度允许空 Class_namevarchar50 Class_daihaovarchar15 Student 表 列名数据类型长度允许
21、空 Xuehaovarchar15 Xingmingvarchar20 Pwvarchar30 Pw_wentivarchar50 Pw_daanvarchar50 Emailvarchar20 Denglushuint4 banjidaihaovarchar15 Teacher 表 列名数据类型长度允许空 Xuehaoint4 Xingmingvarchar20 Pwvarchar30 Pw_wentivarchar50 Pw_daanvarchar50 Emailvarchar20 Denglushuint4 zuoyeshuint4 Zhuanye 表 列名数据类型长度允许空 Ad_id
22、int4 mingchengvarchar30 Zuoye 表 列名数据类型长度允许空 Ad_idint4 Zy_titlevarchar3 Zy_contentText16 Zy_xingmingvarchai10 Zy_xuehaoInt4 Zy_dateDatetime8 Zy_wcdateDatetime8 Zy_lujingvarchar50 Zy_wenjianleixingvarchar10 Zy_daxiaoInt4 Zy_class_daihaoVarchar15 Zy_chengjiText16 注:创建数据库及表的 SQL 语句及各字段表示什么意思见(附录一) 5.1.2
23、5.1.2 数据库的约束与关系数据库的约束与关系 管理员表与其它表无关系只是为了存放管理员的帐号与密码等数据 教师表里的 xuehao 字段为主键用于存放老师的 ID 班级表里存放的是班级的全称与班级的代号 学生表与班级表之间存在着外键约束,如果学生表里班级代号字段的值与班级表里面的班级代 号值关键。 专业表与其它表无关系 作业表也是最重要的一个表它同时与二个表存在着外键约束,ZY_XueHao 字段与教师的代号之 间相关联,ZY_class 与班级表里面班级代号相关联。 其它各字段的值都是有一些非空的约束,详细情况请见(附录一中的备注) 在新建数据库之后要插入了几条测试数据(见附录二) 5.
24、25.2 特殊功能的原理特殊功能的原理 .1 管理员添加专业班级的处理原理管理员添加专业班级的处理原理 以本系为例子,有十多个专业,当某个专业人数比较多时就会分成几个班,如图形图像一班, 图形图像二班,ACCP 一班,ACCP 二班等,而且还分为 2004 级图形图像一班,2004 级图像图像二 班,2005 级图形图像一班,2005 级图形图像二班等。在程序中,首先应该添加专业,而把“图形 图像一班”视为一个专业, “图形图像二班”视为一个专业。前面的“2004 级” “2005 级”当作年 份。添加专业的时候不用只需要添加专业的名称,在添加班级的时候只须要选择年份和专业,再
25、输 入班级的代号就可以添加班级了。 .2 管理员添加教师管理员的原理管理员添加教师管理员的原理 管理员可以添加教师用户,教师用户必须由管理员添加,每次当管理员添加教师用户时就会在 网站目录下的一个专门用于存放上传作业的目录(up)的根目录下以教师的姓名为目录名新建一个 根目录。用于教师布置作业之后,学生上传作业的存放目录。 .3 教师发布修改作业的原理教师发布修改作业的原理 老师发布作业之后可以修改作业,而且二个功能都是使用的一个界面来完成,通过传递的一个 参数来判断用户的操作是发布作业还是修改作业,如果是修改作业而取得一个 ID 值将数据库里的 内容绑定到用户
26、界面。 (注:但是在修改作业的时候作业的班级与作业的标题设及到文件的目录所 有修改时定为不可以修改) .4 教师发布修改成绩的原理教师发布修改成绩的原理 教师发布成绩或修改成绩的原理和教师发布修改作业的原理大至一样,都是使用一个页面来完 成的,通过一个参数来判断用户的操作是发布还是修改。 .5 教师批量下载作业的原理教师批量下载作业的原理 教师批量下载作业是将学生上传后的作业全部打包成一个 zip 的压缩文件,然后从服务器上下 载。因为这里面涉及到压缩文件的一些算法,非常复杂。所以我用使用了国外的一个压缩类来完成。 下载地址:http:/ .6
27、学生上传下载作业的原理学生上传下载作业的原理 学生上传作业的时候,首先应该选择上传那科的作业。例: 学生登录帐号 密码 snryang 班级代号是 姓名“杨文兵” 作业标题为“实用软件工程方法第 一次作业”班级名通过查询班级表得到为“2004 级 WEB 应用程序设计” 。网站上传目录设为 “C:inetpubwwwrootnxwszuoyeup” 作业的存置教师为“XXX”则学生上传作业的时候则会上 传到“C:inetpubwwwrootnxwszuoyeupXXX2004 级 WEB 应用程序设计实用软件工程方法第一 次作业”这个目录下面,下载的时候也会在这个目录下面下载,上传的文件名为姓
28、名加上教师布 置作业时的扩展名。如果有重复上传则会覆盖原来上传的文件。 .7 实现回车换行与空格的原理实现回车换行与空格的原理 使用到的页面有发布作业和修改作业和学生查看作业。(因为在发布作业的时候将回车转换成 存入数据库这样在显示数据时才会显示换行,不然无法实现换行,空格也是必须换成 “”。 如果不进行字符的替换,则文本框中的回车与空格将会省去,存入数据库中,通过数据库显示到用 户界面的时候就无法区分用户的换车和空格,格式不好看,所以在这里进行了简单的替换实现回车 与空格的效果。ASP 中的代码为 TextContel.Text.Replace(rn , ).Replace(
29、 ,) .8 作业目录的处理原理作业目录的处理原理 在Web.config文件中存放了上传文件的目录默认为(目录一) “c:Inetpubwwwrootnxwszuoyeup”。当新建一个教师用户时就会在目录一下面以教师的姓名 为目录名建立一个根目录如(目录二)“c:InetpubwwwrootnxwszuoyeupXXX”。当老师用户登 录之后发布作业的时候要输入作业的标题,还要先择作业的所属班级。每一次发布作业就会新建目 录,在目录二的下面建立如下形式的目录“c:InetpubwwwrootnxwszuoyeupXXX作业的所属班 级作业的标题”耐用会将“XXX作业的所属班
30、级作业的标题”存入发布作业的一个字段里面。 方便以后目录的查找,也就实现了不同的用户上传的作业存放到不同的文件夹,并进行分类存放, 也方便了老师对作业目录的管理,方便的下载作业等。这是本系统的一个核心。 5.35.3 主要功能的界面及编码主要功能的界面及编码 .1 DBDB 类的编码类的编码 using System; using System.Data; using System.Configuration; /导入的一个命名空间,不然无法读取WEB.config配置文件 using System.Data.SqlClient; using ICSharpCode.Sharp
31、ZipLib.Zip; /导入压缩文件夹的命名空间 using System.Web; using System.IO; /用于实现下载文件的命名空间 using System.Threading; /用于实现下载文件的命名空间 namespace nxwszuoye public class db /我自己建立的一个数据访问类, public db() /一个静态方法返回web.config配置文件中的数径 public static string zuoyepath() string yang=ConfigurationSettings.AppSettingsFileLuJing; /fi
32、leLuJing为配置文件 中的值 return yang; /静态方法,返回一个SqlConnection对象 public static SqlConnection conn() string yang=ConfigurationSettings.AppSettingsmyconn; /myconn为配置文 件中的值 SqlConnection aa = new SqlConnection (yang); return aa; /建立数据库的连接 /静态方法,反回查询是否成功 public static bool ChaZhao(string sql) /判断记录是否重复 bool yan
33、g=false; try /捕获异常 SqlConnection conn=db.conn(); SqlCommand cmd= new SqlCommand(sql,conn); conn.Open(); SqlDataReader dr=cmd.ExecuteReader(); if(dr.Read() yang=true; else yang=false; dr.Close(); conn.Close(); catch(Exception e) throw(e); return yang; /静态方法,执行SQL语句,返回值是否成功 public static bool Edit(str
34、ing sql) /对数据库增删改操作 bool yang=false; int dr=0; /对异常进行了捕获 try SqlConnection conn=db.conn(); SqlCommand cmd= new SqlCommand(sql,conn); conn.Open(); dr=cmd.ExecuteNonQuery(); conn.Close(); catch(Exception e) throw(e); finally if(dr0) yang=true; return yang; /返回SQL语句第一行第一列的值 public static string getValu
35、e(string sql) string str=null; try SqlConnection conn=db.conn(); SqlCommand cmd = new SqlCommand(sql,conn); conn.Open(); str = cmd.ExecuteScalar().ToString(); conn.Close(); catch(Exception e) throw(e); return str; /下载文件的静态方法 public static bool ResponseFile(HttpRequest _Request,HttpResponse _Response
36、,string _fileName,string _fullPath, long _speed) try FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); BinaryReader br = new BinaryReader(myFile); try _Response.AddHeader(Accept-Ranges, bytes); _Response.Buffer = false; long fileLength = myFile.Lengt
37、h; long startBytes = 0; int pack = 10240; /10K bytes /int sleep = 200; /每秒5次 即5*10K bytes每秒 int sleep = (int)Math.Floor(1000 * pack / _speed) + 1; if (_Request.HeadersRange != null) _Response.StatusCode = 206; string range = _Request.HeadersRange.Split(new char =, -); startBytes = Convert.ToInt64(ra
38、nge1); _Response.AddHeader(Content-Length, (fileLength - startBytes).ToString(); if (startBytes != 0) _Response.AddHeader(Content-Range, string.Format( bytes 0-1/2, startBytes, fileLength-1, fileLength); _Response.AddHeader(Connection, Keep-Alive); _Response.ContentType = application/octet-stream; _
39、Response.AddHeader(Content-Disposition,attachment;filename= + HttpUtility.UrlEncode(_fileName,System.Text.Encoding.UTF8) ); br.BaseStream.Seek(startBytes, SeekOrigin.Begin); int maxCount = (int) Math.Floor(fileLength - startBytes) / pack) + 1; for (int i = 0; i maxCount; i+) if (_Response.IsClientCo
40、nnected) _Response.BinaryWrite(br.ReadBytes(pack); Thread.Sleep(sleep); else i=maxCount; catch return false; finally br.Close(); myFile.Close(); catch return false; return true; .2 密码找回界面与编码密码找回界面与编码 重点对 panel 的应用 图: 以为每一块为一个从左到右从上到下为 panel1,panel2,panel3,panel4,panel5。 代号:public static stri
41、ng PW_DaAn=null; /用于存放密码提示答案的变量 private void Page_Load(object sender, System.EventArgs e) if(!this.IsPostBack) /页面初始时显示第一步 this.Panel1.Visible=false; this.Panel2.Visible=false; this.Panel3.Visible=false; this.Panel4.Visible=false; this.Panel5.Visible=true; private void Button7_Click(object sender, S
42、ystem.EventArgs e) if(YongHu.SelectedValue.ToString()=wu) /如果未选择用户的类型则给出提 示. Response.Write(alert(必须选择用户类型); ); Response.Write(history.go(- 1); else this.Panel1.Visible=true; /显示第二步,其它步骤危隐藏. this.Panel2.Visible=false; this.Panel3.Visible=false; this.Panel4.Visible=false; this.Panel5.Visible=false; p
43、rivate void Button8_Click(object sender, System.EventArgs e) /返回上一步 this.Panel1.Visible=false; this.Panel2.Visible=false; this.Panel3.Visible=false; this.Panel4.Visible=false; this.Panel5.Visible=true; private void Button2_Click(object sender, System.EventArgs e) /判断帐号是否存在 string sql=null; /根据选择的不同用
44、户,建立不同的查询语句 switch(YongHu.SelectedValue.ToString() case Admin: sql=select * from Admin Where XingMing=+ZhangHao.Text +; break; case Teacher: sql=select * from Teacher Where XingMing=+ZhangHao.Text +; break; case Student: sql=select * from Student Where XueHao=+ZhangHao.Text +; break; SqlConnection c
45、onn=db.conn(); SqlCommand cmd=new SqlCommand(sql,conn); conn.Open(); SqlDataReader dr=cmd.ExecuteReader(); /根据查询语句的结果,查询出密码提示的问题,并将密码提示答案存入一个全局变量 if(dr.Read() this.Label1.Text=drPw_WenTi.ToString(); PW_DaAn=drPw_DaAn.ToString(); this.Panel1.Visible=false; this.Panel2.Visible=true; this.Panel3.Visibl
46、e=false; this.Panel4.Visible=false; this.Panel5.Visible=false; else Response.Write(alert(对不起!不存在此用 户);); Response.Write(history.go(- 1); dr.Close(); conn.Close(); private void Button3_Click(object sender, System.EventArgs e) this.Panel1.Visible=true; this.Panel2.Visible=false; this.Panel3.Visible=fa
47、lse; this.Panel4.Visible=false; this.Panel5.Visible=false; private void Button1_Click(object sender, System.EventArgs e) /如果用户输入的的密码提示答案不与数据库里的相同,则给出提示, if(MiMaDaAn.Text=PW_DaAn) this.Panel1.Visible=false; this.Panel2.Visible=false; this.Panel3.Visible=true; this.Panel4.Visible=false; this.Panel5.Vi
48、sible=false; else Response.Write(alert(对不起!密码答案不 正确,请重新输入!);); Response.Write(history.go(- 1); private void Button5_Click(object sender, System.EventArgs e) this.Panel1.Visible=false; this.Panel2.Visible=false; this.Panel3.Visible=true; this.Panel4.Visible=false; this.Panel5.Visible=false; private v
49、oid Button4_Click(object sender, System.EventArgs e) /根据用户的类型建立不同的密码更新SQL语句 string upsql=null; switch(YongHu.SelectedValue.ToString() case Admin: upsql=update Admin set PW=+PW.Text+ Where XingMing=+ZhangHao.Text +; break; case Teacher: upsql=update Teacher set PW=+PW.Text+ Where XingMing=+ZhangHao.T
50、ext +; break; case Student: upsql=update Student set PW=+PW.Text+ Where XueHao=+ZhangHao.Text +; break; /执行更新操作 bool yang=db.Edit(upsql); if(yang) this.Panel1.Visible=false; this.Panel2.Visible=false; this.Panel3.Visible=false; this.Panel4.Visible=true; this.Panel5.Visible=false; else Response.Write
51、(alert(更新密码出错!); ); Response.Write(history.go(- 1); private void Button6_Click(object sender, System.EventArgs e) Response.Redirect(index.aspx); .3 DataGridDataGrid 的编码设计的编码设计 1当鼠标指向当鼠标指向 DataGrid 时时 DataGrid 中的行时背景变色中的行时背景变色 /如果是数据项并且是交替项 DataGrid 鼠标指向背景变色 if(e.Item.ItemType = ListItemType.
52、Item |e.Item.ItemType = ListItemType.AlternatingItem) /添加自定义属性,当鼠标移过来时设置该行的背景色为6699ff,并保存原背景色 e.Item.Attributes.Add(onmouseover,currentcolor=this.style.backgroundColor;this.style.backgroundColo r=#6699ff); /添加自定义属性,当鼠标移走时还原该行的背景色 e.Item.Attributes.Add(onmouseout,this.style.backgroundColor=currentcol
53、or); 以上代码添加到 DataGrid 的 ItemDataBound 事件中 2为为 DataGrid 的删除按钮添加确认对话框的删除按钮添加确认对话框 (LinkButton)(e.Item.Cells4.Controls0).Attributes.Add(onclick,return confirm( 确认删除吗?);); 以上代码添加到 DataGrid 的 ItemDataBound 事件中 3.为为 DataGrid 实现分页代码实现分页代码 首先应该在 DataGrid 的属性生成器里设置为允许分页然后在 DataGrid 的 PageIndexChanged 事件中添加以下
54、代码 DataGrid1.CurrentPageIndex=e.NewPageIndex; 记住最后应该再执行一次数据库的绑字 4.将数据库里面的内容绑定到将数据库里面的内容绑定到 DataGrid /首先定义一个 SQL 语句 string sql=select * from ZuoYe where ZY_Class_DaiHao=+SessionBanJiDaiHao.ToString()+; /建立一个SqlConnection链接对象 SqlConnection conn=new SqlConnection(server=.;database=zuoyedata;uid=sa;pwd=
55、;); /再建立一个DataAdapter对象 SqlDataAdapter sda=new SqlDataAdapter(); /设置DataAdapter对象执行SQL命令 sda.SelectCommand=new SqlCommand(sql,conn); /实例化一个DataSet对象 DataSet ds=new DataSet(); /将sda的结果添冲到DataSet的ZuoYe表里面 sda.Fill(ds,ZuoYe); DataGrid1.DataKeyField=AD_Id; /设置主键 DataGrid1.DataSource=ds.TablesZuoYe; /设置D
56、ataGrid的数据源 DataGrid1.DataBind();/执行绑定操作 5.点击点击 DataGrid 实现弹出对话框实现弹出对话框 在 html 视图里面设置项的 DataNavigateUrlFormatString 属性 DataNavigateUrlFormatString=javascript:var win=window.open(ShowZuoYe.aspx?id=0,null,height=500, width=600, top=50,left=200, toolbar=no, menubar=no, scrollbars=yes, resizable=no,loca
57、tion=no, status=no); 如果没有加红色部分的“var win=”同样也可以弹出对话框,但是弹出对话框后原先的页面就 会只显示一个object。 .4 管理员添加用户的界面与编码管理员添加用户的界面与编码 图 代码 private void Page_Load(object sender, System.EventArgs e) / 在此处放置用户代码以初始化页面 if(!Page.IsPostBack) if(SessionYongHuLeiXing.ToString()!=Admin) /如果不是管理 员登录则给出提示 Response.Write(aler
58、t(对不起!你的 权限不够);); Response.Redirect(index.aspx); this.Panel1.Visible=true; /显示或隐藏Panel this.Panel2.Visible=false; private void Button1_Click(object sender, System.EventArgs e) string sql=null; /通过不同的用户权限构建不同的SQL插入语句 if(user_admin.SelectedValue.ToString()=Admin) sql=insert into Admin values(admin,+us
59、er_name.Text+,+user_pw.Text+,+PW_WenTi.Text +,+PW_DaAn.Text +,+E_mail.Text +,0); else sql=insert into Teacher (XingMing,Pw,Pw_WenTi,Pw_DaAn,Email,DengLuShu,ZuoYeShu)values(+user_name.Text+,+ user_pw.Text+,+PW_WenTi.Text +,+PW_DaAn.Text +,+E_mail.Text +,0,0); /执行插入语句 bool yang=db.Edit(sql); if(yang)
60、/如果添加的是教师,则以老师的姓名为目录在上传目录里新建一个目录 if(user_admin.SelectedValue.ToString()=Teacher) /如果是教师才创 建目录 / 以教室姓名为文件夹名建立文件夹 string FilePath=db.zuoyepath(); /获得配置文件中的路径并创建目录 FilePath+=user_name.Text; System.IO.Directory.CreateDirectory(FilePath);/创建目录 Response.Write(alert(恭喜你!用户添加 成功);); Response.Write(history.g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 血脂异常护理查房
- 出纳银行业务办理
- 美容美发行业分析报告
- 化学高中课程标准解读
- 办公用品管理
- 船舶货物包装与运输保护
- 新发展英语(第二版)综合教程2 课件 Unit 4 Making Offers and Giving Responses
- a-lively-city知识教学课件
- 人教版数学六年级下册期末应用题
- 北京市丰台区2025年高三下学期正月开学联考历史试题含解析
- 2025年东北三省三校二模联考语文试卷
- 保密知识题库含答案
- 共享农场合同标准文本
- 医院建设项目智能化专项工程技术要求
- 2024年中国银行招聘考试真题
- 管理学基础-形考任务三-国开-参考资料
- 2024-2025学年北师大版七年级数学上册期末复习压轴题12个(84题)含答案
- 2023年北京市大兴区小升初数学模拟试卷(含答案)
- 2025年河南交通职业技术学院单招职业技能测试题库审定版
- 第二十一章传导热疗法讲解
- 2025年河南职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析
评论
0/150
提交评论