为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

学生管理系统论文

2011-07-14 26页 doc 1MB 64阅读

用户头像

is_488713

暂无简介

举报
学生管理系统论文内容要求: 信息技术系2009-2010第一学期 《ASP.NET项目实训》课程论文 题目 学生信息管理系统 姓 名: 学 号: 班 级: 负责模块: 学生管理,课程管理模块 小组成员: 成 绩: 评阅教师: 2009年 12月9日 学生信息管理系统 摘要 学生管理系统用于对学生信息管理,教师信息管理,班级管理,成绩管理,学生所在院系,专业管理等。 目录: 系统功能分析………………………………………………………………2 数据库设计…………………………………………………………………2 各个数据表创建………………………………………...
学生管理系统论文
内容要求: 信息技术系2009-2010第一学期 《ASP.NET项目实训》课程论文 题目 学生信息管理系统 姓 名: 学 号: 班 级: 负责模块: 学生管理,课程管理模块 小组成员: 成 绩: 评阅教师: 2009年 12月9日 学生信息管理系统 摘要 学生管理系统用于对学生信息管理,教师信息管理,班级管理,成绩管理,学生所在院系,专业管理等。 目录: 系统功能分析………………………………………………………………2 数据库…………………………………………………………………2 各个数据表创建……………………………………………………………3 存储过程创建………………………………………………………………5 学生信息管理系统总括……………………………………………………6 登录模块……………………………………………………………………7 教师管理模块………………………………………………………………8 学生管理模块………………………………………………………………10 课程管理模块………………………………………………………………18 成绩管理模块………………………………………………………………20 班级管理模块………………………………………………………………22 退出管理……………………………………………………………………24 2009-12-9 正文 正文内容如下: 1、​ 系统功能分析 功能分析:学生信息管理系统属应用系统。系统是一个集成多功能的信息管理系统,有教师资料管理、学生管理、班级管理、专业管理、课程管理、成绩管理和院系管理功能模块。本系统将大大提高学生信息的管理效率,带来数据共享、网络查询和网络管理等便利,实现学生信息管理的数字化和智能化。 1.​ 模块划分(整个系统功能结构图) 2.​ 各模块功能简介 登录模块:本模块主要为用户登录,权限验证,管理员添加,实现系统的多用户管理功能,不同权限的用户,可对其进行不同功能的管理。 教师管理模块:本模块主要对教师的资料信息进行查询,删除,修改和添加。 学生管理模块:本模块主要对学生资料信息进行相应的查询,删除,修改和添加。添加了学生所在院系资料与学生所在专业资料,同时可对院系资料与专业资料进行相应的添加,修改,查询。 课程管理模块:本模块主要对课程资料进行管理,对其进行查询,添加,修改和删除。又详细划分了课程类别资料,对其进行如上操作。 成绩管理模块:本模块对学生成绩进行查询操作,如发现成绩有输入错误,可对其进行相应的修改,还可对学生的成绩进行录入‘ 班级管理模块:本模块班级资料信息进行管理,对其进行相应的查询,修改,删除和添加。 2、​ 数据库设计 根据学生管理系统所要求的数据信息,创建数据库SMSStudent ,根据各模块可创建如下10个数据表,其字段名,数据类型等内容如下: 1.​ 各表及字段 Class 表: Course 表: Coursetype 表: Department 表: Grade 表: Speciality 表: Speciality_course 表: Student 表: Teacher 表: Users 表: 添加:class_stu_view 视图表。 2.​ 系统中模块使用的存储过程 本数据库共创建3处存储过程,其存储过程为: 教师资料查询(teacher.aspx页面) Employess_Sel 存储过程: CREATE PROCEDURE [dbo].[Employess_Sel] @lastname nvarchar (20), @department varchar (30) AS select teacherid,teachername,department.departmentid,department.departmentname,sex,telephone from teacher,department where teacher.departmentid=department.departmentid and ( teachername like '%' + @lastname + '%' and department.departmentname=@department) 学生资料查询(student.aspx页面) Student_Sel 存储过程: CREATE PROCEDURE [dbo].[Student_Sel] @lastname nvarchar (20), @department varchar (30), @studentid varchar(10) AS select * from [student],[class] where student.classid=class.classid and (( studentname like '%' + @lastname + '%' or studentid=@studentid ) and class.classname=@department) 管理员添加(register.aspx页面) procAdmin 存储过程: CREATE procedure [dbo].[procAdmin] @Auser char(10), @Apwd varchar(50), @Atype varchar(20) AS insert into users(username,mypassword,usertype) values(@Auser,@Apwd,@Atype) 三、各模块页面设计,具体功能实现 1. 学生信息管理系统总括: 开发环境:Microsoft Visual Studio 2005 开发语言:C#,JavaScript 数据库: Microsoft SQL Server 2005 辅助工具:Adobe Photoshop CS2,Dreamweaver MX 2004 整体页面架构: 框架集(crm_admin_main.htm)(Width=763) 如上图所示 四个框架内容文件:(top.htm, left.htm, switch.htm, body.htm) 1.​ top.htm页面:JavaScript 特效rain.js(详细代码见项目); 2.​ left.htm页面:JavaScript 级联菜单,全部由JavaScript生成,通过数组定义子菜单,可任意添加目录项与级联子项,程序可扩展性良好。 3.​ switch .htm页面:JavaScript 作开关按钮,实现框架的展开与合并功能。 4.​ body.htm页面:定位框架的主内容文件。(主要是aspx文件的定位:后面加xxx.aspx target=’mainFrame’。例如:item_link[2][0]="student.aspx target='mainFrame'";) 注:本页面由Dreamweaver MX 2004实现,经JavaScript代码进行修改而成。 2. 全局配置文件: 数据库访问类connDB.cs public static SqlConnection createConn() { string sms_connstr = System.Configuration.ConfigurationManager.ConnectionStrings["con"].ToString(); SqlConnection conn = new SqlConnection(sms_connstr); return conn; } 3.​ Web.Config文件 配置信息:数据库连接字符串 4.​ Web.sitemap文件 配置整个站点的层次结构 以学生管理为例,站点地图代码如下: 5. SiteMapPath控件 SiteMapPath控件数据内容由Web.sitemap文件自动导航 一、登录模块: 1. 用户注册页面(register.aspx) 如下图: 本页面可向系统注册管理员,通过身份验证获得整个系统的管理权限。注册是同过MD5加密算法对密码框(txtpwd.Text)进行加密。 调用加密算法:String str_pwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(this.mypassword.Text, "md5").ToString(); 实现方法:首先定义 ExecuteInsert() 方法(代码详见项目),在点击添加按钮时调用,但在调用前必须判断该注册用户是否已存在或注册的用户和密码不能为空,代码如下; string str_user = txtuser.Text; string str_sel = "select count(username) from users where username='" + str_user + "'"; int count = data.ExecuteSel(str_sel); if (count > 0)//用户已存在 { Page.ClientScript.RegisterStartupScript(this.GetType(), "show_message", ""); } else { if (this.txtuser.Text == "" || this.txtpwd.Text == "") { Page.ClientScript.RegisterStartupScript(this.GetType(), "show_message", ""); } else { this.ExecuteInsert(); } } 2. 用户登录页面(logoin.aspx) 如下图: 本页面主要实现用户登录,通过MD5加密算法,确保数据库访问安全性。 3、​ 教师管理模块: 1.​ 教师资料管理页面 (teacher.aspx) 本页面主要对教师资料管理,查询和删除。 2.​ 教师资料添加页面(addteacher.aspx) 本页面主要对教师资料进行添加功能,对应 teacher 表。 3.​ 教师信息修改页面(Editteacher.aspx) 此页面通过 teacher.aspx 页面传值,来对教师详细资料信息进行数据绑定。保存按钮主要代码: string sms_sqlstr = "update teacher set Teachername='" + TextBox2.Text + "',sex='" + RadioButtonList1.SelectedItem.Text + "',technicalpost='" + DropDownList2.SelectedItem.Text + "',telephone='" + TextBox8.Text + "',homeaddr='" + TextBox7.Text + "',pwd='" + TextBox9.Text + "',remark='" + TextBox6.Text + "',departmentid='" + DropDownList3.SelectedValue.ToString() + "' where Teacherid='" + TextBox1.Text + "'"; SqlCommand sms_comm = new SqlCommand(sms_sqlstr, sms_conn); sms_comm.Connection.Open(); 4、​  5、​ 学生管理模块: 1.​ 学生资料管理页面(student.aspx) 如下图所示: 数据绑定控件GridView ,掌握该控件的灵活用法,掌握常用属性设置,主要实现其数据绑定功能与分页功能。数据绑定的实现方式很多,可选用直接绑定 BoundField ,或选用 TemplateField等,如学号,姓名,选择删除字段用的是 TemplateField ,在 TemplateField 区域中放入相应的控件,作成如图效果,掌握数据集对控件数据的填充方法,代码如下: sms_conn.Open(); sms_sqlstr = "select * from [student],[class] where student.classid=class.classid"; SqlDataAdapter sms_adp = new SqlDataAdapter(sms_sqlstr,sms_conn); DataSet sms_ds = new DataSet(); sms_adp.Fill(sms_ds); sms_conn.Close(); sms_stutent.DataSource = sms_ds; sms_stutent.DataBind(); sms_ds.Clear(); sms_ds.Dispose(); 实现选择删除列的方法:全选、反选 全选代码: for (int i = 0; i < sms_stutent.Rows.Count; i++) { CheckBox chkSelect = (CheckBox)sms_stutent.Rows[i].FindControl("chkSelect"); chkSelect.Checked = true; } 反选代码: for (int i = 0; i < sms_stutent.Rows.Count; i++) { CheckBox chkSelect = (CheckBox)sms_stutent.Rows[i].FindControl("chkSelect"); chkSelect.Checked = !chkSelect.Checked; } 重点难点为:删除按钮的事件,如何取 studentid 的键值,实现方法的代码为: for (int i = 0; i < sms_stutent.Rows.Count; i++) { CheckBox chkSelect = (CheckBox)sms_stutent.Rows[i].FindControl("chkSelect"); if (chkSelect.Checked) { //如何选中ID列?str string str = ((Label)sms_stutent.Rows[i].FindControl("Label3")).Text; string sms_sqlstr = "delete from student where studentid='" + str + "'"; SqlCommand sms_comm = new SqlCommand(sms_sqlstr, sms_conn); sms_comm.Connection.Open(); try { sms_comm.ExecuteNonQuery(); sms_lbl_note.Text = "删除成功"; } catch (SqlException) { sms_lbl_note.Text = "删除失败"; sms_lbl_note.Style["color"] = "red"; } sms_comm.Connection.Close(); } } SMS_BindGrid(); 分页中用到(其它分页均用该方式):
当前页:<%# ((GridView)Container.NamingContainer).PageIndex+1 %> 总页数:<%#((GridView)Container.NamingContainer).PageCount %> 首页 上一页 下一页 尾页
实现分页的事件: protected void sms_stutent_PageIndexChanging(object sender, GridViewPageEventArgs e) { try { sms_stutent.PageIndex = e.NewPageIndex; SMS_BindGrid(); } catch { } } 本页面的查询按钮运用的是存储过程进行查询(存储过程见数据库设计),调用存储过程的代码如下: sms_conn.Open(); SqlCommand sms_comm = new SqlCommand("Student_Sel",sms_conn); sms_comm.CommandType = CommandType.StoredProcedure; sms_comm.CommandText = "Student_Sel"; sms_comm.Connection =sms_conn; SqlDataAdapter sms_da = new SqlDataAdapter(sms_comm); sms_da.SelectCommand.Parameters.Add("@lastname",SqlDbType.NVarChar); sms_da.SelectCommand.Parameters.Add("@department", SqlDbType.VarChar,30); sms_da.SelectCommand.Parameters.Add("@studentid", SqlDbType.VarChar,10); sms_da.SelectCommand.Parameters["@lastname"].Value = this.txtStuName.Text.Trim().Replace("'","'"); sms_da.SelectCommand.Parameters["@department"].Value = this.DropDownList1.SelectedValue.ToString(); sms_da.SelectCommand.Parameters["@studentid"].Value = this.txtStuID.Text.Trim().Replace("'","'"); DataSet sms_ds = new DataSet(); sms_da.Fill(sms_ds); sms_conn.Close(); sms_stutent.DataSource = sms_ds; sms_stutent.DataBind(); GridView控件中RowDataBound 事件,可对其样式进行设置。鼠标经过行时颜色的变化。其代码如下: if (e.Row.RowType == DataControlRowType.DataRow) { //鼠标经过时,行背景色变 e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#E6F5FA'"); //鼠标移出时,行背景色变 e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'"); //如果是绑定数据行 } 注:其他也面凡是用到GridView 控件均用到该事件。 2.​ 学生资料编辑页面(Editstu.aspx) 主要对所对应得学生信息进行编辑修改,本页面的重点为页面之间的传值,在 student.aspx 页面中设置学号列中HyperLink 控件的属性: NavigateUrl='<%# Eval("studentid", "Editstu.aspx?id={0}") %>' 在该页面中获取其id 并对其他控件进行数据绑定,其方法为: string id = Request.QueryString["id"]; string sqlstr = "select * from class_stu_view where studentid='" + id + "' "; SqlCommand cmd = new SqlCommand(sqlstr, conn); SqlDataAdapter ads = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); ads.Fill(ds, "s"); this.txtStudentID.Text = ds.Tables["s"].Rows[0][0].ToString(); this.txtStudentName.Text = ds.Tables["s"].Rows[0][1].ToString(); this.rbtnlSex.SelectedValue = ds.Tables["s"].Rows[0][2].ToString(); this.ddlClass.DataSource = ds.Tables["s"]; this.ddlClass.SelectedItem.Text = ds.Tables["s"].Rows[0][12].ToString(); this.txtBirthdate.Text = ds.Tables["s"].Rows[0][3].ToString(); this.txtTelephone.Text = ds.Tables["s"].Rows[0][5].ToString(); this.txtCredithour.Text = ds.Tables["s"].Rows[0][6].ToString(); this.ddlRu_date.DataSource = ds.Tables["s"]; this.ddlRu_date.SelectedItem.Text = ds.Tables["s"].Rows[0][7].ToString(); this.txtPwd.Text = ds.Tables["s"].Rows[0][9].ToString(); this.txtAddr.Text = ds.Tables["s"].Rows[0][8].ToString(); this.txtRemark.Text = ds.Tables["s"].Rows[0][10].ToString(); 数据绑定之后,可对其相应的信息进行修改、更新,其代码为: string sms_sqlstr = "update student set studentname='" + txtStudentName.Text + "',sex='" + rbtnlSex.SelectedItem.Text + "',telephone='" + txtTelephone.Text + "',address='" + txtAddr.Text + "',credithour='" + txtCredithour.Text + "',pwd='" + txtPwd.Text + "',remark='" + txtRemark.Text + "',ru_date='" + ddlRu_date.SelectedValue.ToString() + "',birthday='" + txtBirthdate.Text + "' where studentid='" + txtStudentID.Text + "'"; SqlCommand sms_comm = new SqlCommand(sms_sqlstr, conn); sms_comm.Connection.Open(); try { sms_comm.ExecuteNonQuery(); sms_lbl_note.Text = "编辑成功"; } catch (SqlException) { sms_lbl_note.Text = "编辑失败"; sms_lbl_note.Style["color"] = "red"; } sms_comm.Connection.Close(); sms_DataBind(); 3.​ 学生资料添加页面(addstu.aspx) 本页面主要对学生的信息进行相应的添加功能,主要运用了 insert SQL语句: sms_sqlstr = "insert into student(studentname,sex,classid,telephone,address,pwd,remark,ru_date,studentid,birthday,credithour) values('"+txtStudentName.Text+"','"+rbtnlSex.SelectedItem.Text+"','"+ddlClass.SelectedValue.ToString()+"','"+txtTelephone.Text+"','"+txtAddr.Text+"','"+txtPwd.Text+"','"+txtRemark.Text+"','"+ddlRu_date.Text+"','"+txtStudentID.Text+"','"+txtBirthdate.Text+"','"+txtCredithour.Text+"')"; SqlCommand sms_comm=new SqlCommand(sms_sqlstr,sms_conn); sms_comm.Connection.Open(); try { sms_comm.ExecuteNonQuery(); sms_lbl_note.Text = "编辑成功"; } catch (SqlException){ sms_lbl_note.Text = "编辑失败"; sms_lbl_note.Style["color"] = "red"; } sms_comm.Connection.Close(); 4.​ 学生所在院系资料页面(Department.aspx) 本页面采用Repeater控件实现数据绑定:具体实现方法为首先创建3行5列的进行布局,在其对应的单元格填充相关内容和控件,然后切换到源代码文件中在其Repeater控件代码处添加 , 在将表格代码剪切到其标记内部即可。Repeater控件的 ItemCommand 事件,内部控件的事件均发生在其内部。其功能主要是对该控件内部的控件(LinkButton控件)进行事件的编辑,其代码如下: public void RepeaterIC(object sender,RepeaterCommandEventArgs e) { System.Web.UI.WebControls.LinkButton update = (LinkButton)e.Item.FindControl("LinkButton2"); System.Web.UI.WebControls.LinkButton cancel = (LinkButton)e.Item.FindControl("LinkButton1"); System.Web.UI.WebControls.LinkButton edit = (LinkButton)e.Item.FindControl("LinkButton3"); System.Web.UI.WebControls.LinkButton delete = (LinkButton)e.Item.FindControl("LinkButton4"); System.Web.UI.WebControls.Label LabDepid = (Label)e.Item.FindControl("LabDepid"); System.Web.UI.WebControls.Label LabDepname = (Label)e.Item.FindControl("LabDepname"); System.Web.UI.WebControls.Label LabDephead = (Label)e.Item.FindControl("LabDephead"); System.Web.UI.WebControls.TextBox TetDepid = (TextBox)e.Item.FindControl("TxtDepid"); System.Web.UI.WebControls.TextBox TetDepname = (TextBox)e.Item.FindControl("TxtDepname"); System.Web.UI.WebControls.TextBox TetDephead = (TextBox)e.Item.FindControl("TxtDephead"); if (e.CommandName == "edit") { update.Visible = true; cancel.Visible = true; edit.Visible = false; LabDepname.Visible = false; LabDephead.Visible = false; TetDepname.Visible = true; TetDephead.Visible = true; } if (e.CommandName == "cancel") { SMS_BindRepeater(); } if (e.CommandName == "update") { sqlstr = "update Department set departmentname='" + TetDepname.Text + "',departmenthead='" + TetDephead.Text + "'where departmentid='" + LabDepid.Text + "'"; SqlCommand sqlcom = new SqlCommand(sqlstr, sms_conn); sms_conn.Open(); sqlcom.ExecuteNonQuery(); SMS_BindRepeater(); sms_conn.Close(); } if (e.CommandName == "delete") { sqlstr = "delete Department where departmentid='" + LabDepid.Text + "'"; SqlCommand sqlcom = new SqlCommand(sqlstr, sms_conn); sms_conn.Open(); sqlcom.ExecuteNonQuery(); SMS_BindRepeater(); sms_conn.Close(); } } 系部查询按钮事件直接用SQL语句实现 5.​ 系部资料添加页面(addDepartment.aspx) 该页面主要实现系部资料的添加功能,其内容对应数据库 Department 表。 6.​ 学生所在专业资料页面(speciality.aspx) 本页面主要对学生所在专业资料进行管理,并可对专业名称进行修改。其主要代码为GridView 事件代码,有RowCancelingEdit,RowEditing,RowUpdating等事件。其主要代码为SQL语句 ,利用数据集对数据进行填充绑定。 其中,分页,删除,反选,全选,取消事件同student.aspx页面。 7.​ 专业资料添加页面(addspeciality.aspx) 本页面主要实现专业信息的添加,对应 speciality 表。 6、​ 课程管理模块: 1.​ 课程资料管理页面(course.aspx) 本页面对课程进行系统管理,功能的实现主要为GridView 控件的使用。其课程查询按钮的代码为: sms_sqlstr = "select * from [course],[coursetype] where course.coursetypeid=coursetype.coursetypeid and (coursename='" + TextBox1.Text + "' or courseid='" + TextBox2.Text + "' or coursetype.typename='" + DropDownList1.SelectedItem.Text + "')"; sms_conn.Open(); SqlDataAdapter sms_da = new SqlDataAdapter(sms_sqlstr, sms_conn); DataSet sms_ds = new DataSet(); sms_da.Fill(sms_ds); sms_conn.Close(); sms_course.DataSource = sms_ds; sms_course.DataBind(); 2.​ 课程资料添加页面(addcourse.aspx) 该页面对学生所修课程进行相应的添加,对应 Course 表。添加代码: sms_sqlstr = "insert into course(courseid,coursename,coursetypeid,credithour,totalperiod,weekperiod,remark) values('"+txtCourseID.Text+"','"+txtCourseName.Text+"','"+ddlCourseType.SelectedValue.ToString()+"','"+ddlCredithour.SelectedValue.ToString()+"','"+txtTotalperiod.Text+"','"+ddlWeekperiod.SelectedValue.ToString()+"','"+txtRemark.Text+"')"; SqlCommand sms_comm = new SqlCommand(sms_sqlstr,sms_conn); sms_comm.Connection.Open(); try { sms_comm.ExecuteNonQuery(); Response.Redirect("course.aspx"); sms_lbl_note.Text = "添加成功"; } catch{ sms_lbl_note.Text = "添加失败"; sms_lbl_note.Style["color"] = "red"; } sms_comm.Connection.Close(); 3.​ 课程类别资料页面(coursetype.aspx) 本页面对课程进行分类管理,可对课程名进行相应修改操作,用Repeater 控件实现,具体做法为,在控件中布局1行7列的表格,并对相应字段进行数据绑定。 该页面的查询按钮事件代码: sqlstr = "select * from coursetype where coursetypeid='"+DropDownList1.SelectedValue.ToString() +"'"; SqlDataAdapter cmd = new SqlDataAdapter(sqlstr, sms_conn); DataSet ds = new DataSet(); cmd.Fill(ds, "T"); RepeaterD.DataSource = ds.Tables["T"]; RepeaterD.DataBind(); 4.​ 课程类别资料添加页面(addcoursetype.aspx) 本页面主要对课程的类别添加,对应 coursetype 表。 7、​ 成绩管理模块: 1.​ 学生成绩查询页面(grade.aspx) 本页面实现了对学生成绩查询管理,以课程名为导航,使用DataList 控件对课程号进行传值绑定,实现课程所对应学生成绩查询功能,其DataList主属性代码为: NavigateUrl='<%#Eval("courseid","grade.aspx?id={0}")%>'><%#Eval("coursename")%> 使用GridView 对其成绩进行相应的绑定,如若发现其成绩有输入错误,经获权限后方可对其进行修改(权限用户方面作的不好,有待实现),其中编辑实现为GridView 事 件代码,有RowCancelingEdit,RowEditing,RowUpdating等事件。其主要代码为SQL语句 ,利用数据集对数据进行填充绑定。 该页面的查询按钮事件代码: if (txtStudentName.Text == "" && txtStudentID.Text != "") { sms_sqlstr = "select * from [student],[grade],[course] where grade.studentid=student.studentid and grade.courseid=course.courseid and (student.studentid='" +txtStudentID.Text+ "')"; } else if (txtStudentID.Text == "" && (txtStudentName.Text!= "")) { sms_sqlstr = "select * from [student],[grade],[course] where grade.studentid=student.studentid and grade.courseid=course.courseid and (student.studentname='" +txtStudentName.Text + "')"; } else if ((txtStudentName.Text== "") && (txtStudentID.Text== "")) { sms_sqlstr = "select * from [student],[grade],[course] where grade.studentid=student.studentid and grade.courseid=course.courseid and (student.studentname='" +txtStudentName.Text+ "' or student.studentid='" +txtStudentID.Text+ "' or course.coursename='" + DropDownList1.SelectedItem.Text + "')"; } else { sms_sqlstr = "select * from [student],[grade],[course] where grade.studentid=student.studentid and grade.courseid=course.courseid and (student.studentname='" +txtStudentName.Text+ "' or student.studentid='" +txtStudentID.Text+ "' or course.coursename='" + DropDownList1.SelectedItem.Text + "')"; } sms_conn.Open(); SqlDataAdapter sms_da = new SqlDataAdapter(sms_sqlstr, sms_conn); DataSet sms_ds = new DataSet(); sms_da.Fill(sms_ds); sms_conn.Close(); sms_grade.DataSource = sms_ds; sms_grade.DataBind(); txtStudentName.Text= ""; txtStudentID.EnableViewState = false; 其中,分页,删除,反选,全选,取消事件同student.aspx页面。 2.​ 学生成绩录入页面(addgrade.aspx) 本页面主要对学生的成绩进行录入,其缺点为只能同时对1个同学,进行数据输入,如若人数较多时,效率很低,可对其进行改进,利用通过鼠标点击某个班级,直接跳转到全班学生,可对其进行一一录入,可用GridView 等数据绑定控件实现。 本页面得功能是利用回传页面,通过输入学号,对学生姓名,所修学分,进行数据刷新,从而确定其成绩,其回传代码为: if (IsPostBack) { try { string sqlstr = "select studentname,credithour from student where studentid='" + txtStudentID.Text + "'"; SqlCommand cmd = new SqlCommand(sqlstr, sms_conn); sms_conn.Open(); cmd.ExecuteScalar(); SqlDataAdapter adp = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); adp.Fill(ds, "T"); Label2.Text = ds.Tables["T"].Rows[0][0].ToString(); Label1.Text = ds.Tables["T"].Rows[0][1].ToString(); } catch (Exception) { sms_lbl_note.Text = "输入的学号不存在,核对后请重新输入!"; sms_lbl_note.Style["color"] = "red"; } } else { ddlBind(); } 对学生成绩录入时首先判断学生成绩是否已存在,若存在,录入失败!!,否则,成绩录入成功! 8、​ 班级管理模块: 1.​ 班级资料管理页面(calss.aspx) 本页面对班级资料管理,通过查询按钮可对班级信息查询,同样用到 GridView 控件对其数据进行绑定,该页面的查询按钮事件代码:、 string sms_sqlstr = "select * from [class],[speciality],[student] where speciality.specialityid=class.specialityid and student.studentid=class.monitorid and (classname='" +txtClassName.Text+ "' or speciality.specialityname='" + DropDownList1.SelectedItem.Text + "')"; sms_conn.Open(); SqlDataAdapter sms_da = new SqlDataAdapter(sms_sqlstr, sms_conn); DataSet sms_ds = new DataSet(); sms_da.Fill(sms_ds); sms_conn.Close(); sms_class.DataSource = sms_ds; sms_class.DataBind(); 注:该处所遇到的问题:该班级有多少名学生,就对应几条同样班级信息的资料。问题已解决:关联表的条件不正确, 条件语句是where student.studentid=class.monitorid,并非是student.classid=class.classid!! GridView中编辑列有RowCancelingEdit,RowEditing,RowUpdating,RowDeleting等事件,通过权限可对详细资
/
本文档为【学生管理系统论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索