C语言在线测试系统

更新时间:2024-04-24 21:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

源程序:E-Mail:huier.w@qq.com

某 某 某 某 学 院

毕业设计(论文)

题 目:《C语言程序设计》测试系统

系别: 专业: 班级: 学号: 姓名:

指导教师:

2014 年 5 月 20

毕业设计(论文)

引言 ....................................................................................................................................................................... 3 1 绪 论 ................................................................................................................................................................. 4 1.1课题研究背景与意义 ....................................................................................................................................... 4 1.2 课题调研与可行性分析 ................................................................................................................................... 5

1.2.1 课题调研 .................................................................................................................................................. 5

1.2.2 可行性分析 .............................................................................................................................................. 5 1.3 论文各章内容介绍 ........................................................................................................................................... 6

2系统需求分析 ..................................................................................................................................................... 8 2.1系统功能需求 ................................................................................................................................................... 8 2.2在线测试系统优点 ........................................................................................................................................... 8 3系统总体设计 ................................................................................................................................................... 10 3.1系统总体结构设计 ......................................................................................................................................... 10

3.1.1 登录注册模块 ........................................................................................................................................ 10

3.1.2 学生模块 ................................................................................................................................................ 11 3.1.3 管理员模块 ............................................................................................................................................ 12 3.2系统数据模型设计 ......................................................................................................................................... 14 3.2.1数据概念结构设计——E-R图 .............................................................................................................. 14 3.2.2数据表 ..................................................................................................................................................... 14 3.2.3主要数据表结构 ..................................................................................................................................... 15 3.3 文件夹结构 ..................................................................................................................................................... 18

4开发环境 .......................................................................................................................................................... 19 4.1 网站开发环境 ................................................................................................................................................. 19

4.2.1网站开发工具 ......................................................................................................................................... 19 4.2.2网站开发语言 ......................................................................................................................................... 19 4.2.3网站后台数据库 ..................................................................................................................................... 21 4.2.4开发环境运行平台 ................................................................................................................................. 23 4.2网站运行环境 ................................................................................................................................................. 25 4.2.1服务器端 ................................................................................................................................................. 25 4.2.2客户端 ..................................................................................................................................................... 26

5、管理员用户模块设计实现 ............................................................................................................................. 28 5.1 管理员登录首页 ............................................................................................................................................. 28

5.1.1 管理员登录首页概述 .......................................................................................................................... 28 5.1.2 管理员登录首页技术分析 .................................................................................................................. 28 5.1.3管理员登录首页实现过程 ..................................................................................................................... 29 5.2 试题管理......................................................................................................................................................... 31 5.2.1 章节管理页面 ........................................................................................................................................ 31 5.2.1.1 章节管理页面概述 ........................................................................................................................................... 31 5.2.1.2 章节管理页面技术 ........................................................................................................................................... 31 5.2.1.3 章节管理页面设计实现 ................................................................................................................................... 31

5.2.2 章节添加页面 .......................................................................................................................................... 33

I

毕业设计(论文)

5.2.2.1 章节添加页面概述 ........................................................................................................................................... 33 5.2.2.2 章节管理页面设计实现 ................................................................................................................................... 34

5.2.3 选择修改题库章节页面 .......................................................................................................................... 37

5.2.3.1 选择修改题库章节页面概述 ........................................................................................................................... 37

5.2.4 修改试题页面 .......................................................................................................................................... 39

5.2.4.1 修改试题页面概述 ........................................................................................................................................... 39 5.2.4.2 修改试题页面技术分析 ................................................................................................................................... 39 5.2.4.3 修改试题页面设计实现 ................................................................................................................................... 39

5.2.5 添加试题页面 ........................................................................................................................................ 43 5.2.5.1 修改试题页面概述 ........................................................................................................................................... 43 5.2.5.1 修改试题页面设计实现 ................................................................................................................................... 43

5.3 成绩管理......................................................................................................................................................... 46

5.3.1 查询成绩页面 ........................................................................................................................................ 46 5.3.1.1 查询成绩页面概述 ........................................................................................................................................... 46 5.2.1.2 查询成绩页面技术 ........................................................................................................................................... 46 5.2.1.2 章节管理页面设计实现 ................................................................................................................................... 46

5.3.2 删除成绩页面 .......................................................................................................................................... 49

5.3.1.1 删除成绩页面概述 ........................................................................................................................................... 49 5.2.1.2 查询成绩页面技术 ........................................................................................................................................... 50 5.2.1.2 章节管理页面设计实现 ................................................................................................................................... 50

5.4 帐号管理.......................................................................................................................................................... 52 5.4.1 修改密码页面 .......................................................................................................................................... 52

5.4.1.1 修改密码页面概述 ........................................................................................................................................... 52 5.2.5.1 修改试题页面设计实现 ................................................................................................................................... 52

结 论 ................................................................................................................................................................. 55 致谢 ..................................................................................................................................................................... 56 参 考 文 献 ........................................................................................................................................................ 57

II

院毕业设计(论文)

摘要

随着Internet的流行,教育系统也引进了网络教育方式,其中一个方面就是网上考试系统。本文概述了《C语言程序设计》网上考试系统的设计和实现,运用ASP.NET、C#语言和SQL server2008数据库管理系统设计该系统。其中重点介绍了该系统得在线考试的实现过程:包括系统分析、数据流程分析、数据库设计、系统的运行环境、功能设计、系统实现。本系统主要面向两类人员使用:管理员(教师)、普通学生,他们拥有不同的权限。管理员管理试题,生成试卷。学生登录后选择试卷进入答题,完毕后提交试卷,存入数据库并评分。系统管理员可以查询考生的成绩,每个考生只能查询自己的成绩。在线交流模块中,任何用户都可以登录留言,管理员可以删除留言。另外总结了本系统的特点:节约教学成本,提高考试工作的效率。

关键词

ASP.NET;SQL Server 2008;在线测试系统;C# ;

1

院毕业设计(论文)

Abstract

With the Internet's popularity, the education system also introduce online education, one of

which is online examination system. This article outlines the \Programming Language\Online Examination System designing and implementation, using ASP .NET 、C# language and SQL server2008 database management. The system mainly introduces the process of online examinations, including system analysis, data flow analysis, database designing, the system's operating environment, functional designing and system implementation. The system is mainly used for two types of staff: one is the administrator (teacher), another is regular student. They have different permissions. Administrators can manage and create test papers. Students can select one of the papers and answer it after logging in. Once the papers is submitted, the score will be stored in the database, then system administrators can check results of the candidates. Each candidate can only check their own performances. In the online communication module, any user can log on and leave messages, and the administrator can delete messages. Besides, this paper summes up the characteristics of this system: saving the cost of teaching and improving test efficiency.

