-
论文编号
:
试卷管理系统的设计与实现
——
管理员及题库维护模块的实现
The Design and Realization of Paper
Management
System
——
The
Realization
of
Administrator
and
Question
Bank
Maintenance
Module
摘要
在以
往教师想出一份试卷,就得手动的查阅题库或查找相关书籍,然后手动的生成试
卷。这样
即费时又费力,而且很难保证试题的覆盖面和把握好试卷的难度。开发本软件正
是为了能
够帮助教师轻松的出一份高质量的试卷。
试卷管理系统是为教
师开发的一个试卷管理工具。本系统的设计是基于
.NET
技术
平
台,采用
数据访问技术和相关性能优
化技术,利用
C#.NET
语言设计实现,以
< br>SQL Server 2000
作为后台数据库的管理系统,系统架构则是当前
较为流行的
B/S
模式。
本软件实现了以下主要功能:
1.
登录;
2.
专业管理;
3.
科
目管理;
4.
教师管理;
5.
题型
管理;
6.
选课管
理;
7.
信息管理;
8.
章节管理;
9.
题库管理;
10.
生成试卷。测试表明本软件
在
W
indows
平台运行稳定,并能够顺利生成
word
类型的试卷,基本达到了预期的要求!
关键词:
试卷管理;
数据库;
C#
;
B/S
I
/
75
Abstract
In the past, teachers come up with a
paper, you have to manually access question bank
or
find relevant books, and then
manually create paper. Time-consuming and also
strenuous like
this, and very difficult
to guarantee coverage rate and paper degree of
difficulty of examination
question.
Development of this software is easy to be able to
help teachers out of a high-quality
papers.
Paper management
system is a paper management tool developed for
design of
the system is based on the
technology platform of .NET,using data access
technology of
ADO
.NET and
related performance optimization ’s brought about
by language
design of C#.NET,using SQL
Server 2000 as the management system of back-end
database,and
the system architecture is
the more popular B/S mode in the current.
These functions of this website are as
follows: One. Log; Two. Professional manage;
Three.
Subject manage; Four. Teacher
manage; Five. Questions in management; Six.
Elective manage;
Seven. Information
manage; Eight. Chapter manage; Nine. examination
manage; Ten. create
paper. Tests show
that the software runs in Windows platform,
stable, and able to successfully
generate word types of paper, it is
basic reach the requests.
Key
words:
Paper Management;
Database;
C#;
B/S;
目
录
摘要
.........................
..................................................
........................................
I
Abstract
.
.................................
..................................................
...................... II
目
录
...
..................................................
..................................................
..
I
II
第
1
章
引言
..............
..................................................
.......................................
1
1.1
开发背景
................................................ ..................................................
1
1.2
研究意义
................................................ ..................................................
1
1.3
发展现状
................................................ ..................................................
2
1.4
系统构建
................................................ ..................................................
2
第
2
章
需求分析
............
..................................................
.................................
4
2.1
系统的功能和特点
.
..............................................
.................................
4
2.1.1
系统功能
............
..................................................
...........................
4
2.1.2
系统特点
............
..................................................
...........................
5
2.2
功能需求
............
..................................................
..................................
6
2.2.1
试卷管理系统结构图
.
.............................................
.......................
6
2.2.2
功能描述
.............................................
............................................
7
2.3
开发环境
................................................ ..................................................
8
2.3.1 Visual
Studio 2005
概述
.............
..................................................
..
8
2.3.2
SQL
Server2000
概述
....
..................................................
..............
9
2.3.3 C#
介绍
......
..................................................
...................................
1
0
第
3
章
总体设计
............
..................................................
...............................
1
1
3.1
系统功能分析
..........
..................................................
..........................
1
1
3.1.1
功能划分
.............................................
..........................................
1
1
3.1.2
功能模块图
.
................................
..................................................
1
1
3.2
数据库总体设计
.........
..................................................
.......................
1
2
3.2.1
关系
E-R
图
..................................................
..................................
1
2
3.2.2
数据表的设计
.
...............................
...............................................
1
4
第
4
章
详细设计
............
..................................................
...............................
1
8
4.1
类的设计
............
..................................................
................................
1
8
4.1.1
数据操作类
SQLHelper .............
..................................................
.
1
8
4.1.2
逻辑处理类
Services ..............
..................................................
.....
1
9
III
/
75
4.1.3
常用函数类
Functions
..
..................................................
...............
2
0
4.2
题库维护模块的实现
.
...............................
............................................
2
0
4.2.1
修改选择题
.
................................
..................................................
2
1
4.2.2
修改填空题
.
................................
..................................................
2
3
4.2.3
修改简述题
.
................................
..................................................
2
4
4.2.4
修改设计题
.
................................
..................................................
2
5
4.3
专业管理模块的实现
.
.............................................
............................
2
6
4.3.1
添加专业功能
.
...............................
...............................................
2
6
4.3.2
编辑专业功能
.
...............................
...............................................
2
7
4.4
科目管理模块的实现
.
...............................
............................................
2
8
4.4.1
添加科目功能
.
................................
................................................
2
8
4.4.2
编辑科目功能
.
................................
................................................
2
9
4.5
教师管理模块的实现
.
...............................
............................................
3
0
4.5.1
添加教师功能
.
................................
................................................
3
0
4.5.2
编辑教师功能
.
................................
................................................
3
1
4.6
题型管理模块的实现
.
...............................
............................................
3
2
4.6.1
添加题型功能
.
................................
................................................
3
2
4.6.2
编辑题型功能
.
................................
................................................
3
3
第
5
章
系统测试
............
..................................................
...............................
3
5
5.1
测试的目的和原则
.
................................
...............................................
3
5
5.2
测试方法
................................................ ................................................
3
5
5.3
测试过程
............
..................................................
................................
3
6
5.3.1
题库维护测试
.
...............................
...............................................
3
6
5.3.2
专业管理测试
.
................................
................................................
4
1
5.3.3
科目管理测试
.
...............................
...............................................
4
3
5.3.4
教师管理测试
.
................................
................................................
4
3
5.3.5
题型管理测试
.
................................
................................................
4
3
第
6
章
结
论
p>
.........................................
..................................................
........
4
4
6.1
总结
...........
..................................................
...........................................
4
4
6.2
心得体会
................................................ ................................................
4
4
致
谢
..
..................................................
.............................
错误
!
未定义书签。
参考文献
............
..................................................
...........................................
4
5
附
录
..
..................................................
..................................................
.........
4
6
附录
A:
附加图、表
...........
..................................................
......................
4
6
附录
B:
主要源程序
......................
..................................................
...........
4
7
附录
C:
软件使用说明书
....................
..................................................
.....
6
8
V
/
75
第
1
章
引言
1.1
开发背景
随着计算机技术的不断发展,
它被更广泛地应用在我国的各行各业中。
近年来,
国家高等教育事业的大力发展,
高校招生规模的逐年扩大,
专业设置的增加,
对
学校教学质量监控提出了更高的要求,尤其是各个学校试题管理的复杂性和要求统
计分析的及时性,
使传统的管理方式有着不可克服的困难。
但
随着计算机进入学校,
计算机辅助教育在教育系统中的应用,
使得我们解决起这些问题来又变得轻而易举。
给教育改革带来美
好的前景。
近几年来,很多高等院校研究和开发了试卷管理系
统,计算机辅助手段已得到
广泛应用。这不仅提高了教学质量和教学效果,而且也带来了
教学评价的革命。在
教学管理中,为实现教考分开,更加合理、公平、公正、公开地进行
各种考试,利
用计算机进行考试管理系统,
辅助教师命题组卷已
成为各院校改个的重要内容之一。
使用试卷管理系统可以大大
提高工作效率,
不论是抽题、
组卷,
还
是提取答案、
打印试卷,都非常迅速。
同时,
< br>用计算机随机抽取试题,可以排除人为因素和误差,
在试题的范围、难度、题型等
方面统一标准,试卷规范,保证教育测量的客观、公
正。
但一直以来,
人们习惯于使用传统人工的方式制作试卷,
< br>这种制作方式存在
着许多缺点,如:效率低、保密性差、容易出错等,另外,即使
把以前的试题都保
存起来,
但时间一长,
将产生大量的文件和数据,
这对于查
找、更新和维护都带
来了很大困难。作为计算机应用的一部分,
使用计算机对试卷进行管理,
有着手
工管理所无法比拟的优点,
<
/p>
例如:效率高、组卷迅速、查找方便、可靠性高、保密
性好、
p>
成本低等。
这些优点能够极大地提高教师的工作效率,
有利于建立科学化的
教学监督与评估体系。因此,
开发这样一套试卷管理系统成为很有必要的事情。
1.2
研究意义
一个现代化的学校管理,拥有数千名的学生考试信息,那么如何管理这么庞大
的学生
考试信息档案呢?这时,开发一个功能完善的试卷管理系统就必不可少了。
所以需要设计
开发一个实现试卷管理的稳定、高效、准确、便捷、安全的系统。从
学校的试卷制作到成
绩查询实现了自动化的模式,从而提高了工作效率。
试卷管理
系统是一个现代高校不可缺少的部分,它的内容对于学校的管理者至
关重要,所以试卷管
理系统能够为用户提供充足的信息和快捷的查询管理手段。用
1
/
75
Visual
Studio2005
构建的试卷管理系统,很符合稳定、高效、准确、便
捷、安全的
要求。
1.3
发展现状
随着计算机的日益普及,
教育教学水平的不断提高,
如何利用
计算机建立统
一的试题库,开发出智能型、多功能、通用型试题库成为多年来我们一直关
心的课
题。计算机试题库系统,是将编好的试题、答案事先存入计算机的数据库中,使用
时,通过软件的控制,按照一定的方式和规则,将试题抽取、组合,形成试卷,打
印输出。
试题、试卷设计是考试工作的重要
环节。为此许多大专院校开发多门课程的试
题库,并有部分已商品化,为考教分离打下了
基础。但从已商品化的试题库看,其
试题管理系统多为封闭式结构,所收入的备考题虽经
认真筛选,系统不提供试题设
计功能,致使其内容不能根据教学内容的需要更新,试题库
管理系统的通用性差,
为此提出一种具有框架化特征的通用试题、试卷设计系统的系统结
构,并讨论其实
现方法。中国高校教学中,计算机辅助手段已得到广泛应用。这不仅提高
了教学质
量和教学效果,而且也带来了教学评价的革命。其中,试题库管理系统的开发与
应
用取得了许多成果,但已有的试题库管理软件仍存在通用性差,无法处理图形的不
p>
足,那么如何形成一份科学合理的试卷是其关键所在,
由于题库管理系统在选题,
组卷上的灵活多样和客观公正,
所以试卷管理系统是一所学校必不可少的部分。
1.4
系统构建
本软件是采用
B/S
结构来实现的。
B/S
结构(
Browser/Server
,浏览器
/
服务器模
式),是
WEB
兴起后的一种网络结构模式,
W
EB
浏览器是客户端最主要的应用软
件。这种模式统一了客户端
,将系统功能实现的核心部分集中到服务器上,简化了
系统的开发、维护和使用。客户机
上只要安装一个浏览器(
Browser
),如
Netscape
Navigator
或
Internet Explorer
,服务器安装
Oracle
、
Sybase
、
p>
Informix
或
SQL Server
等
数据库。浏览
器通过
Web Server
同数据库进行数据交互。
以目前的技
术看,局域网建立
B/S
结构的网络应用,并通过
Internet/Intranet
模
式下数据库
应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实
现不同的人员,<
/p>
从不同的地点,
以不同的接入方式
(比如
LAN,WAN,Internet/Intranet
等)访
问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器
数据库也很安
全。特别是在
JAVA
这样的跨平台语言出现之后,
B/S
架构管理软件
更是方便、快捷、高效。
p>
随着学校管理工作的不断细化,自动化的试卷管理系统就显得非常
必要,而运
用开发软件与数据库管理软件,用于项目开发,程序编制,数据库创建,来开
发一
套试卷管理系统就显得十分重要,在这里,要构建这样的一套管理系统,首先得做<
/p>
一个需求分析,在需求分析中包含了功能需求分析和数据库需求分析。接着进行详
细设计,
详细设计是在需求分析的基础上实现
各个模块功能的具体过程。
然后就是
整个项目系统的编码阶段,
这期间的工作非常繁琐,是比较麻烦的一部分。这个阶
段之后是测试,维护。这样,整个
系统基本上就完成了。
3
/
75
第
2
章
需求分析
2.1
系统的功能和特点
2.1.1
系统功能
系统针对不同的用户,设置
了不同的权限,在用户登录时根据权限跳至不同的
界面,
从而可
以选择相应的操作。
系统采用了较为先进的
B/S
结构,
具有结构灵活、
功能齐全等突出特点。使用本
系统可以方便地管理专业、科目、教师、选课和试卷
等基本信息,及时调整教学进度,提
高学校的管理和教学水平,从而使高校的试卷
管理真正实现无纸化。
本系统实现的功能主要包括:用户管理,系统用户包括:管理员和教师,用户
p>
在选择角色后,可以分别进入对应的界面:管理员在进入管理员管理界面后,可以
对专业、科目、教师、题型和选课进行增、删、改的操作,但管理员没有修改教师
< br>信息的权限;教师在初次登录时需要根据自己的教师号以及默认的密码登录,进入
教师管理界面后可以修改信息及密码,对章节、题库进行增、删、改等操作,也可
以选择
组卷方式——自动、手动以及抽取现有试卷三种方式。自动生成试卷是系统
根据用户设置
的题型、
难易程度随机组成试卷;
手动组卷是教师可以自己选择
题型、
分值、题目,可以自己决定试卷的难易程度;抽取试卷是直接用数据库中已经存在
的试卷。试卷生成包含有实现设置卷头、预览和打印试卷及答案的功能。
本系统中,用户首先登录,登录时,有身份区分,分为普通用户和管理员。输
入系统判定数据库中是否由此用户,这是个验证过程,通过验证才能确定登录。而
普通用户与管理员的区别是两者之间的权限不同。
< br>系统流程图如图
2.1
所示。
专业
是
验证
验证
是
否
管理员
教师
否
身份选择
登录
科目
教师
题型
选课
信息
章节
题库
试卷
添
加
删
除
修
改
查
询
添
加
删
除
修
改
查
询
自
动
手
动
抽
取
生成试卷
退出
图
2.1
系统流程图
2.1.2
系统特点
本系统最明显的特点就是采
用
B/S
架构,这样大大减轻了系统维护的成本和工
作量,易于操作和维护;同时,基于代码重用原则,本系统将常用的数据库操作定
< br>义在数据库数据操作类
SQLHelper
中,将业务逻
辑处理定义在
Services
类中,将一
5
/
75
些常用的函数定义
在
Functions
类中,这样可以方便实现代码重用。
p>
在功能上,本系统对用户实行分权限管理,以满足不同用户的不同
需求,保证
了数据的安全;
在试卷管理功能中,
组卷方式,
有三种组卷方式——抽取现有试卷、
自动生
成试卷和手动生成试卷,方便教师选择自己喜欢的组卷方式;在试卷预览功
能中,教师可
以将试卷在
word
中预览并保存,方便教师预览以及修改试卷
格式。
本系统作为计算机辅助教学软件的一部分,与多媒体教
学及其他类软件相比,
有着自己的特点:
1
.本软
件界面友好、操作简便,稳定性好;
2
.本软件能够源源不断的向题库内添加新试题;
3
.本软件能够按照一定的算法自动生成试卷,并可以人工干预,修改试
题;同
时也可以直接手工选题;
本软
件的实现有着自己的特点,决定做好本软件有着非常重要的实际意义。
1
.本软件作为一种新生的、趋向成熟的计算机辅助教学软件,对课堂教学测试
及期中、期末考试出题具有很大的帮助,节省了人力,使教学走向自动化轨道;
2
.
本软件收集了大
量的习题,
是一本数量大、
质量高的高效超能型教材习题集;<
/p>
3
.
本软件的
自动组卷功能及试卷维护功能节省了教师的时间与精力,
可以集中
精力全身心的投入到教学中,有利于提高教师素质及教学质量;
2.2
功能需求
2.2.1
试卷管理系统结构图
<
/p>
试卷管理系统的结构图,如图
2.2
所示
。
主控程序
用户管理模块
信息管理模块
题库管理模块
组卷模块
图
2.2
试卷系统结构图
< br>用户管理模块主要完成管理用户信息及找回密码,
信息管理模块完成包括对专
p>
业、科目、章节、教师、题型、选课、章节的有关信息的管理,题库管理模块完成
对试题信息的管理,组卷模块完成对三种组卷方式的管理。
2.2.2
功能描述
1.
登录模块
用户在进入系统之前,要输入正确的用户名和密码并选择进入系统的角色——
教师或
者管理员。如果用户名存在且密码与该用户名对应的密码相同,即可登录本
系统。如果教
师初次使用该系统,系统管理员会指定一个特定的用户名和密码给教
师,让其登录;如果
用户忘记密码,可以运用忘记密码功能找回密码;如是用户名
和密码不正确,则会提示输
入的信息错误,让用户重新输入。
在忘记密码模块中,教师只
需要输入教师编号、教师名称以及邮箱三个参数,
点击提交后,在数据库表中存在与其匹
配的项,系统则会弹出提示框为教师提示密
码,否则会提示错误的信息。
2.
专业管理模块
p>
管理员进入系统后,需要在教师使用该系统前录入专业信息,以方便进行后面
的信息管理,管理员可以对专业进行查询、添加、删除和修改的操作。
3.
科目管理模块
管理员进入系统后,需要在教师使用该系统前对各个专业的科目信息进行添
加,
以便让教师进入系统后,对自己所教的科目进行添加,为往试题库里面录入题
做准备。<
/p>
4.
教师管理模块
管理员进入系统后,需
要提前录入需要使用试卷管理系统的教师的信息,以方
便教师使用该系统进行试卷管理,
管理员可以对教师进行查询、添加和删除,管理
员没有修改教师信息的权利。
5.
题型管理模块
管理员进入系统后,需要对试题的题型进行添加,方便老师对题库进行管理。
并可以对题型进行查看、删除及修改题型名称。
6.
选课管理模块
7
/
75
管理员进入系统后,为教师选择其所教学的科目,为教师进入系统使用该系统
做准备。
7.
信息管理模块
教师在进入系统后,可
以对自己的个人信息如姓名、邮箱和密码进行修改,方
便教师使用该系统。
8.
章节管理模块
<
/p>
教师进入系统后,可以为自己所授科目进行章节的管理,以便录入题的时候管
理试题库。
9.
题库管理模块
教师进入系统后,
p>
对题库录入题,
并可以对题库中的题进行查看、
修改和删除。
10.
试卷生成模块
该功能由教师完成,生成试卷总共有抽取、自动和手动三种方式。教师可以根
据
自己情况选择合适的方式。自动生成试卷是系统根据用户设置的题型、难易程度
随机组成
试卷;手动组卷是教师可以自己选择题型、分值、题目,可以自己决定试
卷的难易程度;
抽取试卷是直接用数据库中已经存在的试卷。
2.3
开发环境
2.3.1 Visual Studio 2005
概述
理解
Framework
最简单的方式就是把它看作是执行代码的环
境。
管理代码的执行,包括启动代码、给它赋予相应的权限、为
它分配内存以
存储器数据,帮助不再需要的内存和资源等。处理执行这些任务外,
还要
使用一个非常复杂的类库——
基类,以便在
Windows
上执行大量的任务。
对这些任务,
承担了管理代码的执行和为代码提供服务的双重角色。
从技术层面具体来说,
Framew
ork
主要包括两个内核,即通用语言运
行库
< br>CLR(Common
Language
Runtime)
和
Framework
基本类库,它们为
平台的实现提供了底层技术支持。
的编译过程也与以前
版本的语言
有所不同,这一点也是
的重
要特征。
2.3.2
SQL Server2000
概述
SQL Server 2000
是
Microsoft
公司推出的
SQL Server
数据库管理系统该
版本,继承了
SQL
Server
7.0
版本的优点同
时又比它增加了许多更先进的功
能,具有使用方便
,
可伸缩性好与相关软件集成程度高等优点,可跨越从运行
Microsof
t Windows 98
的膝上型电脑到运行
Microsoft Windows
2000
的大型多
处理器的服务器等多种平台使用。
SQL
Server2000
特性
1
.
Internet
集成。
SQL Server 2000
数据库引擎提供完整的
XML
支持。
它还具有构成最大的
Web <
/p>
站点的数据存储组件所需的可伸缩性、可用性和安
全功能。
SQL Server 2000
程序设计模型与
Windows
DNA
构架集成,用以开
发
Web
应用程序,并且
SQL
Server
2000
支持
English
Query
和
Microsoft
搜索服务等功能,在
Web
应用程序
中包含了用户友好的查询和强大的搜索功
能。
2
.可伸缩性和可用性。同一个数据
库引擎可以在不同的平台上使用,从
运行
Microsoft
Windows
98
的便携式电脑,到运行
Microsoft
Windows
2000
数据中心版的大型多处理器服务器。
SQL Server
2000
企业版支持联合服务器、
索引视图和大型内存支持等
功能,使其得以升级到最大
Web
站点所需的性能
级别。
3
.企业级数据库功能。
SQL
Server 2000
关系数据库引擎支持当今苛刻的
数据
处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千
个并发修改数据
库的用户的开销减到最小。
SQL
Server
2000
分布式查询使您
得以引用来
自不同数据源的数据,
就好像这些数据是
SQL Server 2000
数据库
的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制
同样使
您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一
组数据复制到多个
移动的用户,使这些用户自主地工作,然后将他们所做的修
改合并发布服务器。
4
.易于安装、部署和使用。
SQL Server 2000
中包括一系列管理和开发<
/p>
工具,这些工具可改进在多个站点上安装、部署、管理和使用
SQL Server
的
过程。
SQL Server
2000
还支持基于标准的、与
Windows DNA
集成的程序设
计模型,使
SQL Server
数据库和数据仓库的使用成为生成强大
的可伸缩系统
的无缝部分。这些功能使我们得以快速交付
SQL Server
应用程序,使客户只
9
/
75
需最少的安装和管理开销即可实现这些应用程序。
2.3.3 C#
介绍
C#
是
VisualC#.NET
< br>的关键性语言,
它是整个
VisualC#.NET
p>
平台的基础。
与
C#
相比,
VisualC#.NET
所支持的其他语言显然是配
角身份。比如,
的存在主
要是对千万个
VB
开发人员的负责。对于
和
C++.NET
也同样可以这么
说,后者只是增加了调用
VisualC#.NET
类
的
C++
语言。
C#
< br>是惟一没有在设计思路
中加入以前语言某种遗传的新事物。
在
C#
中,除了可以使用许多
p>
API
,更能使用
VisualC#.NE
T
类库。特别是,用
户可以处理
COM
的自动化和
C
类型的函数。
C#
还允许用户调用无管理的代码,也
就是在
p>
CLR
引擎控制之外的代码。
这种不安全的
模式允许用户操作原始指针来读和
写内置碎片账集控制以外的内存。
C#
的设计目标:
1
.
C#
旨在设计成为一
种
“
简单、现代、通用
”
,以及面向对象的程序设计语言
2
.此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数<
/p>
组维度检查、未初始化的变量引用检测、自动垃圾收集(
Garb
age
Collection
,指一
种自动内存释放技术)
。软件必须做到强大、持久,并具有较强的编程生产力。
3
.此种语言为在
分布式环境中的开发提供适用的组件开发应用。
4
.为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是
对
于那些已熟悉
C
和
< br>C++
的程序员而言。
5
.对国际化的支持非常重要。
6
.
C#<
/p>
适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统
到特定应用的小型系统均适用。
7
.虽然
C#
程序在存储和操作能力
需求方面具备经济性,但此种语言并不能在
性能和尺寸方面与
C
语言或汇编语言相抗衡。
第
3
章
总体设计
3.1
系统功能分析
3.1.1
功能划分
本系统有两种用户——管理
员及教师。管理员主要负责为教师服务,在教师登
录系统之前对教师、专业、科目、题型
和选课进行添加、删除、修改和查看。教师
可以对自己的个人信息进行修改和查看,并可
以对自己所教的学科的科目和自己录
入的试题进行添加、删除、修改、查看,同时可以自
己选择组卷方式——自动、手
动组卷以及抽取现有试卷,并且还可以设置卷头、预览和打
印试卷及答案。
3.1.2
功能模块图
该系统主要完成用户管理
、题库管理、组卷管理和试卷管理等功能。通过该系
统,管理员可以对专业、科目、教师
、题型和选课进行管理,教师可以对个人信息、
题库、章节进行管理并可以手动组卷、自
动组卷和抽取现有试卷。其功能模块图,
如图
3.1
所示。
p>
管
理
员
管
理
教
师
管
理
试卷管理系统
专
业
管
理
科
目
管
理
<
/p>
教
师
管
理
题
型
管
理
选
课
管
理
信
p>
息
管
理
题
库
管
理
章
节
管
< br>理
组
卷
管
理
图
3
.1
试卷管理功能模块图
11
/
75
3.2
数据库总体设计
3.2.1
关系
E-R
图
1.
实体
在试卷管理系统中,主要包括的实体为:
专业
属性:专业号、专业名称。
科目
属性:科目号、科目名称、专业号。
章节
属性:章节号、章节名、科目号。
教师
属性:教师编号、教师名称、密码、性别、邮箱、专业号。
题型
属性:题型号、题型名称。
选择题
属
性:题号、科目号、章节号、题型号、难易度、题内容、选项
A
、
选项
B
、选项
C
、选项
D
、答案、分数。
填空题
属性:题号
、科目号、章节号、题型号、难易度、题内容、空一、空
二、空三、空四、空五、答案、
分数。
简答题
属性:题号、科目号、章节号、题型号、难易度、题内容、答案、分
数。
设计题
属性:题号、
科目号、章节号、题型号、难易度、题内容、答案、分
数。
试卷
属性:试卷号、科目号、题型号、教师号、题号、卷头。
2.
关系
一个专业可以包含多门科目,一门科目可以属于多个专业中,因此专业和科目
具有多对多
的联系。
一门科目可以有很多章节组成,一个章节只能属于一
门科目,因此科目和章节
具有一对多的关系。
一个专业可以有多个教师,一个教师只能归属于一个专业管理,因此专业和教
师
具有一对多的联系。
一个教师可以教多门科目,一门科目可以
让多个教师教,因此教师和科目具有
多对多的联系。
一个题型可以包含多个题,一个题只能属于一个题型,因此题型和题属于一对
多的联系。
一个题型可以属于多个试卷,一个试卷可以包
含多个题型,因此题型和试卷属
于多对多的联系。
一个试卷只能属于一门科目,一个科目可以组成多个试卷,因此试卷和科目属
于一对多的联系。
3.
E-R
图
试卷管理系统的关系
E-R
图,如图
3.2
所示
专业号
专业号
专业名称
教师名称
1
专业
试卷号
n
科目号
题型号
教师号
卷头
试卷
m
包含
包含
n
n
题型号
题型
题型名称
1
包含
n
设计题
章节
章节名
科目号
科目号
科目名称
章节号
专业号
教
m
科目
性别
邮箱
电话
出生日期
管理
n
教师
密码
教师编号
1
章节号
题号
题型号
题答案
分数
题内容
难易度
图
3.2
系统关系
< br>E-R
图
13
/
75
3.2.2
数据表的设计
本试卷管理系统的数据库是在
SQL Server
中实现的,
数据库的设计是系统最为
重要的一环,
数据库设计的好坏将会决定后续工作的进展。
本系统共设计了<
/p>
15
张表,
分别是:管理员表、教师表、
专业表、科目表、题型表、选课表、难易度表、题型
表、选择题表、填空题表、简答题表
、设计题表、试卷表和考试表。各个表的具体
字段说明如下:
管理员表
(admin)
:包括用户<
/p>
id
号、密码、姓名。如表
3.1
所示。
表
3.1
管理员表
列名
id
uname
pwd
意义
用户
ID
号
用户姓名
密码
数据类型
Int
varchar
varchar
长度
4
15
15
允许为空
否
否
否
p>
教师表
(sysuser)
:包括教师编号
、教师姓名、密码、专业号、邮箱和性别。如
表
3.2
所示。
表
3.2
教师信息表
列名
id
uname
pwd
gender
Email
depid
意义
教师
ID
号
姓名
密码
年级
邮箱
专业号
数据类型
Int
varchar
varchar
varchar
varchar
int
长度
50
50
50
15
4
允许为空
否
否
否
是
是
否
专业表
(
department)
:包括专业编号、专业名称。如表
3.
3
所示。
表
3.3
专业信息表
列名
depid
department
意义
专业
ID
号
专业名
数据类型
Int
varchar
长度
15
允许为空
否
否
科目表
(
subject)
:包括科目编号、科目名称、所属专业。如表
3.4
所示。
表
3.4
科目信息表
列名
subid
subject
depid
意义
科目
ID
号
科目名称
专业
ID
号
数据类型
Int
varchar
Int
长度
15
允许为空
否
否
否
章节表
(
chapter)
:章节号、科目号、科目名。如表
3.5
p>
所示。
表
3.5
章节信息表
列名
chapid
subid
chapname
意义
章节
ID
号
科目
ID
号
章节名
数据类型
Int
Int
varchar
长度
50
允许为空
否
否
否
选择题表
(choice)
:题号、科目号、章节号、题型号、难易度、题目内容、答案、
选项
A
、选项
B
p>
、选项
C
、选项
D
、分值。如表
3.6
所示。
表
3.6
选择题信息表
列名
意义
题目编号
科目
ID
号
章
ID
号
题型
ID
号
难易度
题目内容
选项
A
选项
B
选项
C
选项
D
答案
分值
数据类型
Int
Int
Int
Int
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
长度
50
15
15
15
15
10
10
允许为空
否
否
否
否
否
否
否
否
否
否
否
否
titleid
subid
chapid
typeid
ned
content
optionA
optionB
optionC
optionD
answer
score
填空表<
/p>
(blank)
:题号、科目号、章节号、题型号、难易度、题目
内容、答案、
空
1
、空
2
、空
3
、空
4
、空
5
、分值。如表
3.7
所示。
15
/
75
表
3.7
填空题信息表
列名
意义
题目编号
科目
ID
号
章
ID
号
题型
ID
号
难易度
题目内容
空一
空二
空三
空四
空五
答案
分值
数据类型
Int
Int
Int
Int
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
长度
50
30
30
30
30
30
30
10
允许为空
否
否
否
否
否
否
否
否
否
否
否
否
否
titleid
subid
chapid
typeid
ned
content
blank1
blank2
blank3
blank4
blank5
answer
score
分值。如表
3.8
所示。
简答题表
(
short)
:题号、科目号、章节号、题型号、难易度、题目内容、答案、
表
3.8
简答题信息表
列名
意义
题目编号
科目
ID
号
章
ID
号
题型
ID
号
难易度
题目内容
答案
分值
数据类型
Int
Int
Int
Int
varchar
varchar
varchar
varchar
长度
50
100
10
允许为空
否
否
否
否
否
否
否
否
titleid
subid
chapid
typeid
ned
content
answer
score
设计题表
(design)
:题号、科目号、章节号、题型号、难易度、
题目内容、图表
1
、答案、图表
2
p>
、分值。如表
3.9
所示。
表
3.9
设计题信息表
列名
意义
题目编号
科目
ID
号
章
ID
号
题型
ID
号
难易度
题目内容
答案
分值
题目图表
答案图表
数据类型
Int
Int
Int
Int
varchar
varchar
varchar
varchar
varchar
varchar
长度
100
500
10
500
500
允许为空
否
否
否
否
否
否
否
否
是
是
titleid
subid
chapid
typeid
ned
content
answer
score
url1
url2
难易度表
(ned)
:难易度编号、名称。如表
3.10
所示。<
/p>
表
3.10
难易度信息表
列名
nedid
意义
难易度编号
难易程度
数据类型
Int
varchar
长度
15
允许为空
否
否
ned
选课表
(xuanke)
:专业号、科
目号、教师编号。见附录
A
附表
1
p>
。
题型表
(ty
pe)
:题型编号、题型名称。见附录
A
附表
2
。
试卷表
(test)
:考试编号、科目号、教师号、题号、卷头
。见附录
A
附表
3
。
考试表
(exam)
:编号、考试编号。见附录
A
附表
4
。
卷头表
(header)
:编号、卷头。见附录
A
附表
5
。
17
/
75
第
4
章
详细设计
本文主要负责对题库维护模
块、
专业管理模块、
科目管理模块、
教
师管理模块、
题型管理模块的设计,下面是这些模块的几种基本操作:
< br>
1.
添加操作
系统将向数据库中添加一条
新的记录,并修改相关表的信息(如在添加专业信
息时,系统将自动修改专业的基本信息
)
2.
查询操作
系统根据查询条件在数据库
中进行查询,然后将查询结果显示在界面上。
3.
修改操作
要进行修改操作,必须先执
行查询操作。执行修改操作系统将更新数据库中的
相应记录。
4.
删除操作
要进行删除操作,必须先执
行查询操作。执行删除操作系统将删除数据库中的
相应记录。
4.1
类的设计
< br>基于代码重用原则,本系统将常用的数据库操作定义在数据库数据操作类
SQLH
elper
中,将业务逻辑处理定义在
Services
类中,将一些常用的函数定义在
Functions
< br>类中,这样可以方便实现代码重用。下面分别介绍这几个类。
4.1.1
数据操作类
SQLHelper
数据
操作类是在
文件中实现的,位于网站根目录下的
App_Code
文件夹内。在类的最开始引入了
en
t
命名空间,引入此命名空间,
是专门用于对
< br>Sql
server
数据库进行操作的。在类的内部定
义了一个静态变量
ConnectionString
,该变量
用来存放数据库的连接字符串,它的值是从
。
< br>把数据库连接字符串放在
文件中,可以方便地管理连接字
符串,当数据
库发生变化时,只要更改相应的配置文件了。在这个类中我们定义了三个最
常用的
静态方法:
ExecuteNonQuery
,
ExecuteDataSet
和
ExecuteScalar
。使用静态方法的好
处
是不用对类进行实例化就可以调用这些方法,从而提高代码的执行性能。在这三
个方法的
内部都创建了
SqlConnection
实例,其实例化操作
都是放在
using
语句中执
行的,这
样在执行完
using
语句之后,会对在
using
语句中的引用的资源进行回收,
执行完毕后,关闭
连接,有效地控制了内存浪费。其中,
ExecuteNonQuery
方法用
于对数据表的更新、删除和插入操作;
Exec
uteDataSet
方法将返回一个数据集用于
执行数据库的
查询操作;
ExecuteScalar
方法将返回
SQL
查询语句的首行首列。
核心
代码如下:
using ent;
//
引入此命名空间,对
Sql
server
数据库进行操
作
static
//
读取存放在
文件里的数据库连接字符串
public static void
ExecuteNonQuery(string sql)
{
using
(SqlConnection conn = new
SqlConnection(ConnectionString))
{
SqlCommand cmd = new SqlCommand(sql,
conn);
();
eNonQuery();
();
}
}
//
封装
Command
对象的
ExecuteNonQuery
方法,对数
据库进行更新,删除和插入
数据
4.1.2
逻辑处理类
Services
这个类
文件同样也位于根目录下的
App_Code
文件夹内。在这个
类的实现中,
在任何时刻应用程序最多只有此类的一个实例在运行,这样能够最大限度地
保证系
统的执行性能。在本系统中,通过调用类的一个静态方法
GetInstance()
来获取类的
实例,在这个方法中,
先判断是否已有一个实例对象,如果有则返回这个实例,否
则,创建一个新的实例并返回
。在
Services
类中,最主要的代码就是具体的业务逻<
/p>
辑——查询、
删除、更新、
添加等有关操
作均在此类中存放。比如登录功能的代码:
public
bool CheckAdminLogin(string UserName, string Pwd)
{string
sql
=
count(*)
from
admin
where
uname='
+
UserName
+
and
pwd='
object obj =
eScalar(sql);
if (32(obj) > 0)
return true;
return false;}
这个方法根据传递进来的用户名和密码参数,生成相应的
SQL
查询语句,然后,
19
/
75
string
Connect
ionString=tionStrings[
调用
SQLH
elper
类中的
ExecuteScalar
方法,以判断登录信息是否正确,如果正确则返
回
tr
ue
,否则返回
false
。
4.1.3
常用函数类
Functions
随着
B/S
模式应用开发的发展,使用这种模式编写应用程序的程序
员也越来越
多。但相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性
进行
判断,使应用程序存在安全隐患。
本系统将经常用到的方法封装在
Functions
文件里,
命名空间定为
Util,
同样也
位于
根目录下的
App_Code
文件夹内。核心代码如下:
public static void
Alert(string message)
{
(
+
message
+
}
//
这个方法用于显示。
public static void
AlertAndRedirect(string message, string url)
{
(
+
message
+
+
url
+
}//
这个方法在显示文本的同时并转向
所指
向的链接。
有些不法的用户可以通过
Web
页面提交一段数据库
SQL
代码
,
来查看数据库或者
对数据库的内容作出篡改,
本系统
Functions
类中的
RepStr
方法,
用于过滤字符串并可
< br>以防止不法用户对数据库做出的不法行为,它根据接收到的枚举类型
RepStr
Direc
对
字符进行过滤和替换;
A
lert
方法用于在页面中弹出一个警示框;
AlertAnd
Redirect
方
法用于在页面弹出一个警示框并转向指定的
页面;
AlertOut
方法在后台的
Session
超时
时用来提示并重定向到登陆页面;
CheckSession
方法用于检查
Ses
sion
是否超时,
内部
调用了
AlertOut
方法。
4.2
题库维护模块的实现
当教师登录成功之后,可以对题目进行维护。教师首先要选择科目,然后选择
需要维护的题型,
最后选择具体的题目。
当修改完要修改的
内容之后,
点击
“更新”
,
数据将保存在数据库中,这里的题目编号不能修改。具体的实现方法如下:
首先添加
DropDownList
控
件,根据当前登录的教师号查到该教师所授的科目,
将
科
目
名
称
绑
定
在
List1
空
间
上
,
实
现
的
代
码
是
int
userid=(Session
[
id);
nd();SQL
语句是:
select
distinct
subject
from
subject
,department,
sysuser,
xuanke
where
=
and
=
and
=
and
='
+
userid
+
;
p>
再添加
Menu
控件,
Collection
的值有四个,分别是选择题,
val
ue
是
0
,填空题,
< br>value
是
1
,简述题,
p>
value
是
2
,
设计题
value
是
3
;再添加
MultiView
控件,最后在
MultiView
控件中添加
4
个
View
控件。核心代码是:
protected void
Menu1_MenuItemClick(object sender, MenuEventArgs
e)
{
if ( ==
{
ViewIndex = 0;
DataToBind();
}
else if ( ==
{
ViewIndex = 1;
DataToBind();
}
else if ( ==
{
ViewIndex = 2;
DataToBind();
}
else
{
ViewIndex = 3;
DataToBind();
}
}
//
判断用户的选择
4.2.1
修改选择题
选择题对应的窗体是
p>
View1
,首先添加
GridView<
/p>
控件,命名为
gvList
,
DataKeyNames
是
titleid
p>
,
Collection
包括
10
个
BoundFiled
分别绑定章节号
chapid
,
题号
titleid
,题目
tconten
t
,选项
AoptionA
,选项
p>
BoptionB
,选项
CoptionC
,选项
DoptionD
,答案
answer
,分值
score
和难易度
ned
,还包括
2
个
LinkButton
,分别用
p>
于编辑和删除,
CommandName
分
别是
Update
和
Delete
p>
,
LinkButton
删除的属性是
p>
属
性
为
Cause
sValidation=
CommandName=
OnCl
ientClick='return
confirm(
确定
要删除吗?
。还有
7
< br>个
TextBox
控件,分别用来输入题目题号、题
p>
目内容、答案
A
的内容、答案
B
的内容、答案
C
的内容、
答案
D
的内容和分值,
其中题号对应的
文本框的
ReadOnly
属性为
Tr
ue
,这里教师不能修改,另外还有
4
个
DropDownList
控件,分别用来绑定答案,题目难
易度,章节和科目。当用户点
21
/
75
击编辑的时候,该题目的信息会在对应的控件中显示出来
,用户可以更改自己想要
更改的信息,点击更新即可将数据保存在数据库中;当用户点击
删除的时候,该题
目就会从数据库中删除掉。核心代码是:
int
id
=
32(ys[ex].Value);
//
< br>获取当前行的主
键值,即获取当前行的题号。
tance().DeleteOneTitle(
id);//
根据题号将数据从选择题表
中删除。
DataToBind();
//
重新绑定数据。
DataTable
tbl
=
tance().GetOneChoice(
id); <
/p>
//
根据题号找到该题目
的信息,并将数
据放在内存中的数据表
tb1
中。
=
[0][
将题号赋给
TextBox1
dex = eIndex;
//
分页
string
subject
=
ng();//
获得
List2
的选择值,并将其
类型转换。
String
类型变量
Tconte
nt
。
tance().UpdateChoice(tid,subid,
chid,
tpid,
ned,
Tcontent,
optionA,
optionB, optionC, optionD, answer,
score);
//
将数据更新到选择题表中。
p>
ndRedirect(
修改成功
//
更新成功之后,显示“修改成功”
,并跳转
到
Teacher_
页面。
修改选择题界面设计如图
4.1
所示。
Tcontent=((()),
tml); //
获得
TextBox
2
的值,并在进行转换之后赋给
string
< br>
图
4.1
修改选择题界面示图
4.2.2
修改填空题
填空题对应的窗体是
p>
View2
,这个窗体有
8
个
TextBox
控件,分别用来输入题
目题号、题目内容、
5
个空的内容和分值,其中题号
对应的文本框的
ReadOnly
属性
为
True
,这里教师不能更改,分数是一个空的分数,这里最
多只能添加
5
个空,需
要教师先选择空
数,
方便后台进行分数的计算。
还有一个
GridView
控件,
用来显示
试
题信息。难易度和章节的实现方法与选择题一样,这里不再详细描述。核心代码
如下:<
/p>
=
[0]
[
//
将
subject
的
值
赋
给
< br>DropDownList1
switch (count)
{
case 1: answer = blank1;
score = score; break;
case 2: answer = blank1 + blank2; score
= 2 * score; break;
case 3: answer
= blank1 + blank2 + blank3; score = 3 * score;
break;
case 4: answer = blank1 +
blank2 + blank3 + blank4; score = 4 * score;
break;
case 5: answer
= blank1 + blank2 + blank3 + blank4 + blank5;
score = 5 *
score; break;
}//
这里用到
switch
循环,
count
是教师选择的空数。当教师选择的
空
数为
1
时,答案的内容就是空一的内容,分值为设置的分,当教
师选择的空数为
2
时,答案的内容就是空一和空二的内容,分值
为
2
乘以空数
...
< br>以此类推。
DataTable tb2 =
tance().GetChapterByName(chapname);
string chpid = [0][
int
chid
=
32(chpid);
//
这三行代码主要是根据获得的章节名称找到
章节号。
修改填空题界面设计如图
4.2
所示。
23
/
75
图
4
.2
修改填空题界面示图
4.2.3
修改简述题
简述题对应的窗体是
p>
View3
,这个窗体有
4
个
TextBox
控件,分别用来输入题
目题号、题目内容、答案和分数,其中题号对应的文本框的
ReadOnly
属性为
True
,
教师不能修改,
还有一个
GridView
控件,
用来显示试题信息,
具体的实现方法与选
择题相同,这里不再详细描述。
修改简述题
界面设计如图
4.3
所示。
图
4.3
修
改简述题界面示图
4.2.4
修改设计题
设计题对应的窗体是
p>
View4
,这个窗体有
4
个
TextBox
控件,分别用来输入题
目题号、题目内容、分值和答案,其中题号对应的文本框的
ReadOnly
属性为
True
,
教师不能修改;另外还有
3
个
Dr
opDownLis
控件,绑定章节名称、科目名称和难易
度,
这些控件的实现方法与选择题一样,
这里不再详细描述。
另外还有两个
Input(file)
控件,
用来浏览题目和答案所需要的图表,这里可以为空。
其它功能
的实现与选择题相同,这里不再列出,这里主要是对题目和答案图表
的实现代码的讲解。
核心代码如下:
HttpPosted = my;
//
获取对由客户端指定的上传文件的访问,这里是题目图表
int
=
Up
获取上传的题目图表的字节大小
HttpPosted = my;
//
获取对由客户端指定的上传文件的访问,这里是答案图表
int
=
Up
获取上传答案图表的字节大小
if ( == 0 && )
{
string url1 =
tance().InsertDesign(subid,
chapid,
typeid,
nd,
tm,
da,
score,
url1,
url2);
ndRedirect(
}
//
如
果没有上传的图片,则让两个图的值为零,并将题目的信息
存入到数据库总。
string exName =
my(my(
截取图片的后缀名
exName ==
根据图片后缀名判
断图片的类型
> 2048000
//
判断图片是否大于
200k
< br>,这里的图表只能上传小于
200k
的
< br>
Up(alApplicationPath +
(
//
将图
片保存在当前文件物理路径的
img
文件夹中
< br>
修改设计题界面设计如图
4.4
所示。
数
据
添
加
成
功
<
/p>
25
/
75
图
4.4
修
改设计题界面示图
4.3
专业管理模块的实现
4.3.1
添加专业功能
管理员在登录系统之后,可以对专业进行添加。管理员只需要在对应的输入框
输入专
业号和专业名即可。具体实现过程如下:
添加两个
TextBox
控件,分别输入专业号、专业名,分别命名为
TxtTitle1
、
TxtTitle2
,给两个
TextBox
控件分别绑定
RequiredFieldValidator
控件,
ErrorMessage
为
请填写专业号
”
、
请填写专业名
”
,
两个按钮为“提交”和“重置”
,其中重置
p>
的
type
属性值为
reset
。主要代码如下:
String departId=((),
oHtml);//
将专业号中输入的值赋值给
string
类型的
departID
中。
int dep = 32(departI
d);//
将
string
类型的
p>
departID
赋值给
int
类型的
dep
。
select count(*) from department where d
epid='
为获取专业号的具
体
SQ
L
语句
tance().Check
Depart(dep)//
根据得到的专业号遍历专业表,
查
看是
否有重复的专业号存在。
ndR
edirect(
数据添加成功
pty
pe);//
若数据添加成功则提示成功并跳转页面至
Admi
n_
。
添加专业界面设计如图
4.5
所示。
<
/p>
图
4.5
添加专业界面示图
4.3.2
编辑专业功能
管理员在登录之后,可
以对专业进行修改。管理员选择查看专业的功能后会把
所有的专业信息显示在
GridView
中,具体的实现方法:
在页面中加入
GridView
控件,
DataKeyNames
是
depid <
/p>
,
Collection
包括
2
个
BoundFiled
分别绑定专业号
depid
,专业名
department
,还包括
2
个<
/p>
TemplateField
分别是编辑和删除,其中编辑是一个
超链接,删除是一个
LinkButton
属性为
CausesValidation=
CommandName=
OnClientClick='return
confirm(
确
定要删除吗?
。编
辑链接对应的代码放在
gvList_RowDataBound
中,
HyperLink
linkEdit = (Hyp
erLink)ntrol(
是定义一个名为
linkEdit
的超链
接,
teUrl
=
用来自定要链接的文件。核心代码为:
int
id
=
< br>32(ys[ex].Value);//
获取当前行的主
键值,即获得当前行的专业号。
tance().Dele
teOneDepart(
id);//
根据专业号从专业号<
/p>
中删除该专业的信息。
当管理员点击编
辑时会进入
Admin_
页面,可以更改专业名,但
不能修改专业号。这里的专业号是从上个页面传递过来的。核心代码如下:
return
tring[
获取上个页面传来的专业号。
< br>专业列表界面设计如图
4.6
所示。
27
/
75
图
4.6
专
业列表界面示图
修改专业界面设计如图
4.7
所示。
< br>图
4.7
修改专业界面示图
4.4
科目管理模块的实现
4.4.1
添加科目功能
管理员在登录之后,可以对专业进行科目管理。管理员需要先选择自己想要添
加科目的专业,然后输入科目号和名称即可。具体实现的过程如下:
添加
DropDownList
控件
< br>List1
,用来绑定专业名称,
添加两个
TextBox
控件,
分
别输入科目编号、科目名称,分别命名为
TxtTitle1
、
TxtTitle2
,给两个
Tex
tBox
控件分别绑定
RequiredFieldValid
ator
控件,
ErrorMessage
为
请填写科目号
”
、
请
填写科目名
”
,
< br>两个按钮为“提交”和“重置”
,其中重置的
type<
/p>
属性值为
reset
。
< br>主要代码如下:
StringsuId=((),t
ml);//
将科目号中输入的值赋值给
string
类型的
suId
中。
int subid = 32(suId); //
将
string
类型的
suId
赋值给
int
类型的
subid
。
tance().CheckSubject(subject) //
根据得到的科目号遍历科目表,
查
看是否有重复的科目
号存在。同理根据得到的科目名称遍历科目表,查看是否有重
复的科目名称存在。
ndRedirect(
数据添加成功
p>
+ ptype); //
若数据添加成功则提示成功并跳转页面至
Admin_
。
添加科目界面设计如下图
4.8<
/p>
所示。
图<
/p>
4.8
添加科目界面示图
4.4.2
编辑科目功能
管理员登录之后,可以对自己专业的科目信息进行修改。管理员首先要选择自
己要更改的专业。具体实现的方法与添加科目中的相同。当管理员点击
“查询”后,<
/p>
该专业的科目信息会在下面的
GridView
< br>中显示出来。具体的实现方法为:
在
< br>页
面
中
加
入
GridView
控
件
,
DataKeyNames
是
< br>subid
,
Collection
包
括
2
个
BoundFiled
分别绑定章节号
subid
,章节名称
subject
,还包括
2
个
TemplateField
分别是
编
辑
和
删
除
,
其
中
编
辑
是
一<
/p>
个
超
链
接
,
删
除
是
一
个
LinkButton
属
性
为
CausesValidat
ion=
CommandName=
OnClientClic
k='return
confirm(
确
定要删除吗?
。编辑链接对应的代码放在
< br>gvList_RowDataBound
中,
Hype
rLink
linkEdit
=
(HyperLink)ntrol(
是定义一个名为
link
Edit
的超链
接,
teUrl
=
+
用来自定要链接的文件。核心代码为:
int
id
=
32(ys[ex].Value);
//
< br>获取当前行的主
键值,即获取当前行的科目号。
tance().DeleteOneSubject(
id); <
/p>
//
根据科目号从科目表中
删除该科目的
信息。
29
/
75
当教师点击编辑时会进入
Adm
in_
页面,可以更改科目名称,但
不能修改科目编号和专业号
。这里的科目编号和专业号是从上个页面传递过来的。
核心代码如下:
< br>
return trin
g[
获取上个页面传来的科目号。
<
/p>
科目列表界面设计如下图
4.9
所示。<
/p>
图
4.9<
/p>
科目列表界面示图
修改科目界面设计如
下图
4.10
所示。
图
4.10
修改科目界面示图
4.5
教师管理模块的实现
4.5.1
添加教师功能
在添加教师界面中,要求管理员通过界面选择专业名称;管理员根据专业来填
写教师的基本信息,如成功添加,则提示添加数据成功。
在
添加教师界面中,添加两个下拉列表和五个文本框,分别设置为:
List1
、
TxtTitle1
、
TxtTitle2
、
pwdText1
、
pwdText2
、
Email
Text
和
List2
,并为
TxtTitle1
、
TxtTitle2
p>
、
pwdText1
、
pwdText2
、
Email
Text
分别绑定
RequiredFieldValidat
or
控件,
设置其
ErrorMess
age
属性值为
“请填写教师号”
<
/p>
请填写教师名
”
、
密码不能为空
”
、
密
码不能为空
”
、
请输入正确的邮箱号
”
。
给
pwdText1
和
pwdText2
绑定
Compar
eValidator
控
件
,
属
性
设
置
为
ControlToCompare=
pwdTe
xt2
ControlToValidate=
输入的密码不相
同
;
并在界面中添加
< br>两个按钮分别为:
“提交”和“重置”
。
“重置”按钮的
type
设置为
。
添加教师界面设计如下图
4.11
所示。
图
4.11
添加教师界面示图
4.5.2
编辑教师功能
管理员在登录系统后,可以对老师的信息进行查看并删除,查看的信息包括教
师编号、教师姓名、密码、专业号、性别和邮箱。具体实现方法如下:
在页面中加入
GridView
控件,
Collection
包括
6
个
BoundFiled
分别绑定教师编
号
id
,教师姓名
uname
p>
,密码
pwd
,专业号
depid
,邮箱
email
和性
别
gender
,
< br>这
些信息的
ReadOnly
的
属性值均为
True
。还包括
1
个
TemplateField
是删除,删除
为
一
个
LinkButton
属
性
为
CausesV
alidation=
CommandName=
OnClie
ntClick='return confirm(
确定要删除吗?
< br>
。
教师列表界面如下图
4.12
所示。
31
/
75