学生管理系统论文ASP1NET《ASP点NET项目实训》课程论文.docx
- 文档编号:4640717
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:30
- 大小:1.03MB
学生管理系统论文ASP1NET《ASP点NET项目实训》课程论文.docx
《学生管理系统论文ASP1NET《ASP点NET项目实训》课程论文.docx》由会员分享,可在线阅读,更多相关《学生管理系统论文ASP1NET《ASP点NET项目实训》课程论文.docx(30页珍藏版)》请在冰豆网上搜索。
学生管理系统论文ASP1NET《ASP点NET项目实训》课程论文
信息技术系2009-2010第一学期
《ASP.NET项目实训》课程论文
题目学生信息管理系统
学生信息管理系统
摘要
学生管理系统用于对学生信息管理,教师信息管理,班级管理,成绩管理,学生所在院系,专业管理等。
目录:
系统功能分析………………………………………………………………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","
');");
}
else
{
if(this.txtuser.Text==""||this.txtpwd.Text=="")
{
Page.ClientScript.RegisterStartupScript(this.GetType(),"show_message","
');");
}
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="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> 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> 实现分页的事件: 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==DataControlRowType.DataRow) { //鼠标经过时,行背景色变 e.Row.Attributes.Add("onmouseover","this.style.backgroundColor='#E6F5FA'");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP点NET项目实训 学生 管理 系统 论文 ASP1NET ASP NET 项目 课程