Keywords:

ASP.NET;SQL Server 2008;Online test system;C#;

2

院毕业设计(论文)

引言

随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,其中之一是,教师如何通过网络了解学生的学习状况。为此,配合传统课堂教学而建立的在线测试系统就显得相当必要。

测试是教学过程的重要组成部分,是教学评价的主要渠道之一,也是课堂教学中师生互动的重要手段。教师通过课堂测试可以了解学生的学习情况,及时调整教学 进程;学生通过课堂测试可以了解自己的学习情况,及时调整学习方法。在传统教学模式中,一位教师同时面对一个班的所有学生,师生不能及时准确地获得反馈信 息。

目前,虽然在课堂教学中引入多媒体辅助教学手段,但课堂练习仍然采用传统的模式,练习的评价功能并没有充分体现。随着网络技术的不断进步和信息技术的 广泛普及,网络教学与考试系统已经遍布于Internet的每个角落。因此,如何充分利用计算机网络的信息处理、传输功能,构建一个基于网络的在线测试系 统,是我校推进教学改革亟待完成的任务,也是计算机辅助教学领域中的一个重要研究课题。该测试系统基于现代教育理 论和计算机应用理论,给学生提供了一种在线测试的学习方式,希望能激发广大教师和学生的兴趣。相对于传统的课堂测试,利用网络平台开展在线测试具有以下一 些优势:(1)教学活动不受时间和空间的限制,教师和学生可以根据自己的实际情况选择不同的时间段、不同的地点进行自我测试和自我学习;(2)有助于减轻 教师的负担,帮助学生详细了解知识点掌握情况,巩固所学,提高认知和解决问题的能力。

3

院毕业设计(论文)

1 绪 论

1.1课题研究背景与意义

随着计算机网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。

不可否认,网络教学拥有着非常广阔的应用前景,在二次创业的过程当中,辅助教学网络的建设绝对是必经的道路。当今社会,竞争十分激烈,所以就要讲究效率,在线考试系统的建立就是在这样一个背景前提下产生的。

远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。

4

院毕业设计(论文)

1.2 课题调研与可行性分析

1.2.1 课题调研

本系统提供一个在线测试的网站,学生通过在校园网或互联网上访问该网站,学生可以按照教师的建议或各自的计划对所学知识进行自我测验;教师可以通过网站提供的环境对学生的学习情况进行动态管理,并依据网站记录的考试成绩给出对每一位学生客观的综合评价。在线考试系统减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。 1.2.2 可行性分析

可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究工作目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。 ? 社会因素方面的可行性

本系统用于学校测试,无法律和政策方面的限制。 ? 经济方面的可行性

主要是对项目的经济效益进行评价,本系统作为毕业设计选择项目,无需开发经费,并且本系统实施后可以显著提高《C语言程序设计》课程的测试效率,提交教学质量有助于学校实现网络化管理。所以本系统在经济上是可行的。

5

院毕业设计(论文)

? 技术方面的可行性

1、技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。

2、软件方面,网络化测试需要的各种软件环境都已具备,数据库服务器方面则有SQL Server,能够处理大量数据,方便易用。因此,系统的软件开发平台已成熟可行。

3、硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

? 操作方面的可行性

目前,大学的校园网络覆盖了教学区和学生去的主要建筑物,从而满足校内各学院,各职能部门,各直属单位的上网需求。学校良好的网络设施为开发使用无纸化在线 测试系统提供了坚实的基础。

1.3 论文各章内容介绍

第1章绪论阐述了本系统设计的背景及目的;研究状况和相关领域中已有的研究成果;系统的可行性分析。

第2章系统需求分析主要讲述了《C语言程序设计》网上考试系统的功能需求

第3章系统设计主要介绍系统总体结构模型和数据模型设计,包括:E-R图、数据表、数据表结构和文件结构。

第4章描述了系统开发环境,包括:开发工具、开发语言、运行环境等。

6

院毕业设计(论文)

第5章网上测试系统管理员实现,描述该模块系统实现的功能、界面和部分代码。

7

院毕业设计(论文)

2系统需求分析

2.1系统功能需求

《C语言程序与设计》网上测试系统的用户可分为管理员和学生用户两类。 本系统管理员用户和学生用户都是通过一个登录主界面登录。在登录界面选择不同的用户分别跳转到自己用户所对应的子主界面。

本系统主要为两个子主界面组成:一个界面是管理员管理界面,主要负责进行对学生信息、题库、试卷、成绩的管理以及查询等;另外一个界面是学生登录后的界面,主要负责在线考试、查询以往考试成绩和修改密码等。

从总体上考虑,系统应该实现下列功能:

学生用户:在线考试、修改密码、查看成绩、退出系统 管理员:套题管理,学生信息管理、修改密码、成绩管理等。 2.2在线测试系统优点

1、可以创建电子题库,方便实现试题的数字化管理。

所谓题库就是试题的仓库,一个简单的数据库,通过对题库的随机抽取实现自动生成试卷功能。是在线考试系统的最具特色和最有实用价值的模块之一。

2、自动组卷,提高出卷效率。

在线考试系统以电子题库为依托,通过设计开发可以实现自动抽题成试卷,极大地提高了出卷效率。对用天辅助教学和测验有很大帮助。

3、有强大地数据统计分析功能。

在线考试系统与传统的纸上考试相比具有强大的统计功能,原本非常繁琐的手动进行的分析统计计算工作,现在可以在瞬间完成。由于在线测试系

8

院毕业设计(论文)

统从出题、测试到阅卷、统计,完全实现了数字化,不再需要教师手动地将学生成绩、答题情况等详细信息输入计算机,大大减轻了教师的繁重工作。随着社会的不断发展,信息积存和分析提取的日趋重要,考试实现数字化,提高数据存储和分析的能力是不可逆转的潮流,在线考试系统的发展前景是光明的。

9

院毕业设计(论文)

3系统总体设计

3.1系统总体结构设计

3.1.1 登录注册模块

管理员登录 登录注册

学生注册 找回密码 学生登录 功能描述:

? 学生注册

未注册的学生用户无法使用该系统进行网上测试,所以学生用户需要进行注册。注册信息包括学号、姓名、密码、班级,专业等。

? 学生管理员登录

