学生管理系统论文 (2).doc_第1页
学生管理系统论文 (2).doc_第2页
学生管理系统论文 (2).doc_第3页
学生管理系统论文 (2).doc_第4页
学生管理系统论文 (2).doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息技术系2009-2010第一学期ASP.NET项目实训课程论文题目 学生信息管理系统 姓 名: 学 号: 班 级: 负责模块: 学生管理,课程管理模块 小组成员: 成 绩: 评阅教师: 2009年 12月9日学生信息管理系统摘要学生管理系统用于对学生信息管理,教师信息管理,班级管理,成绩管理,学生所在院系,专业管理等。目录:系统功能分析2数据库设计2各个数据表创建3存储过程创建5学生信息管理系统总括6登录模块7教师管理模块8学生管理模块10课程管理模块18成绩管理模块20班级管理模块22退出管理24 2009-12-9正文正文内容如下:一、 系统功能分析功能分析:学生信息管理系统属应用系统。系统是一个集成多功能的信息管理系统,有教师资料管理、学生管理、班级管理、专业管理、课程管理、成绩管理和院系管理功能模块。本系统将大大提高学生信息的管理效率,带来数据共享、网络查询和网络管理等便利,实现学生信息管理的数字化和智能化。1. 模块划分(整个系统功能结构图)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)ASselect 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)ASselect * from student,class where student.classid=class.classid and ( studentname like % + lastname + % or studentid=studentid ) and class.classname=department)管理员添加(register.aspx页面)procAdmin 存储过程:CREATE procedure cAdminAuser char(10),Apwd varchar(50),Atype varchar(20)ASinsert 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_link20=student.aspx target=mainFrame;)注:本页面由Dreamweaver MX 2004实现,经JavaScript代码进行修改而成。2. 全局配置文件:数据库访问类connDB.cs public static SqlConnection createConn() string sms_connstr = System.Configuration.ConfigurationManager.ConnectionStringscon.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, alert(用户已存在!);); else if (this.txtuser.Text = | this.txtpwd.Text = ) Page.ClientScript.RegisterStartupScript(this.GetType(), show_message, alert(用户名和密码不能为空!);); else this.ExecuteInsert(); 2. 用户登录页面(logoin.aspx) 如下图:本页面主要实现用户登录,通过MD5加密算法,确保数据库访问安全性。三、 教师管理模块: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();四、 学生管理模块: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.Rowsi.FindControl(chkSelect); chkSelect.Checked = true; 反选代码:for (int i = 0; i sms_stutent.Rows.Count; i+) CheckBox chkSelect = (CheckBox)sms_stutent.Rowsi.FindControl(chkSelect); chkSelect.Checked = !chkSelect.Checked; 重点难点为:删除按钮的事件,如何取 studentid 的键值,实现方法的代码为: for (int i = 0; i sms_stutent.Rows.Count; i+) CheckBox chkSelect = (CheckBox)sms_stutent.Rowsi.FindControl(chkSelect); if (chkSelect.Checked) /如何选中ID列?str string str = (Label)sms_stutent.Rowsi.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.Stylecolor = red; sms_comm.Connection.Close(); SMS_BindGrid(); 分页中用到(其它分页均用该方式): 当前页: 总页数: asp:LinkButton ID=LinkButtonFirstPage runat=server CommandArgument=First CommandName=Page Enable= Font-Size=Small首页 asp:LinkButton ID=LinkButtonPreviousPage runat=server CommandArgument=Prev CommandName=Page Enable= Font-Size=Small上一页 asp:LinkButton ID=LinkButtonNextPage runat=server CommandArgument=Next CommandName=Page Enable= Font-Size=Small下一页 asp:LinkButton ID=LinkButtonLastPage runat=server CommandArgument=Last CommandName=Page Enable= Font-Size=Small 尾页 实现分页的事件: 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.Parameterslastname.Value = this.txtStuName.Text.Trim().Replace(,); sms_da.SelectCommand.Parametersdepartment.Value = this.DropDownList1.SelectedValue.ToString(); sms_da.SelectCommand.Parametersstudentid.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= 在该页面中获取其id 并对其他控件进行数据绑定,其方法为: string id = Request.QueryStringid; 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.Tabless.Rows00.ToString(); this.txtStudentName.Text = ds.Tabless.Rows01.ToString(); this.rbtnlSex.SelectedValue = ds.Tabless.Rows02.ToString(); this.ddlClass.DataSource = ds.Tabless; this.ddlClass.SelectedItem.Text = ds.Tabless.Rows012.ToString(); this.txtBirthdate.Text = ds.Tabless.Rows03.ToString(); this.txtTelephone.Text = ds.Tabless.Rows05.ToString(); this.txtCredithour.Text = ds.Tabless.Rows06.ToString(); this.ddlRu_date.DataSource = ds.Tabless; this.ddlRu_date.SelectedItem.Text = ds.Tabless.Rows07.ToString(); this.txtPwd.Text = ds.Tabless.Rows09.ToString(); this.txtAddr.Text = ds.Tabless.Rows08.ToString(); this.txtRemark.Text = ds.Tabless.Rows010.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.Stylecolor = 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.Stylecolor = 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,Ro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论