1、洛 阳 理 工 学 院课 程 设 计 报 告 课程名称 web程序设计课程设计 设计题目 _学生成绩管理系统 专 业 _计算机科学与技术_ 班 级 B100506 学 号 B10050633 姓 名 孙亚威 完成日期 2013.6.20 课 程 设 计 任 务 书设计题目:学生成绩管理系统 设计内容与要求:(1)数据库设计要符合范式要求。(2)能对学生信息、课程信息及成绩等进行添加、删除、修改等操作;(3)提供学生成绩的查询功能,输入学生的学号或姓名,能查找出该生各学期的成绩;(4)提供必要的统计功能,如计算不及格人数、生成给予警告名单等。 指导教师:_ 年 月 日课 程 设 计 评 语 成绩
2、: 指导教师:_ 年 月 日 目录一 系统的需求分析和设计11.1 系统概述11.2系统的需求分析1二 数据库的设计22.1管理员数据库22.2学生信息数据库32.3课程信息数据库32.4成绩信息数据库4三 网站系统的实现43.1登录页面43.2管理员登陆界面63.3学生信息管理界面73.4课程信息管理界面93.5成绩信息管理界面113.5学生登录界面12四 总结14参考文献15摘要随着科学技术的发展,计算机领域不断取得新的研究成果。并不断地代替和延伸脑力劳动方面发挥越来越重要的作用,无论是工业还是日常生活都越来越离不开计算机,尤其是在学校里,随着不同高校的的不断扩大和招生人数的不断增加,要处
3、理大量的学生数据信息显得尤为的重要。学生的信息管理是学校工作中一项重要的内容。本系统论文主要是管理学生的资料。重点介绍其功能:信息添加、信息修改、信息的删除及信息查询。使用进行静态页面设计,应用ASP程序进行后台管理操作。主要是以四大功能进行系统的设计和实现。关键词:ASP 数据库一 系统的需求分析和设计1.1 系统概述经过对部分学生成绩管理网站系统详细调查,并阅读大量相关资料后,加深了对现行管理网站管理业务的了解,在此基础上,对本系统做出简单介绍:本系统提供用户注册、登录功能,且在此基础上可进行成绩的查询、修改、删除、插入等功能,此网站提供友好的页面且是使管理员能够进行简单维护的网站。1.2
4、系统的需求分析如果我国各个学校管理水平还停留在纸介质的基础上,已不能适应时代的发展,因为它浪费了许多人力和物力,在当今的信息时代这种管理方法必然被计算机为基础的信息管理所取代。学生成绩管理系统的开发,适合任何一个大中小学校的管理, 该学生成绩管理系统归纳起来有四点:1信息的插入。可以插入不同地区的学生的姓名、个人联系方法、所在院系、班级及相关情况。实现了信息的动态管理。2信息的查询。学生的信息使管理员可以通过多种方式(年级、班级、姓名、学号、所在系等等)的查询,就可以直接查看自己需要的学生的相关信息。实现了信息的动态管理。 3信息的修改。管理人员可以随时对转入、转出的学生进行修改,比如学号、所
5、在系等等实现了信息的动态管理。4信息的删除。管理人员可以随时对转入、转出的学生进行删除,比如学号、所在系等等实现了信息的动态管理。 好处为: 1 可以存储大量的学生成绩数据,安全、高效; 2 只需一到二名档案录入员即可操作系统,节省大量人力; 3 可以迅速查找到所需要的信息。其功能结构如图:学生成绩管理系统管理员登录学生登录学生信息管理课程信息管理成绩信息管理查询,统计信息按学号查询成绩按姓名查询成绩 二 数据库的设计数据库是整个学生成绩管理系统的核心部分。只有通过数据库的调用才能进行信息更新处理、插入资料、删除资料和查询资料,方便管理进行管理,减少管理员的工作量以及更多的人力。2.1管理员数
6、据库管理员表是用于管理员登陆时用于验证管理员身份,这样使前后台分隔开,保护网站的安全,阻止除了管理员之外的任何人进入后台,威胁到整个网站的安全。包括用户名、密码。 表2.1 管理员登录信息表字段字段名类型是否为主键可否为空no管理员号varchar(10)是否Passwor密码Varchar(50)否否2.2学生信息数据库Student表用于对学生信息的查询,删除,修改,添加,管理员能对student表进行查询,删除,修改等操作,包括学生号,学生名,性别,出生日期等 表4.2学生信息表字段字段名类型是否为主键可否为空sno学生号varchar(10)是否sname学生名Varchar(50)否
7、否sex性别Varchar(10)否否birth出生日期datatime否否2.3课程信息数据库course表用于对课程信息的查询,删除,修改,添加,管理员能对course表进行查询,删除,修改等操作,包括课程号,课程名,学分,教师等信息。 表2.3课程信息表字段字段名类型是否为主键可否为空cno课程号varchar(10)是否cname课程名varchar(50)否否cscore学分varchar(50)否否teacher教师varchar(50)否否2.4成绩信息数据库Score表用于对课程信息的查询,删除,修改,添加,管理员能对course表进行查询,删除,修改等操作,学生可以通过学号和
8、姓名查询自己的成绩,包括课程号,学号,分数,学期等信息字段字段名类型是否为主键可否为空sno学号varchar(10)是否cno课程号varchar(10)是否分数分数varchar(10)否否学期学期datatime否否三 网站系统的实现3.1登录页面运行后的界面:运行代码如下:protected void Button1_Click(object sender, EventArgs e) string sqlconnstr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; SqlConnec
9、tion sqlconn = new SqlConnection(sqlconnstr); SqlCommand sqlcommand = new SqlCommand(); sqlcommand.Connection = sqlconn; sqlconn.Open(); if (DropDownList1.SelectedItem.Text = 学生) sqlcommand.CommandText = select * from student; SqlDataReader sqldatareader = sqlcommand.ExecuteReader(); while (sqldatar
10、eader.Read() strzh = sqldatareadersno.ToString(); strpass = sqldatareadersid.ToString(); if (strzh.Trim() = TextBox1.Text) if (strpass.Trim() = TextBox2.Text) Sessionsno = TextBox1.Text; Sessionsname = sqldatareadersname.ToString(); Response.Redirect(学生界面.aspx); sqlconn.Close(); return; else Message
11、Box(用户名和密码不匹配,请重新输入); else if(DropDownList1.SelectedItem.Text = 管理员) sqlcommand.CommandText = select * from gl; SqlDataReader sqldatareader = sqlcommand.ExecuteReader(); while (sqldatareader.Read() strzh = sqldatareadergno.ToString(); strpass = sqldatareadergid.ToString(); if (strpass.Trim() = TextB
12、ox1.Text) if (strzh.Trim() = TextBox2.Text) Sessiongno = TextBox1.Text; Sessiongname = sqldatareadergname.ToString(); Response.Redirect(管理员界面.aspx); sqlconn.Close(); return; else MessageBox(用户名和密码不匹配,请重新输入); 3.2管理员登陆界面管理员进入系统后的运行界面运行代码如下:protected void Page_Load(object sender, EventArgs e) if (!Page
13、.IsPostBack) if (Sessiongno != null) Label7.Text = 当前用户:+Sessiongno.ToString(); bindgrid(); void bindgrid() string sqlconnstr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; DataSet ds = new DataSet(); using (SqlConnection sqlcom = new SqlConnection(sqlconnstr) SqlDataAdap
14、ter sqld = new SqlDataAdapter(select * from gl, sqlconnstr); sqld.Fill(ds, tabgl); GridView1.DataSource = ds.Tablestabgl.DefaultView; GridView1.DataBind(); protected void Button1_Click(object sender, EventArgs e) string sqlconnstr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionSt
15、ring; DataSet ds = new DataSet(); using (SqlConnection sqlcom = new SqlConnection(sqlconnstr) SqlDataAdapter sqld = new SqlDataAdapter(select * from gl, sqlconnstr); sqld.Fill(ds, tabgl); GridView1.DataSource = ds.Tablestabgl.DefaultView; GridView1.DataBind(); Label6.Text = 查找成功; 3.3学生信息管理界面 运行后的界面:
16、运行代码如下:protected void Page_Load(object sender, EventArgs e) if(!Page.IsPostBack) bindgrid(); void bindgrid() string sqlconnstr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; DataSet ds = new DataSet(); using (SqlConnection sqlcom = new SqlConnection(sqlconnstr) SqlDataAda
17、pter sqld = new SqlDataAdapter(select * from student, sqlconnstr); sqld.Fill(ds, tabstudent); GridView1.DataSource = ds.Tablestabstudent.DefaultView; GridView1.DataBind(); protected void Button1_Click(object sender, EventArgs e) string sqlconnstr = ConfigurationManager.ConnectionStringsConnectionStr
18、ing.ConnectionString; DataSet ds = new DataSet(); using (SqlConnection sqlcom = new SqlConnection(sqlconnstr) SqlDataAdapter sqld = new SqlDataAdapter(select * from student, sqlconnstr); sqld.Fill(ds, tabstudent); GridView1.DataSource = ds.Tablestabstudent.DefaultView; GridView1.DataBind(); Label1.T
19、ext = 查找成功; protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) string sqlconnstr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; SqlConnection sqlconn = new SqlConnection(sqlconnstr); SqlCommand Comm = new SqlCommand(); Comm.Connection = sqlconn
20、; sqlconn.Open(); Comm.CommandText = update student set sname=name where sno=no; Comm.Parameters.AddWithValue(no,GridView1.DataKeyse.RowIndex.Value.ToString(); Comm.Parameters.AddWithValue(name,(TextBox)GridView1.Rowse.RowIndex.Cells1.Controls0).Text); Comm.ExecuteNonQuery(); sqlconn.Close(); sqlcon
21、n = null; Comm = null; GridView1.EditIndex = -1; bindgrid(); protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) GridView1.EditIndex = e.NewEditIndex; bindgrid(); protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) GridView1.EditIndex = -1;
22、 bindgrid(); 3.4课程信息管理界面运行后的界面:运行代码如下:protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) bindgrid(); void bindgrid() string sqlconnstr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; DataSet ds = new DataSet(); using (SqlConnection sqlcom = new SqlC
23、onnection(sqlconnstr) SqlDataAdapter sqld = new SqlDataAdapter(select * from course, sqlconnstr); sqld.Fill(ds, tabcourse); GridView1.DataSource = ds.Tablestabcourse.DefaultView; GridView1.DataBind(); protected void Button1_Click(object sender, EventArgs e) string sqlconnstr = ConfigurationManager.C
24、onnectionStringsConnectionString.ConnectionString; DataSet ds = new DataSet(); using (SqlConnection sqlcom = new SqlConnection(sqlconnstr) SqlDataAdapter sqld = new SqlDataAdapter(select * from course, sqlconnstr); sqld.Fill(ds, tabcourse); GridView1.DataSource = ds.Tablestabcourse.DefaultView; Grid
25、View1.DataBind(); Label1.Text = 查找成功; protected void Button2_Click(object sender, EventArgs e) int intinsertCount; string sqlconnstr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; SqlConnection sqlconn = new SqlConnection(sqlconnstr); SqlCommand sqlcommand = new SqlComman
26、d(); sqlcommand.Connection = sqlconn; sqlcommand.CommandText = insert into course(cno,cname) values(no,name); sqlcommand.Parameters.AddWithValue(no, TextBox1.Text); sqlcommand.Parameters.AddWithValue(name, TextBox2.Text); try sqlconn.Open(); intinsertCount = sqlcommand.ExecuteNonQuery(); if (intinse
27、rtCount 0) Label6.Text = 成功增加记录; catch (Exception ex) Label6.Text = 错误原因: + ex.Message; finally sqlcommand = null; sqlconn.Close(); sqlconn = null; 3.5成绩信息管理界面运行后的界面:运行代码如下protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) bindgrid(); void bindgrid() string sqlconnstr = Confi
28、gurationManager.ConnectionStringsConnectionString.ConnectionString; DataSet ds = new DataSet(); using (SqlConnection sqlcom = new SqlConnection(sqlconnstr) SqlDataAdapter sqld = new SqlDataAdapter(select * from sc, sqlconnstr); sqld.Fill(ds, tabsc); GridView1.DataSource = ds.Tablestabsc.DefaultView;
29、 GridView1.DataBind(); protected void Button3_Click(object sender, EventArgs e) string sqlconnstr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; DataSet ds = new DataSet(); using (SqlConnection sqlcom = new SqlConnection(sqlconnstr) SqlDataAdapter sqld = new SqlDataAdapte
30、r(select * from sc where score -1) st m = (st)MultiView1.ActiveViewIndex; switch (m) case st.s: dos(TextBox1.Text, DropDownList1.SelectedItem.Text, m); break; case st.x: dos(TextBox2.Text.Trim(), DropDownList2.SelectedItem.Text, m); break; case st.no: break; protected void dos(String s1, String s2, st type) string sqlconnstr = ConfigurationManager.ConnectionStringsConnectionString.ConnectionString; DataSet ds = new DataSet(); using (SqlConnection sqlcom = new SqlConnection(sqlconnstr) if (