用户登录分为学生用户登录和管理员用户登录两块,通过下拉列表选择登录帐户信息,输入帐号和密码,与数据库中的信息进行对比,输入正确者可以进入到本系统执行在线考试等一系列的功能,错误者将重新输入登录信息。

? 找回密码

学生用户可以单击忘记密码,通过自己的身份证ID来找回密码。

? 学生登录

选择学生登录。然后登录到学生测试系统,可以测试和修改密码等操作。

10

院毕业设计(论文)

3.1.2 学生模块

学生用户 修改密码 在线测试 查询成绩 退出系统

选择章节 在线测试 测试结束 功能描述:

? 修改密码

学生可以通过修改密码功能,输入原来密码和数据库密码相匹配,可以修改密码。

? 在线测试

学生用户在登录本系统成功后,进行在线考试,同时有倒计时,系统在数据库中随机抽取20个相应类型的题,显示出来。在规定的时间内完成试卷的所有试题,系统进行批阅后给予考试成绩。

? 查询成绩

学生用户可以在考试结束后查看成绩,也可以根据自己的用户名查询其所有的历史考试成绩记录,综合的对比出一段时间的学习成果。

? 退出系统

11

院毕业设计(论文)

学生退出系统,然后将会跳转到网站首页。

? 选择章节

学生可以根据章节。名称随机抽题进行测试

? 开始测试

学生进行答题,题型包括单选题、多选题、判断题。

? 测试结果

学生答题结束,提交,系统通过教师指定分数计算、显示成绩。 3.1.3 管理员模块

添 加 学 生信息 修改学生信息 删除学生信息 C语言在线测试后台系统 学生信息管理 学生成绩管理 考试试题管理 修改密码 退出系统 查询学生信息 删除测试成绩 查询测试成绩 删除试题 修改试题 查询试题 添加试题

功能描述:

? 学生信息管理

添加学生信息:通过学生注册和管理员添加,向数据库中写入学生信息。 修改学生信息:管理员可以在数据库中修改学生信息。 删除学生信息:管理员可以从数据库中删除学生信息。

12

院毕业设计(论文)

查询学生信息:管理员可以查看相关学生信息。

? 学生成绩管理

查询成绩:管理员可以通过试题编号,班级,分数等相关信息,查看学生考试成绩。

删除成绩:管理员可以删除选中一条学生成绩记录

? 测试试题管理

添加试题:管理员可以添加一个单元名称后又添加试题,试题分类存储。 删除试题:管理员可以删除一套题中的一个试题。 删除套题:管理员用户可以删除指定单元试题。

查询套题:管理员用户可以查看题库中的所有试题,通过名称查看指定套题信息。

读取试题:系统在数据库中随机抽取20个相应类型的题,显示出来。

? 修改密码

管理员访问数据库,修改密码。

? 退出系统

退出网站并关闭窗口。

13

院毕业设计(论文)

3.2系统数据模型设计

3.2.1数据概念结构设计——E-R图

StuId Id Stu_Id Qu_ZhangJieID Re_Dan Id ZName ZShuoMing Addtime Name Prof Class Sex S_ID Addtime S_Student 1 test N S_StuResult N include 1 S_ZhangJie Password Re_Duo Re_pan Qu_Anser Re_Sum Re_SubTimOptionD 1 N include S_Questions Id OptionC Qu_Wenti Qu_Type Qu_AddTime Qu_ZhangJieid OptionB OptionA 3.2.2数据表

数据表是数据库中一个非常重要的对象,是其他对象的基础。没有数据表,关键字、主键、索引等也就无从谈起。在数据库画板中可以显示数据库中的所有数据表,创建数据表,修改表的定义等。数据表是数据库中一个非常重要的对象,是其他对象的基础。数据表(或称表)是数据库最重要的组成部分之一。数据库只是一个框架,数据表才是其实质内容。 根据信息的分类情况,一个数据库中可能包含若干个数据表。这些各自独立的数据表通过建立关系被联接起来,成为可以交叉查阅、一目了然的数据库。

为减少数据输入错误,并能使数据库高效工作,表设计应按照一定原则对信息进行

14

院毕业设计(论文)

分类,同时为确保表结构设计的合理性,通常还要对表进行规范化设 计,以消除表中存在的冗余,保证一个表只围绕一个主题,并使表容易维护。

数据表概要结构如图3.3

图1 数据表结构图

3.2.3主要数据表结构

本站采用

SQL Server2008 数据库,名称为date,其中包含S_Admin【管理

员信息表】、S_Questions【试卷信息表】、S_Student【学生信息表】、S_StuResult【成绩信息表】、S_Taoti【套题信息表】五张表。

图2 数据表结构说明图

下面分别介绍这些表的结构。 S_Admin(管理员信息表)

管理员信息表用户保存管理员信息,结构见表1。

表1 管理员信息S_Admin 表的结构

字段名称 Id UserName PassWord AddTime 数据类型 bigint varchar varchar datetime 长度 8 50 50 8 允许空 否 否 否 是 字段描述 唯一标识 管理员名称 管理员密码 添加时间 S_Questions(试卷信息表)

考试试卷信息表用于保存各套题中所包含的详细考试题目,结构见表2。

15

院毕业设计(论文)

表2 试卷信息S_Questions 表的结构

字段名称 Id Qu_Wenti Qu_Type Qu_AddTime Qu_ZhangJieid OptionA OptionB OptionC OptionD Qu_Anser 数据类型 bigint varchar char datetime bigint varchar varchar varchar varchar char 8 100 10 8 8 100 100 100 100 10 长度 允许空 否 是 是 是 是 是 是 是 是 是 字段描述 唯一标识 问题 题型 添加时间 章节编号 A选项 B选项 C选项 D选项 答案 S_Student(学生信息表) 用于保存在网站注册的考生信息。

表3 学生信息S_Student 表的结构

字段名称 StuId Name Prof Class Password Sex Addtime S_ID 数据类型 bigint varchar varchar bigint varchar varchar datetime varchar 8 20 20 8 20 2 8 50 长度 允许空 是 是 是 是 是 是 是 是 字段描述 学生学号 学生姓名 专业 班级 密码 性别 添加时间 身份证号码 S_StuResult(学生成绩信息表) 用于保存学生的考试成绩,结构见表4。

表4 学生成绩S_StuResult表的结构

字段名称 Id Stu_Id Qu_ZhangJieID Re_Dan Re_Duo Re_pan Re_Sum Re_SubTime

