版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软软件件开开发发综综合合技技能能训训练练报报告告在线考试系统设计在线考试系统设计专业专业计算机科学与技术计算机科学与技术学生姓名学生姓名 班级班级学号学号指导教师指导教师 李萍李萍完成日期完成日期年年 1 月月 9 日日信信息息学学院院 目 录1 绪论 .11.1 开发的背景和意义.11.2 论文结构.12 系统需求分析 .22.1 需求分析.22.2 开发环境及工具.22.2.1 网站开发环境.22.2.2 服务器端和客户端.23 系统概要设计 .33.1 系统目标.33.2 系统流程图.43.3 系统功能结构.44 详细设计 .64.1 数据库设计.64.1.1 数据库概要说明.64.1.
2、2 数据库概念设计.64.1.3 数据库逻辑设计.84.1.4 公共类的编写.94.2 网页设计.144.2.1 网上考试系统登录页面.144.2.2 注册页面.174.2.3 在线考试页面.194.2.4 后台管理页面.234.3 程序运行.295 结论 .31参考文献 .321 绪论绪论1.1 开发的背景和意义随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去
3、,这就给软件设计人员提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。考试是教育中的一个重要环节1。考试的目的一是为了考查学生的知识掌握情况,二是为教师提供教学分析的依据。传统的考试由于涉及到组织命题、试卷印刷、考场安排、组织阅卷等诸多环节,考试时间周期长、效率低下;同时人工披卷等主观因素也影响到考试的公正性。随着网络技术在教育领域应用的普及,应用现代信息技术构架的网络在线考试系统展现出了越来越多的优越性。网络在线考试系统旨在探索一种以互联网为基础的考试模式。通过这一新的考试模式,为考试创造一种新的
4、考试环境,提高考试工作效率和标准化水平,使考务管理突破时空限制,使考生可以随时随地通过网络完成考试。网络在线考试系统从根本上解决了传统考试过程中工作量大、效率低、反馈周期长、资源浪费等缺陷,成为技术发展与研究的方向。“网上考试系统”作为现代远程教育的一部分,以 Internet 网络作为载体,不受时间、科目和地域的限制,给考生、评卷人和出题者带来巨大的便利,同时也使考试成为真正意义上的平等、公开。它可以杜绝试题泄露、评卷不公、考生作弊。考生可以在规定的期间内选择最佳状态时期参加考试,系统会为每一个考生同样的试卷,同时当场给出成绩, 评卷人和出题者可以在世界任何一个地方进行试题结构、试题内容的维
5、护和进行评卷工作1.2 论文结构第一章:对网上考试系统的开发背景和意义进行阐述。第二章:对网上考试系统作出详细的需求分析。第三章:会话通信程序的概要设计分析。第四章:会话通信程序的详细设计分析。第五章:对整个系统的开发设计作出总结。2 系统需求分析系统需求分析2.1 需求分析随着计算机技术和互联网的快速发展,人类已经进入了信息时代,也有人称为数字化时代。在数字化的网络环境下,学生希望得到个性化的满足,根据自己的情况进行学习,同时也希望能够得到科学的评价;老师希望有效改进现有的考试模式,提高考试的效率;教育机构也希望给网上的学生提供更全面、灵活的服务,全面准确地对学生进行跟踪和评价。网络考试系统
6、正是迎合这一时代需求而开发的,它旨在探索一种以互联网为基础的考试模式。通过这种新的模式,为学校创造一种新的考试环境,提高考试工作效率和标准化水平,是学校管理者、教师和学生可以随时随地通过网络进行考试。网络考试系统的开发与应用,避免了以往学校里考试纸张、笔、监考和巡考等各种资源的浪费,并且后台管理是管理员单一的管理,确保了程序的安全性。网络考试系统管理员登录后,对考试内容、科目和考试题目等都作了详细的分类,只要考生通过自己的用户名和密码进入前台,按步骤依次进行选题和答题,答题完毕后系统会自动判断考卷,并核对出最后考卷的分数,解决了在学校考试后等待考卷分数通知的问题。2.2 开发环境及工具2.2.
7、1 网站开发环境网站开发环境:Microsoft Visual Studio 2005 集成开发环境。网站开发语言:ASP.NET+C#。网站后台数据库:SQL Server 2000.开发环境运行平台:Windows XP/Windows 2000/Windows Server 2003。2.2.2 服务器端和客户端操作系统:Windows Server 2003Web 服务器:Internet 信息服务(IIS)管理器。数据库服务器:SQL Server 2000.浏览器:IE 6.0。网站服务器运行环境:Microsoft .NET Framework 浏览器:Internet Expl
8、orer 6.0分辨率:最佳效果 1024768 像素 3 系统概要设计3.1 系统目标本程序是将传统的考试模式与先进的网络应用相结合开发设计的。主要实现如下目标:1. 操作简单方便、界面简洁美观。2. 具有实时性,已注册地用户无论身在何地,通过 Internet 浏览器,都可登录网络考试系统。3. 具有严肃性和公正性,系统提供的自动交卷功能使考试到结束时间时,系统将自动交卷。4. 提供考试时间倒计时动能,让考生随时了解考试剩余时间。5. 系统自动交卷、阅卷,保证成绩真实、准确。6. 对考生注册信息进行管理。7. 系统运行稳定、安全可靠。3.2 系统流程图管理员在线考试选择考试课程和套题开始考
9、试提交试卷查看考试结果对考生信息、考试信息、管理员信息、考试套题信息和考试题目进行添加、修改、删除等管理考生注 册登录留 言图 3.1 网站的流程图3.3 系统功能结构根据网上考试系统的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于考生注册和登录系统、在线考试、留言以及退出登录;后台主要用于管理员对考生信息、考题信息、考生成绩信息、考试套题和课程信息等进行管理。网上考试系统的前台功能结构图如下所示:在线考试网前台系统 考生注册考生/管理员登录找回密码在线考试留言板退出系统考试规则选择考试课程套题开始考试考试结束 图 3.2 网上考试系统前台功能结构图网上考试系统的后台功能结构图如下
10、所示:添加管理员在线考试网后台系统管理员信息管理套题信息管理学生成绩管理考试题目管理退出系统课程信息管理注册学生管理修改管理员删除管理员添加课程删除套题添加套题删除课程添加题目删除题目图 3.3 网上考试系统后台功能结构图4 详细设计4.1 数据库设计4.1.1 数据库概要说明在程序开发过程中,数据库设计师非常重要的一个环节。一个设计良好的数据库结构,可以提高效率,方便维护,并且为以后进行功能的扩充留有余地。本网站采用 SQL Server 20002数据库,名称为 mydb,其中包含 6 张数据表:tb_Administator,tb_Lesson,tb_Questions,tb_Stude
11、nt,tb_StuResult,tb_Taoti.4.1.2 数据库概念设计通过对网站进行的需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的数据库实体对象分别为“管理员信息” 、 “课程信息” 、 “套题信息” 、 “考生成绩信息” 、 “用户注册信息”等。对网站进行有效地管理就要设置一个或多个管理员,管理员实体包括管理员编号、管理员姓名、管理员密码和注册时间。考试套题实体包括套题名称、所属课程、添加时间等属性。管理员信息实体 E-R 图3和考试套题实体 E-R 图分别如下所示: 管理员管理员编号管理员姓名管理员密码注册时间图 4.1 管理员信息实体 E-R 图 考试套题套题名
12、称所属课程添加时间图 4.2 考试套题实体 E-R 图考生信息实体包括用户名、密码、电子邮件、密码提示问题、密码提示答案等属性。实体 E-R 图如下所示: 考生安全问题加入时间电子邮件用户名密码安全答案图 4.3 管理员信息实体 E-R 图4.1.3 数据库逻辑设计根据在数据库概念设计中给出的数据库实体 E-R 图,设计数据表结构。管理员信息表用于保存管理员信息,tb_Administrator 表的结构如下表所示:表 4.1 tb_Administrator 表的结构字段名称数据类型长度默认值允许空字段描述IDbigint8否唯一标识Namevarchar50否管理员名称PWDvarchar
13、50否管理员密码JoinTimedatetime8Getdate()是加入时间 考生课程信息表用于保存课程信息,tb_Lesson 表的结构如下所示: 表 4.2 tb_Lesson 表的结构字段名称数据类型长度默认值允许空字段描述IDbigint8否唯一标识NameVarchar60是课程名称JoinTimeDatetime8Getdate()是添加时间注册考生信息表用于保存在网站注册的考生信息,tb_Student 表的结构如下所示: 表 4.3 tb_Student 表的结构字段名称数据类型长度默认值允许空字段描述IDBigint8否唯一标识UserNameVarchar20是用户名PW
14、DVarchar20是密码EmailVarchar20是电子邮件QuestionVarchar20是密码问题AnswerVarchar20是密码答案JoinTimedatetime8Getdate()是加入时间考试套题信息表用于保存课程所对应的套题信息,tb_Taoti 表的结构如下所示: 表 4.4 tb_Taoti 表的结构字段名称数据类型长度默认值允许空字段描述IDBigint8否唯一标识NameVarchar50是套题名称LessonIDBigint8是所属课程号JoinTimeDatetime8Getdate()是添加时间考生成绩信息表用于保存考生的考试成绩,tb_StuResult
15、 表的结构如下所示:表 4.5 tb_StuResult 表的结构字段名称数据类型长度默认值允许空字段描述Res_IDBigint8否唯一标识Stu_IDvarchar50是用户名Which_Lessonvarchar50是所属课程名称taotiidBigint8是所属套题编号taotiNamevarchar50是所属套题名称Res_singleInt4是单选成绩Res_moreInt4是多选成绩Res_totalInt4是总成绩Res_subdatedatetime8Getdate()是成绩提交时间考试题目信息表用于保存各套题中所包含的详细考试题目,tb_Questions 表的结构如下所示
16、:表 4.6 tb_Questions 表的结构字段名称数据类型长度默认值允许空字段描述IDBigint8否唯一标识Que_subjectVarchar50是考试题目Que_typeChar10是题目类型Que_joindateDatetime8Getdate()是添加时间Que_lessonidInt4是所属课程号Que_taotiidBigint8是所属套题号OptionAVarchar50是选项 AOptionBVarchar50是选项 BOptionCVarchar50是选项 COptinDVarchar50是选项 DQue_answerchar10是正确答案4.1.4 公共类的编写在
17、网站开发项目中通常以类的形式来组织、封装一些常用的方法和事件,公共类的编写可以减少重复代码的编写,有利于代码维护,在编程过程中可以起到事半功倍的效果。网上考试系统中创建了一个公共类 Datacon,在此公共类中共创建了 6 各方法,具体如下:1. getcon:用来连接在线考试网的数据库,类型为 SqlConnection4。2. eccom:用于执行对数据库操作的 SQL 语句命令,如删除操作命令、修改操作命令等。3. ecadabind:用于将数据库数据绑定到表格控件中。4. ecDropDownList5:用于将数据绑定到下拉列表框中。5. ecadabindinfostring:用于将
18、数据库数据绑定到表格控件中,并获取数据表中的主键字段。6. ExceRead:用于读取数据库中数据,返回一个 SqlDataReader。1.数据库连接的方法数据库连接的方法在此公共类中编写了一个 getcon()方法,该方法用来连接数据库,类型为SqlConnection。代码如下:public SqlConnection getcon() /定义数据库连接字符串 string strCon = Data Source=(local);DataBase=db_Examination;User ID=sa;PWD=sa; /创建一个新的数据库连接 SqlConnection sqlCon =
19、new SqlConnection(strCon); /返回SqlConnection类型的值 return sqlCon; 2.2.执行数据库操作命令的方法执行数据库操作命令的方法在 eccom6方法中,首先传一个 SQL 语句,然后与 SQL Server 数据库建立连接 ,应用 SqlCommand 对象执行所传进来的 SQL 语句,最后应用 try-catch-finally 语句进行异常处理,如果执行该 SQL 语句则返回 true,反之则返回 false。代码如下:public bool eccom(string sqlstr) SqlConnection con=this.get
20、con(); con.Open(); SqlCommand mycommand=new SqlCommand(sqlstr,con); try mycommand.ExecuteNonQuery(); return true; catch return false; finally /关闭数据库连接 con.Close(); 注释:1. SqlConnection 类:SQL Server 数据库一个打开的连接。2. SqlConnection.Open 方法:用于打开数据库连接。3. SqlCommand 类:要对 SQL Server 数据库执行的一个 SQL 语句或存储过程。4. Sql
21、command.ExecuteNonQuery 方法:对连接执行 SQL 语句并返回受影响的行数。3.将数据绑定到表格控件的方法将数据绑定到表格控件的方法在公共类中为了实现该方法,编写了一个 ecadabind(GridView gv,string sqlstr4)方法,用来执行 SQL 语句,返回类型为 bool 型。该方法主要是执行SqlDataAdapter 中的语句,并将其绑定到 GridView 控件上,相应功能执行成功后返回true,否则返回 false。代码如下:public bool ecadabind(GridView gv,string sqlstrl4) /定义新的数据库
22、连接 SqlConnection con = this.getcon(); /打开数据库连接 con.Open(); /定义并初使化数据适配器 SqlDataAdapter mydataadapter7 = new SqlDataAdapter(sqlstrl4,con); /创建一个数据集mydataset DataSet mydataset = new DataSet(); /将数据适配器中的数据填充到数据集中 mydataadapter.Fill(mydataset); /将此数据集作为表格控件的数据源 gv.DataSource=mydataset; try /绑定数据库中数据 gv.
23、DataBind(); /返回这个数据集 return true; catch return false; finally /关闭数据库连接 con.Close(); 4.将数据绑定到下拉列表框的方法将数据绑定到下拉列表框的方法将数据绑定到下拉列表框中主要应用了公共类中的 ecDropDownList(DropDownList DDL,string sqlstr3,string DTF,string DVF)方法。该方法首先传了 4 个值,分别为 DropDownList 控件、SQL 语句、列表项提供的内容字段和列表项提供值;然后与 SQL Server 数据库建立连接,应用 SqlData
24、Adapter 对象填充数据集并指定 DropDownList 控件的数据源;最后设置列表项提供的内容字段和列表项提供值所绑定的数据源,应用 try-catch-finally 语句进行异常处理,如果DropDownList 控件执行 DataBind 方法返回 true,反之则返回 false。代码如下:public bool ecDropDownList(DropDownList DDL, string sqlstr3, string DTF, string DVF) /创建数据库连接 SqlConnection con = this.getcon(); /打开数据库连接 con.Open
25、(); /定义并初使化数据适配器 SqlDataAdapter mydataadapter = new SqlDataAdapter(sqlstr3,con); /创建一个数据集mydataset DataSet mydataset = new DataSet(); /将数据适配器中的数据填充到数据集中 mydataadapter.Fill(mydataset); DDL.DataSource = mydataset; DDL.DataTextField = DTF9; DDL.DataValueField = DVF; try DDL.DataBind(); return true; cat
26、ch return false; finally /关闭数据库连接 con.Close(); 5.5.在表格控件中获取数据主键字段的方法在表格控件中获取数据主键字段的方法在表格控件中获取数据主键字段的方法,主要应用了公共类中的ecadabindinfostring(GridView gv,string sqlstr5,string DNK)方法,该方法与ecadabind 方法类似。该方法用来执行 SQL 语句,返回类型为 bool 型,主要是执行 SqlDataAdapter 中的语句,并将其绑定到 GridView 控件上显示其主键字段的名称,相应功能执行成功后返回 true,否则返回 f
27、alse。代码如下:public bool ecadabindinfostring(GridView gv,string sqlstr5,string DNK) /通过调用公共类中getcon方法,创建一个新的数据库连接对象 SqlConnection con = this.getcon(); /打开数据库连接 con.Open(); /定义并初使化数据适配器 SqlDataAdapter mydataadapter = new SqlDataAdapter(sqlstr5,con); /创建一个数据集mydataset DataSet mydataset = new DataSet(); /
28、将数据适配器中的数据填充到数据集中 mydataadapter.Fill(mydataset); gv.DataSource=mydataset; gv.DataKeyNames = new string DNK ; try gv.DataBind(); return true; catch return false; finally con.Close(); 6.6.数据读取的方法数据读取的方法数据读取方法主要应用到了公共类中的 ExceRead 方法。首先调用公共类中的getcon 方法创建一个新的数据库连接对象,接着创建一个 SqlCommand 命令对象,然后应用该命令对象的 Exec
29、uteReader 方法创建一个数据阅读器,用来读取数据库中的数据,最后返回一个 SqlDataReader 类对象。代码如下:public SqlDataReader ExceRead(string SqlCom) /通过调用公共类中getcon方法,创建一个新的数据库连接对象 SqlConnection con = this.getcon(); con.Open(); /创建一个SqlCommand对象,表示要执行的SqlCom语句或存储过程 SqlCommand sqlcom = new SqlCommand(SqlCom, con); /创建一个数据阅读器,用来读取数据库中数据 Sql
30、DataReader read = sqlcom.ExecuteReader(); return read; 4.2 网页设计4.2.1 网上考试系统登录页面考生和管理员需要通过登录页面进入在线考试网。考生在登录在线考试网之前,首先需要通过登录页面进行注册。为了防止考生忘记密码,提供了密码找回功能。在线考试网登录页面的运行效果如下所示 图 4.4 网上考试系统登录主页面很多情况下,考生会将密码遗忘或丢失,这样就无法登录自己的学生账号,为了避免造成不必要的损失,所以设计了找回密码的功能。找回密码主要分为 3 个页面来完成。页面 1(Findpwd.aspx):输入已注册的用户名;页面 2(Fin
31、dpwdd.aspx):系统会根据输入的用户名把相应的密码问题列出来,然后由考生输入问题答案;页面 3(returnpwd.aspx):如果问题答案正确,则成功找回密码。实现代码:编写后台代码,在 Page_Load 事件中,首先调用随机验证码10,应用验证码技术可以防止用户恶意注册。其事件代码如下:protected void Page_Load(object sender, EventArgs e) SessionStuName = this.txtUserName.Text; if (!IsPostBack) /判断是否首次加载 /调用随机验证码方法 Random rnd = new R
32、andom(); this.labValidate.Text = rnd.Next(1000, 9999).ToString(); 在处理登录页面提交的数据时,首先会根据“管理员登录”复选框的值来判断是否登录管理员页面,如果该复选框被选中则执行核对用户名、密码和验证码而进入管理员页面,否则进入考生页面。输入完相关的用户名、密码和验证码后,单击“确定”按钮,提交登录信息。代码如下:protected void btnLogin_Click(object sender, EventArgs e) /判断验证码是否有误 if(txtValidate.Text!=labValidate.Text) R
33、esponse.Write(alert(验证码有误!);location=javascript:history.go(-1); else /判断是否是管理员登录,如果是则调用getcom方法中的条件1 if(cblAdminLog.Items0.Selected=true) getcom(1); /非管理员登录,调用getcom方法中条件2 else getcom(2); 调用自定义方法 getcom,判断是管理员还是考生:private void getcom(int i) /打开数据库连接,并调用公共类中的getcon方法 SqlConnection con=dataconn.getcon
34、(); /打开数据库连接 con.Open(); /创建一个新的SqlCommand实例对象 SqlCommand com=con.CreateCommand(); switch(i) case 1: com.CommandText=select count(*) from tb_Administrator where Name=+this.txtUserName.Text+and PWD=+this.txtPwd.Text+; /获取SQL语句的值强制转换成数值类型 int count1=Convert.ToInt32(com.ExecuteScalar(); /判断数据库中是否存在数据 i
35、f(count10) ApplicationName=txtUserName.Text; ApplicationPWD=txtPwd.Text; 如果登录成功,则跳转到管理员页面 Page.Response.Redirect(houtai_Default.aspx); else /如果登录失败,则弹出错误信息 Response.Write(alert(用户名或密码有误!);location=javascript:history.go(-1); break; case 2: /设置SqlCommand命令对象的Text文本属性 com.CommandText=select count(*)fro
36、m tb_Student where UserName=+txtUserName.Text+and PWD=+txtPwd.Text+; /定义一个int型变量count2,并返回所查询数据表的第一行第一列 int count2=Convert.ToInt32(com.ExecuteScalar(); if(count20) /应用Application对象保存用户ID及密码 ApplicationUserName=txtUserName.Text; ApplicationPWD=txtPwd.Text; 页面跳转至在线考试页 Page.Response.Redirect(shouye.asp
37、x); else Response.Write(alert(用户名或密码有误!);location=javascript:history.go(-1); return; break; 4.2.2 注册页面要进入在线考试系统,考生首先需要注册一个用户名。单击在线考试系统登录页中的“注册” ,进入考生注册页面。在注册页面中输入考生的基本信息,包括用户名、密码、密码问题、问题答案、电子邮件等。考生注册页面的运行效果如下图所示:图 4.5 网上考试系统考生注册页面另外,考生注册页应用了 AJAX11无刷新检测用户名的技术。AJAX 为 Asynchronous JavaScript and XML 的
38、缩写,用来描述一组技术的集合,囊括 Java 技术、XML 以及 JavaScript 的编程技术,可以构建基于 Java 技术的 web 应用,并打破了使用页面重载的惯例。AJAX,异步 Javascript 与 XML,是使用客户端脚本与 Web12服务器交换数据的Web 应用开发方法。通过 AJAX,Web 页面不用打断交互流程就可以进行重新加载,从而实现动态更新。使用 AJAX,可以创建类似本地桌面 Windows 应用程序。为了防止注册的用户名重复,可以通过单击“检测注册号”按钮进行检测。如下图所示,考生输入注册的用户名后通过检测显示在数据库中无此号,可以注册。图 4.6 检测用户名
39、可以使用检测完考生注册的用户名,并在注册页面中输入正确的信息后,如下图所示,单击“提交”按钮,如果注册成功就将会显示“注册成功” ,并跳转至登录主页面。图 4.7 网上考试系统登录主页面图 4.8 网上考试系统注册成功4.2.3 在线考试页面考生在线答卷时首先需要选择套题,系统需要根据考生提交的课程和套题信息从数据库中获取相应题目,然后通过 DataList13控件显示出来。课程和套题信息是通过Application 变量从上一页中获取的。1.Application 对象对象14Application 对象可称之为记录应用程序参数的对象。Application 对象是 HttpApplicat
40、ionState 类的一个实例,它可以生成一个所有 Web应用程序都可以存取的变量。这个变量的使用范围涵盖全部使用者,只要正在使用这个网页的程序都可以存取这个变量。每个 Application 对象变量都是 Application 集合中的对象之一,由 Application 对象统一管理。使用 Application 对象的相关语法如下:Application“变量”=”变量内容”;Application(“对象名”)=Server.CreateObject(Progld)一个网站可以有不止一个 Application 对象。典型情况下,可以针对个别任务的一些文件创建个别个 Applicat
41、ion 对象。例如,可以建立一个 Application 对象来适用全部公用用户,而再创建另外一个只适用于网络管理员的 Application 对象2.Session 对象对象Session 对象可称之为记录浏览器端的变量对象。Session 对象是 HttpSessionState 类的一个实例,其功能和 Application 对象类似,都是用来存储跨网页程序的变量或者对象,但 Session 对象和 Application 对象有些特性存在着差异。Session 对象只针对单一网页使用者,也就是说各个连接的机器都有各自的 Session 对象,不同的客户端无法互相存取。Applicati
42、on 对象中止于停止 IIS 服务时,而 Session 对象中止于联机机器离线时,也就是当网页使用者关掉浏览器或超过设定的Session 变量的有效时间时,Session 对象就会消失。Session 对象和 Application 对象一样都是 Page 对象的成员,因此可直接在网页中使用。使用 Session 对象存放信息的语法如下:Session“变量名”=”内容”;从会话中读取信息的语法如下:VariablesName=Session“变量名”;Session 对象是与特定用户相联系的。针对某一个用户赋值的 Session 对象是和其他用户的 Session 对象完全独立的,不会相互
43、影响。换句话说,这里面针对每一个用户保存的信息是每一个用户自己独享的,不会产生共享情况。在线考试页的主要功能是允许考生在网站 上针对指定的课程和套题进行考试。在该页中,考试首先需要阅读考试规则,然后选择考试课程和套题;最后进入考试页面进行答题,如下图所示。当考生提交试卷或者到达考试结束时间时,系统将自动对考生提交的试卷进行评分,并给出最终考试成绩。图 4.9 考试规则图 4.10 选择考试课程和套题图 4.11 考试页面4.2.4 后台管理页面首先介绍一下 SQL Server 试图方面的技术分析。1. 视图的概述视图的概述15视图时用户用来查看数据库表中数据的一种常用方式,其作用相当于一个虚
44、拟表。当一些用户需要经常访问数据表中某些字段构成的数据,但从安全角度考虑,又不希望直接接触数据表时,可以利用视图这一数据对象。视图不是数据表,它仅是一些SQL 查询语句的集合,使用时按照不同的要求从数据表中提取不同的数据。视图犹如数据表的窗户,管理员定义这些“窗户”的位置后,用户通过它可以浏览表中的部分或全部数据,视图中数据的物理存放位置在数据库的表中,这些表一般称为视图的基表。2. 视图的创建视图的创建在 SQL Server 中创建视图有 3 种方法:使用创建视图向导、企业管理器或在查询分析器里执行 CREATE VIEW 语句。这里主要介绍在查询分析器里执行 CREATE VIEW 语句
45、。语法格式如下:CREATE VIEW 视图名(视图列名 1,视图列名 2,视图列名 n)对包含 CREATE VIEW 语句的文本加密WITH ENCRYPTIONASSELECT 语句表示对视图所有数据执行修改操作都必须遵守定义视图 SELECT 语句的WHERE 字句所指定的条件WITH CHECK OPTION在后台管理中,有很多信息需要删除,删除信息的代码如下16:protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) GridView1.PageIndex = e.NewP
46、ageIndex; /调用公共类中的ecadabind方法, dataconn.ecadabind(GridView1, Select * From tb_Administrator Where + DropDownList1.SelectedValue + Like % + AdminUserName.Text + %); protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) e.Row.Cells
47、2.Text = Convert.ToString(Convert.ToDateTime(e.Row.Cells2.Text).ToShortDateString(); if (e.Row.RowType = DataControlRowType.DataRow) (LinkButton)(e.Row.Cells4.Controls0).Attributes.Add(onclick, return confirm(确定删除吗?); protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) /调用
48、公共类中的eccom方法,删除管理员信息 dataconn.eccom(delete from tb_Administrator where ID= + GridView1.DataKeyse.RowIndex.Value + ); Page.Response.Redirect(houtai_Default.aspx); 后台管理页面主要包括管理员信息管理、注册学生管理、课程信息管理、套题信息管理、学生成绩管理、考试题目管理、退出系统 7 个模块。管理员信息模块主要是对管理员进行管理,包括添加、删除管理员以及修改管理员密码等。 图 4.12 管理员信息管理页面注册学生管理模块用于管理员管理注册
49、地考生,他们可以通过关键字查询某一个学生,也可以删除某一个学生。图 4.13 注册学生信息管理页面课程信息管理模块主要用来添加和删除课程。添加课程时,只需要在文本框中直接输入名称即可,然后进行添加操作。代码如下:图 4.14 课程信息管理页面考试套题管理页的主要功能包括对考试套题进行添加、查询、修改和删除操作。添加考试套题信息时,需要首先在文本框中输入所添加的套题名称,并在下拉列表框中选择所属课程名,然后再进行添加操作;在考试套题信息列表页面中,可以通过选择不同德 查询条件(如套题名称和所属课程)并输入相应的关键字,来实现查询操作;根据实际需要,还可以实时更新考试套题中的详细信息或者删除考试套
50、题。考试套题管理页面的运行效果如下图所示:图 4.15 套题信息管理页面在考试套题信息“查询”按钮事件中主要应用到了 SQL Server 视图数据处理技术,该页创建的视图名为 kecheng_taoti_view,建立该视图的目的主要是从 tb_Lesson和 tb_Taoti 两张表中检索出包括套题名称、所属课程和加入时间的信息。代码如下:protected void Button1_Click(object sender, EventArgs e) if (TextBox1.Text = ) dataconn.ecadabindinfostring(GridView1, select *
51、 from tb_Taoti ORDER BY ID DESC, ID); else dataconn.ecadabind(GridView1, Select * From kecheng_taoti_view Where + DropDownList1.SelectedValue + Like % + TextBox1.Text + %); 图 4.16 学生成绩管理页面 考试题目管理页的主要功能包括对考试题目进行添加、查询、修改和删除操作。添加考试题目信息时,需要选择所属的考试专业、课程和套题;在考试题目信息列表页面中,可以通过选择不同的查询条件(例如,考题类型、所属课程、所属套题和加入时
52、间)并输入相应的关键字,来实现查询操作;根据实际需要,还可以实时更新考试题目中的详细信息或者删除考试题目。在添加考试题目时,需要考虑该考试属于哪门课程、哪一套题,然后单击页面中的“提交”按钮,进行考试试题的添加。题目插入的代码如下:protected void Button1_Click1(object sender, EventArgs e) if (this.TextBox1.Text != ) SqlConnection con = dataconn.getcon(); con.Open(); string sqlstr1 = select count(*) from tb_Questi
53、ons where Que_subject= + TextBox1.Text.ToString() + ; SqlCommand mycom = new SqlCommand(sqlstr1, con); int intcount = Convert.ToInt32(mycom.ExecuteScalar(); if (intcount 0) Page.Response.Write(alert(对不起!此题目已经添加!);location=timu_Insert.aspx); else string m_strTemp = string.Empty; /读取CheckBoxList 选中的值,保存起来 for (int i = 0; i CheckBoxList1.It
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度教育培训合同服务内容3篇
- 2024年双方不忠离婚财产分配协议3篇
- 2024年公司货车租借协议详细范本
- 2024年专业三方物流协议模板下载版A版
- 二零二四年建筑施工合同与工程进度
- 2024年房屋买卖装修补偿协议3篇
- 资产证券化协议三篇
- 2024版企业仓储物流搬迁合同3篇
- 2024年中国商务部国际商务合作协议模板版
- 露营基地洗车场租赁合同
- 幼儿园主题班会快乐成长点点滴滴课件
- 保税货物报关-保税物流货物概述
- “三防”行动(防冻防凝防静电)专项检查表
- 光伏水泵系统设计
- 《泡菜的制作》课件
- 第1课 《中国人民站起来了》 【知识精讲+拓展延伸】 高二语文高效课堂 (统编版选择性必修上册)
- 公司催货函范文
- 玉米杂交种种子生产技术
- 三维地震数据采集的炮点变观方法
- 彩超机租赁合同
- 有效管理的5大兵法
评论
0/150
提交评论