学生成绩管理系统教案.docx
- 文档编号:26852825
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:42
- 大小:487.68KB
学生成绩管理系统教案.docx
《学生成绩管理系统教案.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统教案.docx(42页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统教案
1学生成绩管理系统
基于ASP.NET的学生成绩管理系统包括三种类型的用户:
教师、学生和管理员。
根据登录用户的权限,系统自动区分用户身份,并显示相应的功能菜单页面。
教师通过教师菜单页面执行综合查询,统计以及学生成绩的维护操作。
学生通过学生菜单页面查询自己的成绩。
管理员通过管理员菜单页面执行用户维护功能。
本讲主要介绍学生成绩管理系统的详细开发过程。
主要内容见下表。
学生成绩管理系统的总体设计
学生成绩管理系统的数据库设计
学生成绩管理系统的功能设计
学生成绩管理系统登录页面的开发
退出学生成绩管理系统的开发
教师母版、学生母版和管理员母版页面的开发。
教师主菜单、学生主菜单和管理员主菜单页面的开发。
学生成绩查询系统(学生身份登录)数据表查询页面的开发。
学生成绩管理系统(教师身份登录)数据表查询页面的开发。
学生成绩管理系统(教师身份登录)数据表维护页面的开发。
学生成绩管理系统(教师身份登录)学生成绩统计报表页面的开发。
学生成绩管理系统(管理员身份登录)用户维护页面的开发。
利用主题外观和主题CSS样式使得成绩管理系统的所有页面均使用统一的格式
1.1学生成绩管理系统的设计
1.1.1系统总体设计
基于ASP.NET的学生成绩管理系统面向三种类型的用户,教师、学生和管理员。
只有登录用户才能够使用该系统提供的功能。
系统根据登录用户的权限,自动区分用户身份,并显示相应的功能菜单页面。
教师通过教师菜单页面执行综合查询、统计以及学生成绩的维护操作。
学生通过学生菜单页面只能查询自己的成绩。
管理员通过用户维护页面执行用户表的查询、插入和数据更新操作。
系统总计设计如下图所示。
管理员
教师
学生
1.1.2数据库设计
学生成绩管理系统中的数据库WebDBStudents中包括下面两张数据表。
1.用户表(Users)
用户表主要储存系统用户信息。
其结构如下表所示。
字段名
数据类型
字段说明
键引用
备注
ID
Varchar(10)
用户ID
主键
Uname
Varchar(10)
用户姓名
Password
Varchar(10)
用户密码
Depart
char
(1)
用户权限区分
0:
学生权限/1:
教师权限/2:
管理员权限
2.学生成绩表(Exam)
学生成绩表用于储存学生各科成绩信息。
其结构如下表所示。
字段名
数据类型
字段说明
键引用
StudentNo
Varchar(10)
学生的学号
主键
Sname
Varchar(10)
学生的姓名
Class
Varchar
(2)
学生的班级
Chinese
Int
学生的语文成绩
Math
Int
学生的数学成绩
English
Int
学生的英语成绩
Computer
Int
学生的计算机成绩
3.数据库表的建立,可以通过图形化方式或SQL语言建立。
其中SQL语句如下:
CREATEDATABASEWebDBStudents
GO
useWebDBStudents
GO
CREATETABLEExam(StudentNovarchar(10)NOTNULL,Snamevarchar(10)NOTNULL,Classvarchar
(2)NULL,ChineseintNULL,MathintNULL,EnglishintNULL,ComputerintNULL,CONSTRAINTPK_ExamPRIMARYKEY(StudentNo))
GO
CREATETABLEUsers(IDvarchar(10)NOTNULL,Unamevarchar(10)NOTNULL,
Passwordvarchar(20)NULL,Departchar
(1)NOTNULL,CONSTRAINTPK_UsersPRIMARYKEY(ID))
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03101','张咏','1',87,97,89,90)
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03102','刘炎','1',100,90,95,96)
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03103','王政','1',78,85,70,55)
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03104','李石','1',20,56,38,50)
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03105','姚亮','1',97,90,95,92)
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03201','张晶','2',50,45,67,89)
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03202','姜玲','2',90,98,97,93)
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03203','汪茗','2',98,100,96,97)
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03204','赵骅','2',44,56,46,58)
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03205','桑恬','2',76,70,86,80)
INSERTExam(StudentNo,Sname,Class,Chinese,Math,English,Computer)VALUES('03206','陆锋','2',87,88,85,90)
INSERTUsers(ID,Uname,Password,Depart)VALUES('03101','张咏','password','0')
INSERTUsers(ID,Uname,Password,Depart)VALUES('T20001001','李青旸','password','1')
INSERTUsers(ID,Uname,Password,Depart)VALUES('T20011001','刘咏薇','password','1')
INSERTUsers(ID,Uname,Password,Depart)VALUES('T20022001','张侨玲','password','2')
INSERTUsers(ID,Uname,Password,Depart)VALUES('03205','桑恬','password','0')
INSERTUsers(ID,Uname,Password,Depart)VALUES('03202','姜玲','password','0')
INSERTUsers(ID,Uname,Password,Depart)VALUES('03103','王政','password','0')
INSERTUsers(ID,Uname,Password,Depart)VALUES('03102','刘炎','password','0')
1.1.3功能模块设计
学生成绩管理系统的默认主页是登录页面。
根据登录用户的不同,显示不同的操作页面。
学生只能查询自己的成绩;教师可以查询所有学生的成绩,并且能够插入、修改或删除学生成绩信息。
管理员可以查询用户表,并且能够插入、修改或删除用户信息。
学生成绩管理系统由ASP.NET页面组成,见下表。
文件名称
说明
Default.aspx
默认主页(自动跳转到用户登录页面)
Login.aspx
登录页面(用户输入用户ID和密码及验证码,验证成功后,把用户信息存在Session中,并根据用户的角色,显示不同内容的功能主菜单)
Teacher.master
学生成绩管理系统(教师登录)母版文件
Student.master
学生成绩管理系统(学生登录)母版文件
Admin.master
学生成绩管理系统(管理员登录)母版文件
TMainMenu.aspx
学生成绩管理系统(教师登录)主菜单页面
TSearchBj.aspx
学生成绩管理系统(教师登录)按班级查询(按各种条件查询)页面
TSearchXm.aspx
学生成绩管理系统(教师登录)按姓名查询(按各种条件查询)页面
TmaintainBj.aspx
学生成绩管理系统(教师登录)按班级维护(插入、删除、更新)页面
Tsta.aspx
学生成绩管理系统(教师登录)统计报表页面
SMainMenu.aspx
学生成绩管理系统(学生登录)主菜单页面
SSearch.aspx
学生成绩管理系统(学生登录)查询(只能查自己的成绩)页面
SyMainTain.aspx
学生成绩管理系统(管理员登录)主菜单页面
SySearch.aspx
学生成绩管理系统(管理员登录)用户数据查询页面
SyMainMenu.aspx
学生成绩管理系统(管理员登录)用户数据维护(插入、删除、更新)页面
Exit.aspx
退出系统页面(清除保存在Session中的信息,自动跳转到用户登录页面)
学生成绩管理系统的功能模块及执行流程如下图所示。
1.2学生成绩管理系统的实现
1.2.1创建主页:
登录页面
学生成绩管理系统的默认主页是登录页面。
根据登录用户的不同,显示不同的操作页面。
运行效果如下图所示。
Login.aspx登录页面使用下表所示的WEB窗体控件完成指定的开发任务。
控件类型
ID
说明
TextBox
UserName
用户ID文本框
Horizontal
TextBox
UserPass
口令文本框(TextMode属性为:
Password)
TextBox
UserValidate
验证码文本框
RadioButton
RadioButtonTeacher
教师单选钮(Checked属性为:
True;GroupName属性为:
1)
RadioButton
RadioButtonStudent
学生单选钮(GroupName属性为:
1)
RadioButton
RadioButtonAdmin
管理员单选钮(GroupName属性为:
1)
RequiredFieldValidator
RequiredFieldValidator1
当用户ID文本框没有输入任何字符时,显示提示信息。
(ControlTovalidate属性为:
UserName;ErrorMessage属性为:
请输入用户ID)
RequiredFieldValidator
RequiredFieldValidator2
当口令文本框没有输入任何字符时,显示提示信息。
(ControlTovalidate属性为:
UserPass;ErrorMessage属性为:
口令不能为空)
ImageButton
ChangeCode
产生随机验证码(CausesValidation属性为:
False;ImageUrl属性为:
~/RandomImage.aspx;ToolTip属性为:
看不清楚?
点击图片换一个验证码)
Button
ButtonEnter
登录按钮
Label
Msg
显示用户不存在或密码不一致时的错误提示信息(Text属性为:
空)
操作步骤:
1.运行VisualStudio2008应用程序,新建WEB网站,单击浏览按钮,选择自己的工作区目录。
系统将自动创建一个名为Default.aspx的ASP.NET页面以及一个名为web.config的ASP.NET配置文件。
2.创建默认主页。
修改Default.aspx学生成绩管理系统为默认主页。
用鼠标双击Default.aspx设计页面,利用Page_Load事件函数跳转到Login.aspx登录页面。
代码如下。
protectedvoidPage_Load(objectsender,EventArgse)
{
Response.Redirect("Login.aspx");
}
3.设计登录页面。
在工作目录中创建一个名为Login.aspx的ASP.NET页面,参照上表将控件拖放到工作区,并安排好页面布局,同时修改各控件的属性。
4.在工作目录中创建一个名为RandomImage.aspx的产生随机码的ASP.NET页面。
(代码参考学习固定代码模板)。
RandomImage.aspx.cs的代码如下:
usingSystem;
usingSystem.IO;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Drawing;
usingSystem.Drawing.Imaging;
usingSystem.Drawing.Drawing2D;
usingSystem.Linq;
partialclassRandomImage:
System.Web.UI.Page
{
privatevoidPage_Load(objectsender,EventArgse)
{
stringstr=ValidateCode(4);
DrawValidateCode(str,50,100);
}
privatevoidDrawValidateCode(stringstr,intf,intb)
{
if(str==null||str.Trim()==String.Empty)
{
return;
}
else
{
BitmapbmpImage=newBitmap((int)Math.Ceiling((str.Length*12.5)),22);
Graphicsg=Graphics.FromImage(bmpImage);
try
{
Randomrand=newRandom();
g.Clear(Color.White);
for(inti=0;i
{
intx1=rand.Next(bmpImage.Width);
intx2=rand.Next(bmpImage.Width);
inty1=rand.Next(bmpImage.Height);
inty2=rand.Next(bmpImage.Height);
g.DrawLine(newPen(Color.Silver),x1,y1,x2,y2);
}
Fontfont=newFont("Arial",12,(FontStyle.Bold|FontStyle.Italic));
LinearGradientBrushbrush=newLinearGradientBrush(newRectangle(0,0,bmpImage.Width,bmpImage.Height),Color.Blue,Color.DarkRed,1.2f,true);
g.DrawString(str,font,brush,2,2);
for(inti=0;i { intx=rand.Next(bmpImage.Width); inty=rand.Next(bmpImage.Height); bmpImage.SetPixel(x,y,Color.FromArgb(rand.Next())); } g.DrawRectangle(newPen(Color.Silver),0,0,bmpImage.Width-1,bmpImage.Height-1); MemoryStreammemsMemoryStream=newMemoryStream(); bmpImage.Save(memsMemoryStream,ImageFormat.Gif); Response.ClearContent(); Response.ContentType="image/Gif"; Response.BinaryWrite(memsMemoryStream.ToArray()); } finally { g.Dispose(); bmpImage.Dispose(); } } } privatestringValidateCode(intlength) { intnumber; charcode; stringstr=String.Empty; Randomrand=newRandom();//创建一个产生随机数的对象 for(inti=0;i { number=rand.Next();//产生一个随机数 if(number%2==0) { code=(char)('0'+(char)(number%10)); } else { code=(char)('A'+(char)(number%26)); } str+=code.ToString(); } Session["Code"]=str; returnstr; } #regionWeb窗体设计器生成的代码 overrideprotectedvoidOnInit(EventArgse) { // //CODEGEN: 该调用是ASP.NETWeb窗体设计器所必需的。 // InitializeComponent(); //base.OnInit(e); } /// ///设计器支持所需的方法-不要使用代码编辑器修改 ///此方法的内容。 /// privatevoidInitializeComponent() { this.Load+=newSystem.EventHandler(this.Page_Load); } #endregion } 5.引用指定命名空间。 在Login.aspx代码的头部添加下列指定名称空间的语句,以访问MicrosoftSQLServer数据源。 usingSystem.Data.SqlClient; 6.编写验证码按钮事件处理代码,以产生随机码。 protectedvoidChangeCode_Click(objectsender,ImageClickEventArgse) { this.ChangeCode.ImageUrl="RandomImage.aspx"; } 7.编写登录按钮事件处理代码(在登陆按钮上双击鼠标,或者在“属性”窗口指定Click事件)。 如果用户存在且密码一致,则把查询得到的UserID、UserName和Depa保存到Session中,并且,如果是学生身份登录,则跳转到“SMainMenu.aspx”主菜单页面;如果是教师身份登录,则跳转到“”TMainMenu.aspx主菜单页面;如果是管理员身份登录,则跳转到“SyMainTain.aspx”主菜单页面;如果用户不存在或密码不一致,则显示错误信息: “用户ID或密码有错,请重新输入! ”。 如果验证码不一致,则显示错误信息“抱歉,输入的验证码不正确! ”。 代码如下面加粗所示。 protectedvoidButton1_Click(objectsender,EventArgse) { if(String.Compare(Session["Code"].ToString(),this.UserValidate.Text,true)! =0) { Response.Write(""); return; } //连接到数据库WebDBStudents SqlConnectioncon=newSqlConnection("Server=XP-201210191453\\SQLEXPRESS;IntegratedSecurity=True;database=WebDBStudents"); con.Open(); StringuserID=UserName.Text; Stringpassword=UserPass.Text; StringsSql="select*fromuserswhereID='"+userID+"'andPassword='"+password+"'"; SqlCommandcmd=newSqlCommand(sSql,co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 教案
![提示](https://static.bdocx.com/images/bang_tan.gif)