数据类型 bigint Bigint Bigint int int int int datetime 长度 8 8 8 4 4 4 4 8 16

允许空 否 是 是 是 是 是 是 是 字段描述 唯一标识 所属学生编号 所属章节编号 单选成绩 多选成绩 判断成绩 总成绩 添加时间 院毕业设计(论文)

S_Taoti(套题信息表) 用于保存课程所对应的套题信息

表5 套题信息S_Taoti 表的结构

字段名称 Id ZName ZShuoMing Addtime 数据类型 bigint varchar varchar datetime 长度 8 50 50 8 允许空 否 是 是 是 字段描述 唯一标识 章节名称 章节说明 添加时间 17

院毕业设计(论文)

3.3 文件夹结构

图3 文件结构图

18

院毕业设计(论文)

4开发环境

4.1 网站开发环境

4.2.1网站开发工具

Miccrosoft Visual Studio 2010

Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库。

4.2.2网站开发语言 ASP.NET

ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。 C#

1、C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET

19

院毕业设计(论文)

windows网络框架的主角。

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。[1]

C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。 2.C#与C++的比较

C#对C++进行了多处改进,主要区别如下: ·

编译目标:C++代码直接编译为本地可执行代码,而C#默认编译为中间语言(IL)代码,执行时再通过Just-In-Time将需要的模块临时编译成本地代码。 内存管理:C++需要显式地删除动态分配给堆的内存,而C#不需要这么做,C#采用垃圾回收机制自动在合适的时机回收不再使用内存。

指针:C++中大量地使用指针,而C#使用对类实例的引用,如果确实想C#中使用指针,必须声明该内容是非安全的,不过,一般情况下C#中没有必要使用指针

字符串处理:在C#中,字符串是作为一种基本数据类型来对待的,因此比C++

20

院毕业设计(论文)

中对字符串的处理要简单得多。

库:C++依赖于以继承和模板为基础标准库,C#则依赖于.NET基库。C++允许类的多继承,而C#只允许类的单继承,而通过接口实现多继承。 3.C#与Java的比较 C#面向对象的程度比Java高 C#中的基本类型都的面向对象的 C#具有比Java更强大的功能 C#语言的执行速度比Java快 4.2.3网站后台数据库 SQL Server 2008.

SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。

SQL Server 2008 允许使用 Microsoft .NET 和Visual Studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过 Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据。 SQL Server 2008新特性:

对超过64个内核CPU的支持。在SQL2008中最多只支持64个CPU核,

21

院毕业设计(论文)

现在R2中可以支持256个核了.

提供对硬件资源进行深入监控的仪表、报表之类的,可以帮助用户调优SQL Server,提高硬件资源的发挥和保证系统的健康运行。

SSMS得到了进一步的增强,以提供更多的功能、策略、报表等来帮助用户管理数据库。

提供了主数据服务(MDS),企业中的主数据可以直接通过SQL Server进行管理了。

在BI上进行了加强,新的“data mash up”功能实现了数据的收集、集成,数据集成工作变得更强大更容易;提供了Excel2010的插件用于在Excel中进行数据分析;报表的设计和展示也进行了增强,变得更易上手使用。 对地理空间数据类型进行了增强,支持地理空间可视化。

和SharePoint2010进行了集成,可以通过SharePoint来对分析报表进行共享。同时可以在SharePoint中对SQL Server的策略和BI等进行强大的配置和管理。 本系统数据库版本:

Microsoft SQL Server Management Studio 10.50.1600.1 Microsoft Analysis Services 客户端工具 10.50.1600.1 Microsoft 数据访问组件 (MDAC) 6.0.6001.18000 Microsoft MSXML 3.0 6.0 Microsoft Internet Explorer 7.0.6001.18000 Microsoft .NET Framework 2.0.50727.3053 操作系统 6.0.6001

22

院毕业设计(论文)

4.2.4开发环境运行平台

Windows 7

Windows 7 是由微软公司开发的操作系统。Windows 7 可供家庭及商业工作环境、笔记本电脑、平板电脑、多媒体中心等使用。微软2009年10月22日于美国、2009年10月23日于中国正式发布 Windows 7 ,2011年2月22日发布 Windows 7 SP1。Windows 7 同时也发布了服务器版本——Windows Server 2008 R2。同2008年1月发布的 Windows Server 2008 相比,Windows Server 2008 R2 继续提升了虚拟化、系统管理弹性、网络存取方式,以及信息安全等领域的应用,其中有不少功能需搭配 Windows 7。 版本:

Windows 7 Home Basic(家庭普通版)

Windows 7 Home Basic主要新特性有无限应用程序、增强视觉体验(没有完整的Aero效果)、高级网络支持(ad-hoc无线网络和互联网连接支持ICS)、移动中心(Mobility Center)。缺少的功能:玻璃特效功能;实时缩略图预览、Internet连接共享,不支持应用主题。 Windows 7 Home Premium(家庭高级版)

Windows 7 Home Premium 有Aero Glass高级界面、高级窗口导航、改进的媒体格式支持、媒体中心和媒体流增强(包括Play To)、多点触摸、更好的手写识别等。包含功能:玻璃特效;多点触控功能;多媒体功能;组建家庭网络组。

Windows 7 Professional(专业版)

Windows 7 Professional 替代Vista下的商业版,支持加入管理网络

23

院毕业设计(论文)

(Domain Join)、高级网络备份等数据保护功能、位置感知打印技术(可在家庭或办公网络上自动选择合适的打印机)等。包含功能:加强网络的功能,比如域加入;高级备份功能;位置感知打印;脱机文件夹;移动中心(Mobility Center);演示模式(Presentation Mode)。 Windows 7 Enterprise(企业版)

提供一系列企业级增强功能:BitLocker,内置和外置驱动器数据保护;AppLocker,锁定非授权软件运行;DirectAccess,无缝连接基于Windows Server 2008 R2的企业网络;BranchCache,WindowsServer 2008 R2网络缓存;等等。包含功能:Branch缓存;DirectAccess;BitLocker;AppLocker;Virtualization Enhancements(增强虚拟化);Management (管理);Compatibility and Deployment(兼容性和部署);VHD引导支持。 Windows 7 Ultimate(旗舰版)

拥有Windows 7 Home Premium和Windows 7 Professional的全部功能,当然硬件要求也是最高的 主要功能: 易用

windows 7 启动时的画面Windows 7做了许多方便用户的设计,如快速最大化,窗口半屏显示,跳转列表(Jump List),系统故障快速修复等。 快速

