1、 课 程 设 计 说 明 书 数据库课程实验周 学生姓名: 学 号: 学 院: 专 业: 计算机科学与技术 题 目: 学生成绩管理系统 ——登录模块子系统 指导教师: 2023年 6 月10日 1 系统设计 1.1设计目的 开发这个系统的目的就是使学生在毕业设计选题环节中实现选题的规范化、智能化、高效化、简便化;同时极大得便捷学生和指导老师,减轻学生和老师的劳动强度,提高工作效率和管理水平。 本设
2、计的任务是编程实现“学生成绩管理系统”,重要涉及用户登录(该系统中涉及到的用户涉及学生、任课教师、教务处,输入自己的账号和密码登录系统后,进入不同的操作界面)、学生基本信息管理(学生的基本信息进行管理,可以方便灵活的进行添加、删除、修改和查询的功能)、学生选课管理(对现有的课程信息进行查询,保存学生选课信息)、 成绩管理(成绩录入和成绩查询两部分。一方面教师可以通过成绩录入对成绩进行添加和维护。然后学生便可以通过各种查询方式显示出自己各科的成绩)。 1.2 开发和运营环境选择 开发工具: 前台开发语言为C#,后台数据库为SQL Server。 运营环境:windows XP及更高的操作系
3、统。 2. 数据库设计 2.1 需求描述 重要涉及用户登录(该系统中涉及到的用户涉及学生、任课教师、教务处,输入自己的账号和密码登录系统后,进入不同的操作界面)、学生基本信息管理(学生的基本信息进行管理,可以方便灵活的进行添加、删除、修改和查询的功能)、学生选课管理(对现有的课程信息进行查询,保存学生选课信息)、 成绩管理(成绩录入和成绩查询两部分。一方面教师可以通过成绩录入对成绩进行添加和维护。然后学生便可以通过各种查询方式显示出自己各科的成绩)。 2.2 数据库概念设计 学生 姓名 专业 班级 学号 密码
4、 图2.1 学生基本信息属性图 课 程 课程号 课程名 上课教师 上课时间 上课地点 学 分 图2.2学生选课属性图 教 师 权 限 课程名 课 程 号 专 业 密 码 图2.3 成绩管理属性图 教 师 课程 学生 选 课 成 绩 图2.4 学生成绩管理实体属性图 2.3 数据库逻辑设计 表2.1 学生信息表 字段名称 字段类型 长度 是否为
5、空 备注 ID号 文本 6 否 主键 学号 文本 8 否 姓名 文本 13 否 班级 文本 20 否 专业 文本 20 否 年龄 文本 4 否 性别 文本 4 否 密码 文本 10 否 表2.2 用户表 字段名称 数据类型 长度 是否为空 备注 ID号码 自动编号 否 主键 账号 文本 20 否 密码 文本 20 否 表2.3 选课表 字段名称 数据类型 长度 是否为空 备注 ID 文本 10 否 主键
6、课程号 文本 10 否 课程名 文本 50 否 上课教师 文本 5 否 上课时间 文本 10 否 上课地点 文本 20 否 备注 文本 50 否 表2.4 成绩表 字段名称 数据类型 长度 是否为空 备注 ID 文本 50 否 主键 学号 文本 50 否 姓名 文本 10 否 班级 文本 20 否 课程号 文本 50 否 课程名 文本 20 否 上课教师 文本 5 否 成绩 文本 10 否
7、 3 学生成绩管理系统(登陆子系统)具体设计 3.1登陆界面权限选择 protected void xueshengdenglu_Click(object sender, EventArgs e) { Response.Redirect("Student/StudentLogin.aspx"); } protected void jiaoshidenglu_Click(object sender, EventArgs e) { Response.Redirect("Teache
8、r/TeacherLogin.aspx"); } protected void jiaowuchudenglu_Click(object sender, EventArgs e) { Response.Redirect("Admin/AdminLogin.aspx"); } 3.2管理员登陆界面 protected void queding1_Click(object sender, EventArgs e) { { SqlConnection con = new S
9、qlConnection("server=.;database=GradeManage;uid=sa;pwd=123;"); string sql = "select * from Admin where aname='" + zhanghaok1.Text + "' and apwd='" + mimak1.Text + "'"; Response.Write(sql); SqlCommand cmd = new SqlCommand(sql, con); con.Open();
10、 SqlDataReader set1 = cmd.ExecuteReader(); if (set1.Read()) { Response.Redirect("AdminIndex.aspx"); } else { Label3.Text = "sdscdscd"; } set1.Close();
11、 con.Close(); } } protected void Button1_Click(object sender, EventArgs e) { Response.Redirect("~/denglu.aspx");} 3.3教师登陆界面 protected void queding_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection( "serv
12、er=.;database=GradeManage;uid=sa;pwd=123;"); string sql = "select * from Teacher where tname='" + zhanghaok.Text + "' and tpwd='" + mimak.Text + "'"; Response.Write(sql); //return; SqlCommand cmd = new SqlCommand(sql, con); con.Open(); SqlD
13、ataReader set1 = cmd.ExecuteReader(); if (set1.Read()) { Response.Redirect("TercherIndex.aspx"); } else { } set1.Close(); con.Close(); } protected void Button1_Click(object sender, EventArgs e)
14、 { Response.Redirect("~/denglu.aspx"); } 3.4学生登陆界面 protected void Button1_Click(object sender, EventArgs e) { SqlConnection con = new SqlConnection( "server=.;database=GradeManage;uid=sa;pwd=123;"); string sql = "select * from Student where
15、 sn='" + zhanghao2.Text + "' and pwd='" + mimak2.Text + "'"; Response.Write(sql); //return; SqlCommand cmd = new SqlCommand(sql, con); con.Open(); SqlDataReader set1 = cmd.ExecuteReader(); if (set1.Read()) { Response
16、Redirect("StudentIndex.aspx"); } else { Label3.Text = "sdscdscd"; } set1.Close(); con.Close(); } protected void Button2_Click1(object sender, EventArgs e) { Response.Redirect("~/denglu.aspx
17、"); } 4 系统测试 4.1管理员登陆进入 4.2管理员界面 点击管理员权限,进入管理员登陆界面,输入帐号和密码,然后进入管理员界面。 4.3教师登陆进入 4.4教师界面 点击教师权限,进入教师登陆界面,输入帐号和密码,然后进入教师界面。 4.5学生登陆进入 4.6学生界面 点击学生权限,进入学生登陆界面,输入帐号和密码,然后进入学生界面。 5 个人体会 本人在老师的指导下,顺利完毕了该课程设计。收获颇多。 通过该课程设计,全面系统的了解了用C#语言SQL数据库编写程序的方法和环节。把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的数据库编译原理的知识强化,可以把课堂上学的知识通过自己设计的程序表达出来,加深了对理论知识的理解。并且发现课程设计中程序比较复杂,在调试时应当仔细,碰到问题应当逐步去运营,然后调试、更改。 在这次课程设计中,我就是按照实验指导的思想来完毕。更加了解了数据库程序编译原理,并且最重要、最离不开的一点就是老师和同学的帮助,从而最终使我最终完毕了本次课程设计。在各个方面有了显著的提高。






