学生管理系统论文.docx

上传人:b****5 文档编号:5037682 上传时间:2022-12-12 格式:DOCX 页数:31 大小:1.03MB
下载 相关 举报
学生管理系统论文.docx_第1页
第1页 / 共31页
学生管理系统论文.docx_第2页
第2页 / 共31页
学生管理系统论文.docx_第3页
第3页 / 共31页
学生管理系统论文.docx_第4页
第4页 / 共31页
学生管理系统论文.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

学生管理系统论文.docx

《学生管理系统论文.docx》由会员分享,可在线阅读,更多相关《学生管理系统论文.docx(31页珍藏版)》请在冰豆网上搜索。

学生管理系统论文.docx

学生管理系统论文

文章由情难枕精心整理,希望对大家的学习和工作带来帮助

整理人:

情难枕

整理时间:

2011-4-10

 

信息技术系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存储过程:

CREATEPROCEDURE[dbo].[Employess_Sel]

@lastnamenvarchar(20),

@departmentvarchar(30)

AS

selectteacherid,teachername,department.departmentid,department.departmentname,sex,telephonefromteacher,departmentwhereteacher.departmentid=department.departmentidand(teachernamelike'%'+@lastname+'%'anddepartment.departmentname=@department)

学生资料查询(student.aspx页面)

Student_Sel存储过程:

CREATEPROCEDURE[dbo].[Student_Sel]

@lastnamenvarchar(20),

@departmentvarchar(30),

@studentidvarchar(10)

AS

select*from[student],[class]wherestudent.classid=class.classidand((studentnamelike'%'+@lastname+'%'orstudentid=@studentid)andclass.classname=@department)

管理员添加(register.aspx页面)

procAdmin存储过程:

CREATEprocedure[dbo].[procAdmin]

@Auserchar(10),

@Apwdvarchar(50),

@Atypevarchar(20)

AS

insertintousers(username,mypassword,usertype)values(@Auser,@Apwd,@Atype)

三、各模块页面设计,具体功能实现

1.学生信息管理系统总括:

开发环境:

MicrosoftVisualStudio2005

开发语言:

C#,JavaScript

数据库:

MicrosoftSQLServer2005

辅助工具:

AdobePhotoshopCS2,DreamweaverMX2004

整体页面架构:

框架集(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.aspxtarget=’mainFrame’。

例如:

item_link[2][0]="student.aspxtarget='mainFrame'";)

注:

本页面由DreamweaverMX2004实现,经JavaScript代码进行修改而成。

2.全局配置文件:

数据库访问类connDB.cs

publicstaticSqlConnectioncreateConn()

{

stringsms_connstr=System.Configuration.ConfigurationManager.ConnectionStrings["con"].ToString();

SqlConnectionconn=newSqlConnection(sms_connstr);

returnconn;

}

3.Web.Config文件

配置信息:

数据库连接字符串

4.Web.sitemap文件

配置整个站点的层次结构

以学生管理为例,站点地图代码如下:

5.SiteMapPath控件

SiteMapPath控件数据内容由Web.sitemap文件自动导航

一、登录模块:

1.用户注册页面(register.aspx)如下图:

本页面可向系统注册管理员,通过身份验证获得整个系统的管理权限。

注册是同过MD5加密算法对密码框(txtpwd.Text)进行加密。

调用加密算法:

Stringstr_pwd=

System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(this.mypassword.Text,"md5").ToString();

实现方法:

首先定义ExecuteInsert()方法(代码详见项目),在点击添加按钮时调用,但在调用前必须判断该注册用户是否已存在或注册的用户和密码不能为空,代码如下;

stringstr_user=txtuser.Text;

stringstr_sel="selectcount(username)fromuserswhereusername='"+str_user+"'";

intcount=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页面传值,来对教师详细资料信息进行数据绑定。

保存按钮主要代码:

stringsms_sqlstr="updateteachersetTeachername='"+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()+"'whereTeacherid='"+TextBox1.Text+"'";

SqlCommandsms_comm=newSqlCommand(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]wherestudent.classid=class.classid";

SqlDataAdaptersms_adp=newSqlDataAdapter(sms_sqlstr,sms_conn);

DataSetsms_ds=newDataSet();

sms_adp.Fill(sms_ds);

sms_conn.Close();

sms_stutent.DataSource=sms_ds;

sms_stutent.DataBind();

sms_ds.Clear();

sms_ds.Dispose();

实现选择删除列的方法:

全选、反选

全选代码:

for(inti=0;i

{

CheckBoxchkSelect=(CheckBox)sms_stutent.Rows[i].FindControl("chkSelect");

chkSelect.Checked=true;

}

反选代码:

for(inti=0;i

{

CheckBoxchkSelect=(CheckBox)sms_stutent.Rows[i].FindControl("chkSelect");

chkSelect.Checked=!

chkSelect.Checked;

}

重点难点为:

删除按钮的事件,如何取studentid的键值,实现方法的代码为:

for(inti=0;i

{

CheckBoxchkSelect=(CheckBox)sms_stutent.Rows[i].FindControl("chkSelect");

if(chkSelect.Checked)

{

//如何选中ID列?

str

stringstr=((Label)sms_stutent.Rows[i].FindControl("Label3")).Text;

stringsms_sqlstr="deletefromstudentwherestudentid='"+str+"'";

SqlCommandsms_comm=newSqlCommand(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();

分页中用到(其它分页均用该方式):

LabelID="LabelCurrentPage"runat="server"Font-Size="Small">当前页:

<%#((GridView)Container.NamingContainer).PageIndex+1%>

Label>

LabelID="LaberPageCount"runat="server"Font-Size="Small">总页数:

<%#((GridView)Container.NamingContainer).PageCount%>

Label>

LinkButtonID="LinkButtonNextPage"runat="server"CommandArgument="Next"CommandName="Page"Enable="<%#((GridView)Container.NamingContainer).PageIndex!

=0%>"Font-Size="Small">下一页

LinkButton>

LinkButtonID="LinkButtonLastPage"runat="server"CommandArgument="Last"CommandName="Page"Enable="<%#((GridView)Container.NamingContainer).PageIndex!

=0%>"

Font-Size="Small">尾页

LinkButton>

LinkButtonID="LinkButtonFirstPage"runat="server"CommandArgument="First"CommandName="Page"

Enable="<%#((GridView)Container.NamingContainer).PageIndex!

=0%>"Font-Size="Small">首页

LinkButton>

LinkButtonID="LinkButtonPreviousPage"runat="server"CommandArgument="Prev"

CommandName="Page"Enable="<%#((GridView)Container.NamingContainer).PageIndex!

=0%>"Font-Size="Small">上一页

LinkButton>

实现分页的事件:

protectedvoidsms_stutent_PageIndexChanging(objectsender,GridViewPageEventArgse){

try{

sms_stutent.PageIndex=e.NewPageIndex;

SMS_BindGrid();

}

catch{}

}

本页面的查询按钮运用的是存储过程进行查询(存储过程见数据库设计),调用存储过程的代码如下:

sms_conn.Open();

SqlCommandsms_comm=newSqlCommand("Student_Sel",sms_conn);

sms_comm.CommandType=CommandType.StoredProcedure;

sms_comm.CommandText="Student_Sel";

sms_comm.Connection=sms_conn;

SqlDataAdaptersms_da=newSqlDataAdapter(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("'","'");

DataSetsms_ds=newDataSet();

sms_da.Fill(sms_ds);

sms_conn.Close();

sms_stutent.DataSource=sms_ds;

sms_stutent.DataBind();

GridView控件中RowDataBound事件,可对其样式进行设置。

鼠标经过行时颜色的变化。

其代码如下:

if(e.Row.RowType==DataContro

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1