Windows 7大幅缩减了Windows 的启动时间,据实测,在2008年的中低端配置下运行,系统加载时间一般不超过20秒,这比Windows Vista的40余秒相比,是一个很大的进步。

24

院毕业设计(论文)

简单

Windows 7将会让搜索和使用信息更加简单,包括本地、网络和互联网搜索功能,直观的用户体验将更加高级,还会整合自动化应用程序提交和交叉程序数据透明性。 安全

Windows 7包括了改进了的安全和功能合法性,还会把数据保护和管理扩展到外围设备。Windows 7改进了基于角色的计算方案和用户账户管理,在数据保护和坚固协作的固有冲突之间搭建沟通桥梁,同时也会开启企业级的数据保护和权限许可。 Aero特效

windows 7 效果图Windows 7的Aero效果更华丽,有碰撞效果,水滴效果,还有丰富的桌面小工具。这些都比Vista增色不少。但是,Windows 7的资源消耗却是最低的。不仅执行效率快人一筹,笔记本的电池续航能力也大幅增加。

4.2网站运行环境

4.2.1服务器端

操作系统:Windows 7 、windows Server 2008 等 Web服务器:IIS 6.0以上版本 数据库服务器:SQL Server 2008 浏览器:IE6.0以上

网站服务器运行环境:Microsoft.NET Framework SDK v4.0

25

院毕业设计(论文)

4.2.2客户端

浏览器:Internet Explorer 6.0以上版本。 Internet Explorer,原称

Microsoft Internet Explorer(6版本以前)

和Windows Internet Explorer(7,8,9,10版本),简称IE(以下如无特殊说明,所有涉及Microsoft Internet Explorer或Windows Internet Explorer的名称均用简称IE表示)。在IE7以前中文直译为“网络探路者”,但在IE7以后便直接俗称\浏览器\。是美国微软公司推出的一款网页浏览器。IE开发计划开始于1994年夏天,微软为抵抗当时主流的网景Netscape Navigator,要在Windows中开发适合自己的浏览器,但微软并没有时间从零开始。因此和Spyglass合作,于是IE从早期一款商业性的专利网页浏览器Spyglass Mosaic派生出来,虽然Spyglass Mosaic与NCSA Mosaic(首款应用得最广泛的网页浏览器)甚为相似,但Spyglass Mosaic则相对地较不出名并使用了NCSA Mosaic少量的源代码。1996年,微软通过给予季度费用和部分收入从Spyglass中取得了Spyglass Mosaic的源代码和授权。从而使IE逐渐成为微软专属软件。它采用的排版引擎(俗称内核)为Trident。每一次新的IE版本发布,也标志着Trident内核版本号的提升。

Trident引擎被设计成一个软件组件(模块),使得其它软件开发人员很容易的将网页浏览的功能加到他们自行开发的应用程序里。微软提出了一个称为组件对象模型(COM)的软件接口架构。供其它支持的组件对象模型开发环境的应用程序存取及编辑网页。例如,由C++或.NET所撰写的程序可以加入浏览器控件里,并透过Trident引擎存取当前显示在浏览器上的网页内容及网页的

26

院毕业设计(论文)

各种元素的值,从浏览器控件触发的事件亦可被程序捕获并进行处理。Trident引擎所提供的所有函数存放在动态链接库mshtml.dll中。 最初的几个IE均以软件包的形式单独为相应的Windows提供选择安装,从IE4开始,IE集成在所支持的最新版Windows中作为默认浏览器,并且为其能支持的早期的Windows提供安装程序进行升级(唯一的例外是IE9,并未在其支持的Windows Vista和Windows 7中集成,而后继的Windows 8直接集成IE10,当然由于Windows Vista和Windows 7强大的部署映像管理工具,用户可以将IE9的安装程序整合进install.wim中,但这并不是真正的集成,只能算升级更新覆盖,因为仍可以在已安装的更新中找到新版IE的\痕迹\,并且可以被卸载)。

除了作为Windows默认浏览器外,IE2-IE6均支持苹果Mac OS/OS X,而IE4和IE5更是支持过X Window System Solaris和HP-UX UNIX。不过自IE7以后仅支持Windows。此外,没有任何IE支持移动终端,移动终端上的IE实际上是Internet Explorer Mobile(简称IE Mobile),虽然名字上多了Mobile,但IE Mobilie其实是采用完全不同的内核。

27

院毕业设计(论文)

5、管理员用户模块设计实现

5.1 管理员登录首页

5.1.1 管理员登录首页概述

首先管理员通过网站首页登录后,跳转到管理员管理首页。然后管理员可

以通过站点导航对各个功能进行管理。管理页面效果图如下:

图4 管理员登录首页运行效果图

5.1.2 管理员登录首页技术分析

该网站主要技术就是站点地图。该页面主要使用TreeView控件

站点地图是以一个以.sitemap为扩展名的文件,默认名为Web.sitemap,并且存储在应用程序的根目录下。.sitemap文件是经XML描述的树状结构文

28

院毕业设计(论文)

件,其中包括站点结构信息。Tree、Menu和SiteMapPath 控件的网站导航信息和超链接的数据有.sitemap文件提供的。 TreeView 控件功能:

支持数据库绑定。允许将控件的节点绑定到分层数据库(如XML、表格等) 与SiteMapDataSource控件集成,实现站点导航功能 节点文字可显示为普通文本或超链接文本 可自定义树形和节点样式、主题和外观

可以通过编程方式访问TreeVice对象模型,完成动态创建树形结构、构建节点和设置属性等任务。

在客户端浏览器支持下的情况下,通过客户端到服务器的回调填充节点 具有在节点显示复选框功能 5.1.3管理员登录首页实现过程 1、设计步骤

(1)、在应用程序下创建一个文件夹,名称为S_Admin。

(2)、在S_Admin文件下创建一个Web窗体,将其命名为Admin.aspx.选择母版页,名称为MasterPage.master。

(3)、 在工具箱“数据”选项卡中拖出一个SiteMapDataSource 控件,和在“导航”选项卡中拖出一个TreeVice控件。

表6 Admin.aspx.页面主要用到的控件

控件类型 SiteMapDataSourc e1

空间名称 TreeView1 主要属性 DataSourceID属性设置SiteMapDataSource1\无 控件用途 显示站点导航 与TreeView配合使用完成站点导航 29

院毕业设计(论文)

2、实现代码

(1)、Web.sitemap文件代码

30

院毕业设计(论文)

5.2 试题管理

5.2.1 章节管理页面

5.2.1.1 章节管理页面概述

章节管理页面主要功能包括对章节进行修改,删除操作,管理可以通过删

除按钮删除章节,通过编辑按钮可以对该条记录进行修改。章节管理页面效果图如下:

图5 章节管理运行效果图

5.2.1.2 章节管理页面技术

该页面主要用到ASP.NET 4.0 的GridView控件把章节有关的信息显示出来。在每条信息记录后面设置执行修改、删除功能的超链接按钮。每次跳转到本页面时,程序都会自动执行后台Page_Load页面加载事件中的SQL语句。将检索到的信息数据通过GridView控件显示出来。

5.2.1.3 章节管理页面设计实现

31

院毕业设计(论文)

1、设计步骤

(1)、在S_Admin 文件夹下面,创建一个Web窗体,将其命名为Admin_ZhangJie_QCD.aspx ,使用母版,用于章节管理。

(2)、 在工具箱“数据”选项卡中拖出一个SiteMapDataSource 控件,和在“导航”选项卡中拖出一个TreeVice控件。主要用于站点导航。 (3)、在“数据”选项卡中拖出一个GridView控件。用于显示章节信息。

表7 Admin_ZhangJie_QCD.aspx.页面主要用到的控件

控件类型 SiteMapDataSou rce1 GridView1 空间名称 TreeView1 主要属性 DataSourceID属性设置SiteMapDataSource1\无 AutoGenerateColumns属性设置为False(取消自动生成列) 控件用途 显示站点导航 与TreeView配合使用完成站点导航 2、实现代码 (1)、编辑按钮

管理员用户通过单击“编辑” 按钮功能。可以对该条记录进行修改。

//****************************************************************| //更新按钮功能实现

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) {

//取得编辑行的关键字段的值

string Id = GridView1.DataKeys[e.RowIndex].Value.ToString(); //取得文本框中输入的内容

string Name = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString(); string ZSuoMing =

((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString();

string Addtime = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString();

string sqlStr = \

\

32

院毕业设计(论文)

SqlConnection myConn = db.GetCon(); myConn.Open();

SqlCommand myCmd = new SqlCommand(sqlStr, myConn); myCmd.ExecuteNonQuery(); myCmd.Dispose(); myConn.Close();

GridView1.EditIndex = -1;

db.BindGridView(GridView1, sqlG); }

(2)、删除按钮

管理员用户通过单击“删除” 按钮功能。可以删除该条记录。

//****************************************************************| //删除按钮功能实现

protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) {

string Id = GridView1.DataKeys[e.RowIndex].Value.ToString();

//取得编辑行的关键字段的值 string sqlStr = \ SqlConnection myConn = db.GetCon(); myConn.Open();

SqlCommand myCmd = new SqlCommand(sqlStr, myConn); myCmd.ExecuteNonQuery(); myCmd.Dispose(); myConn.Close();

GridView1.EditIndex = -1;

db.BindGridView(GridView1, sqlG); }

5.2.2 章节添加页面

5.2.2.1 章节添加页面概述

章节添加页面主要功能是用户想添加一个新的章节,可以通过本页面实现该功能。在添加章节页面中输入章节基本信息,包括章节ID,章节名称,章节说明等。章节添加页面效果图如下:

33

院毕业设计(论文)

图6 添加章节运行效果图

5.2.2.2 章节管理页面设计实现

1、设计步骤

(1)、在S_Admin 文件夹下面,创建一个Web窗体,将其命名为Admin_ZhangJie_Add.aspx ,使用母版,用于添加章节。

(2)、 在工具箱“数据”选项卡中拖出一个SiteMapDataSource 控件,和在“导航”选项卡中拖出一个TreeVice控件。主要用于站点导航。

(3)、在工具箱“标准”选项卡中拖出3个Button按钮控件,和3个TextBox文本框控件。

表 8 Admin_ZhangJie_Add.aspx.页面主要用到的控件

控件类型 空间名称 TreeView1 主要属性 DataSourceID属性设置SiteMapDataSource1\控件用途 显示站点导航 SiteMapDataSour无 与TreeView配合使用完成站点航 ce1 34

院毕业设计(论文)

续表

控件类型 空间名称 JC_ID Z_QueRen Z_QuXiao Z_Id Z_ZName Z_ZShuoMing 主要属性 Text的属性设置为“检查” Text的属性设置为“确认” 控件用途 用户检查章节ID是否存在 用于添加章节 Text的属性设置为“清空” 用于清空文本框内容 无 无 无 用户输入章节ID 用户输入章节名称 用户输入章节说明 2、代码实现 (1)、检查按钮

//****************************************************************| //名 称:CheckZhangJie_ID

//功 能:检查用户输入章节ID是否存在 //返回值:int 型-1【用户存在】 2【不存在】

//****************************************************************| public int CheckZhangJie_ID() {

//实例化公共类对象 DB db = new DB();

string str = \ try {

DataTable dt = db.reDt(str);

if (dt.Rows[0][0].ToString() != \ {

return -1;//该ID已经存在 } else {

return 2;//该ID尚未注册 } }

catch (Exception ee) {

return 0; } }

//****************************************************************| //检查按钮实现功能

protected void JC_Id_Click(object sender, EventArgs e)

35

院毕业设计(论文)

{

reValue = CheckZhangJie_ID(); //查找ID是否存在,已经存在返回-1,不存在返回2 if (reValue == -1) {

Response.Write(\章节ID存在!');\ }

else if (reValue == 2) {

Response.Write(\恭喜您!可以添加该ID!');\ }

(2)、确认按钮

//****************************************************************| //确认按钮功能实现

protected void Z_QueRen_Click(object sender, EventArgs e) {

string ZJ_ID = this.Z_Id.Text;

string ZJ_ZName = this.Z_ZName.Text;

string ZJ_ShuoMing = this.Z_ShuoMing.Text;

if (ZJ_ID != \ {

DB db = new DB();

string cmdstr = \into S_ZhangJie(Id,ZName,ZShuoMing) values ('\+ ZJ_ID + \

//INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) int Vlaue = db.sqlEx(cmdstr); //返回值为1 if (Vlaue == 0) {

Response.Write(\添加失败')\ } else {

Response.Write(\添加成功')\ } } else {

Response.Write(\章节ID 或章节名称不能为空')\ } }

36

院毕业设计(论文)

(3)、清空按钮

protected void Z_ClearNul_Click(object sender, EventArgs e) {

this.Z_Id.Text=\

this.Z_ZName.Text=\ this.Z_ShuoMing.Text=\ }

5.2.3 选择修改题库章节页面

5.2.3.1 选择修改题库章节页面概述

管理员要对题库进行修改,管理员通过选择修改题库章节页可以选择自己要对某一章的题进行修改,和删除某一道题和几道题。选择修改题库章节页面效果图如下:

图7 修改试题选择章节运行效果图

5.2.3.2 选择修改题库章节页面设计实现

1、设计步骤

(1)、在S_Admin 文件夹下面,创建一个Web窗体,将其命名为Admin_Que_Select.aspx ,使用母版,用于添加章节。

37

院毕业设计(论文)

(2)、 在工具箱“数据”选项卡中拖出一个SiteMapDataSource 控件,和在“导航”选项卡中拖出一个TreeVice控件。主要用于站点导航。 (3)、在工具箱“标准”选项卡中拖出1个Button按钮控件,和1个DropDownList文本框控件。

表9 Admin_Que_Select.aspx.页面主要用到的控件

控件类型 空间名称 TreeView1 主要属性 DataSourceID属性设置SiteMapDataSource1\无 Text的属性设置为“查询” 无 控件用途 显示站点导航 SiteMapDataSource1 Stu_Find ZhangJie_Select 与TreeView配合使用完成站点航 用户查询选择的章节 用于选择要修改的章节 2、代码实现

(1)、下拉列表框值的绑定

protected void Page_Load(object sender, EventArgs e)

{

DB db = new DB(); if (!IsPostBack) {

string sql = \、

'+CONVERT(nvarchar,ZShuoMing )GYao FROM [S_ZhangJie] where Id in (select Qu_ZhangJieid from S_Questions)\

db.ecDropDownList(ZhangJie_Select, sql, \ } }

(2)、查询按钮

//************************************************************* //查询按钮按钮功能实现

protected void Stu_Find_Click(object sender, EventArgs e) {

Session[\ //将用户选择的章节号存入Session变量

38

院毕业设计(论文)

Response.Redirect(\ //跳转到主页 }

5.2.4 修改试题页面

5.2.4.1 修改试题页面概述

管里员可以通过选择要修改的章节,对章节里的题,进行修改和删除操作。这样是对题库管理更灵活。运行效果图如下:

图8 修改试题运行效果图

5.2.4.2 修改试题页面技术分析

该页面主要使用数据控件Datalist,DataList控件可以使用模版与定义

样式来显示数据,并可以进行数据的选择、删除和编辑。首先将数据与DataList控件绑定,通过DataList控件显示数据。然后在选择要班级的数据。

5.2.4.3 修改试题页面设计实现

1、设计步骤

(1)、在S_Admin 文件夹下面,创建一个Web窗体,将其命名为

39

院毕业设计(论文)

Admin_Que_QCD.aspx ,使用母版,用于添加修改试题。

(2)、 在工具箱“数据”选项卡中拖出一个SiteMapDataSource 控件,和在“导航”选项卡中拖出一个TreeVice控件。主要用于站点导航。

(3)、在工具箱“数据”选项卡中拖出1个DataList按钮控件,打开DataList控件的项模版编辑模式。在ItemTemplate模版中添加6个Lable控件,2个Button 控件。在EditItemTemplate模版中添加6个TextBox控件,2个Button控件。设计效果图如下:

图9 DataList设计效果图

40

院毕业设计(论文)

表10 Admin_Que_QCD.aspx.页面主要用到的控件

控件类型 空间名称 TreeView1 SiteMapDataSource1 btnUpdate btnCancel btnEdit btnDelete Q_WT O_A O_B O_C O_D Q_Anser 主要属性 DataSourceID属性设置SiteMapDataSource1\无 控件用途 显示站点导航 与TreeView配合使用完成站点航 确定更改试题 取消更改试题 进入更改试题 删除试题 显示问题 显示A答案 显示B答案 显示C答案 显示D答案 显示答案

Text的属性设置为“更新” CommandName属性\Text的属性设置为“取消” CommandName属性\Text的属性设置为“编辑” CommandName属性\Text的属性设置为“删除” CommandName属性\Text属'<%#Eval(\Text属性'<%#Eval(\Text属性'<%#Eval(\Text属性'<%#Eval(\Text属性'<%#Eval(\Text属'<%#Eval(\ 2、代码实现

(1)、将数据绑定到DataList

//****************************************************************| //名 称:bind

//功 能:执行SQL语句并将数据绑定到Datalist控件 //参 数:NUll //返回值:NULL

//****************************************************************| public void Bind( ) {

string TaoID = (string )Session[\获取章节选择页面选定的的章节号 SqlConnection myConn = db.GetCon();

string str = \S_Questions where Qu_ZhangJieID = '\ SqlDataAdapter myadapter1 = new SqlDataAdapter(str, myConn); DataSet myds1 = new DataSet(); myadapter1.Fill(myds1);

DataList1.DataSource = myds1; //获取数据原 DataList1.DataBind(); //数据绑定

41

院毕业设计(论文)

}

(2)、更新按钮

//************************************************************* //更新按钮按钮功能实现

protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e) {

int Id = Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex].ToString()); //取得文本框中输入的内容

string Qu_Wenti = ((TextBox)e.Item.FindControl(\ string OptionA = ((TextBox)e.Item.FindControl(\ string OptionB = ((TextBox)e.Item.FindControl(\ string OptionC = ((TextBox)e.Item.FindControl(\ string OptionD = ((TextBox)e.Item.FindControl(\ string Q_Anser = ((TextBox)e.Item.FindControl(\

string sqlStr = \OptionA + \\ SqlConnection myConn = db.GetCon (); myConn.Open();

SqlCommand myCmd = new SqlCommand(sqlStr, myConn); myCmd.ExecuteNonQuery(); myCmd.Dispose(); myConn.Close();

DataList1.EditItemIndex = -1; //取消编辑状态 Bind(); }

(3)、删除按钮

//************************************************************* //删除按钮按钮功能实现

protected void DataList1_RowDeleting(object sender, DataListCommandEventArgs e) {

int Id = Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex].ToString()); //取得编辑行的关键字段的值

string sqlStr = \ //删除SQL语句 SqlConnection myConn = db.GetCon(); //链接数据库 myConn.Open(); //打开数据库 SqlCommand myCmd = new SqlCommand(sqlStr, myConn);

myCmd.ExecuteNonQuery(); //检查数据库是否有变化 myCmd.Dispose();

myConn.Close(); //关闭数据库 DataList1.EditItemIndex = -1;

Bind(); //将数据从新绑定到Datalist控件 }

42

院毕业设计(论文)

5.2.5 添加试题页面

5.2.5.1 修改试题页面概述

管里员要添加试题,可以通过添加试题页面,完成对试题的添加,管理通过登录后,在管理员页面有个添加试题功能,进入添加试题页面,输入问题,和答案选项,正确答案,选择章节、题型等。添加试题运行效果图如下:

图10 添加试题运行效果图

5.2.5.1 修改试题页面设计实现

1、设计步骤

(1)、在S_Admin 文件夹下面,创建一个Web窗体,将其命名为Admin_Que_AddQ.aspx ,使用母版,用于添加添加试题。

(2)、 在工具箱“数据”选项卡中拖出一个SiteMapDataSource 控件,和在“导航”选项卡中拖出一个TreeVice控件。主要用于站点导航。

(3)、在工具箱“标准”选项卡中拖出6个TextBox控件,2个Button 控件,2个DropDownList控件

43

院毕业设计(论文)

表11 Admin_Que_AddQ.aspx.页面主要用到的控件

控件类型 SiteMapDataSource1 QueRen ClearNull Q_WenTi Q_Da_A Q_Da_B Q_Da_C Q_Da_D Q_DaAn Q_type Q_ZhangJie 空间名称 TreeView1 主要属性 DataSourceID属性设置SiteMapDataSource1\无 控件用途 显示站点导航 与TreeView配合使用 完成站点航 确定添加试题 清空文本框值 输入问题 输入A答案 输入B答案 输入C答案 输入D答案 输入答案 选择题型 选择章节 Text的属性设置为“确认” Text的属性设置为“清空” Text属性'<%#Eval(\Text属性'<%#Eval(\Text属性'<%#Eval(\Text属性'<%#Eval(\Text属性'<%#Eval(\Text属'<%#Eval(\无 2、代码实现 (1)、确认按钮

//************************************************************* //确认按钮按钮功能实现

protected void QueRen_Click(object sender, EventArgs e) { DB db = new DB();

string WenTi = this.Q_Wenti.Text; //获取用户输入的数据 string Type = this.Q_Type.Text;

string ZhangJ = Q_ZhangJie.SelectedValue;

string OP_A = this.Q_Da_A.Text; string OP_B = this.Q_Da_B.Text; string OP_C = this.Q_Da_C.Text; string OP_D = this.Q_Da_D.Text; string Op_DaAN = this.Q_DaAn.Text;

if (WenTi != \ //判断文本框是否为NULL {

string cmdstr = \

S_Questions(Qu_Wenti,Qu_Type,Qu_ZhangJieID,OptionA,OptionB,OptionC,OptionD,Qu_Anser) values('\+ \ //写入数据库的SQL语句 try

44

院毕业设计(论文)

{

int abc = db.sqlEx(cmdstr); //判断数据库的行是否变化 if (abc == 1) {

Response.Write(\添加成功!');\ }

else if (abc == 0) {

Response.Write(\注册失败!');\ } }

catch (Exception ee) {

Response.Write(\注册失败!!!!!!!');\ } } else {

Response.Write(\所填写信息不能为空');\ //注册时如果有文本框值为NULL是不能成功注册,则提示 } }

(2)、下拉列表框绑定

string sql = \、'+CONVERT(nvarchar,ZShuoMing )GYao FROM [S_ZhangJie]\ //SQL语句拼接ZName和ZShuoMing字段

db.ecDropDownList(Q_ZhangJie, sql, \ //章节名称下拉列表框数据库绑定

(3)、清空按钮

protected void Clear_Click(object sender, EventArgs e) {

Clear(); //将文本框内容清空 }

//************************************************************* //清空按钮按钮功能实现 public void Clear() {

this.Q_Wenti.Text=\ this.Q_Da_A.Text=\ this.Q_Da_B.Text=\ this.Q_Da_C.Text=\ this.Q_Da_D.Text=\ this.Q_DaAn.Text=\}

45

院毕业设计(论文)

5.3 成绩管理

5.3.1 查询成绩页面

5.3.1.1 查询成绩页面概述

查询页面主要功能是对学生测试成绩进行查看,可以按照成绩分数段和专业、班级、姓名、学号等方式查询学生测试成绩。查询成绩页面效果图如下:

图11 查询成绩运行效果图

5.2.1.2 查询成绩页面技术

该页面主要用到ASP.NET 4.0 的GridView控件把学生成绩有关的信息显示出来。用可以根据选择条件进行查询数据。

5.2.1.2 章节管理页面设计实现 1、设计步骤

(1)、在S_Admin 文件夹下面,创建一个Web窗体,将其命名为Admin_Score_Find.aspx ,使用母版,用于查询学生成绩。

46

院毕业设计(论文)

(2)、 在工具箱“数据”选项卡中拖出一个SiteMapDataSource 控件,和在“导航”选项卡中拖出一个TreeVice控件。主要用于站点导航。

(3)、在“数据”选项卡中拖出一个GridView控件。用于显示学生成绩信息。 (4)、在“标准”选项卡中拖出3个DropDownList控件、1个TextBox控件、1个Button控件

表12 Admin_Score_Find.aspx页面主要用到的控件

控件类型 SiteMapDataSource1 Stu_Find Stu_Tiaoj ZhangJ_Select ChengJ_Select GridView1 空间名称 TreeView1 主要属性 DataSourceID属性设置SiteMapDataSource1\无 控件用途 显示站点导航 与TreeView配合使用 完成站点航 选择关键字查询条件列 选择查询章节 选择分数段 用于显示学生成绩信息 Text的属性设置为“查询” 查询数据 无 Pagesize属性设置为\AllowPaging属性设置为\ 2、代码实现

(1)、绑定数据到GridView控件

//****************************************************************| //名 称:GridViewBind

//功 能:数据绑定到GridView控件 //返回值:NULL

//****************************************************************| public void GridViewBind( ) {

SqlConnection myConn = db.GetCon();

string Stu_TiaoJ = this.Stu_Tiaoj.Text; string Stu_GuanJZ = this.GuanJZ.Text;

string Stu_ZhangJ = ZhangJ_Select.SelectedValue;

int Select_SUM = Convert.ToInt32(this.ChengJ_Select.Text); switch (Select_SUM)

47

本文来源:https://www.bwwdw.com/article/t9gp.html

Top