学生信息管理系统C#版.docx

上传人:b****5 文档编号:6110417 上传时间:2023-01-03 格式:DOCX 页数:33 大小:224.12KB
下载 相关 举报
学生信息管理系统C#版.docx_第1页
第1页 / 共33页
学生信息管理系统C#版.docx_第2页
第2页 / 共33页
学生信息管理系统C#版.docx_第3页
第3页 / 共33页
学生信息管理系统C#版.docx_第4页
第4页 / 共33页
学生信息管理系统C#版.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

学生信息管理系统C#版.docx

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

学生信息管理系统C#版.docx

学生信息管理系统C#版

学生信息管理系统

1.需求分析

为了提高系统开发水平和应用效果,系统应符合中国计量学院信息管理规定,满足对学校学生信息管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。

系统采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。

根据需求分析,本系统要实现以下基本功能。

(1)学生信息查询功能:

查询学生姓名、学号、年龄、性别、身份证、出生日期、宿舍、入学时间、政治面貌、所在学院、所学专业等信息。

查询功能相当强大,按专业查询,可以查出该专业的全部学生;按身份证查询,可以查出的特定的学生;按学院查询,可以查出所属学院的全部学生。

同时也可以按姓名,学号查询

(2)添加功能:

对数据库中的数据进行添加,系统可以避免重复信息。

(3)修改功能:

对数据库中的信息进行修改。

系统能够通过用户给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。

(4)删除功能:

对数据进行删除操作。

系统能够通过用户给出的条件查找出所要删除的信息并删除。

 

2.系统功能设计

学生信息管理系统主要实现学生信息的增、删、改、查询等功能。

 

E-R图

 

3数据分析与数据库设计

3.1数据字典

该系统中共需要创建四个数据表:

学生信息表、学院信息表、专业信息表、寝室信息。

1.学生信息表student

2.学院信息表college

3.专业信息表profession

4.寝室信息表dorm

3.2数据录入

1学生信息录入

2学院信息录入

3专业信息录入

4寝室信息录入

建立关系图

建立学生基本信息视图

4C#界面设计

具体代码如下:

protectedvoidbtnloginclick(objectsender,eventargse)

{

Stringidentity=rblidentity.Selectedvalue;

Objectobjentity;

Switch(identity)

{

Case”admin”:

Objentity=Blladminuser.login(user,pwd);

Break;

Case”profession”:

Objentity=Bllprofession.login(user,pwd);

Break;

Case”classmit”:

Objentity=Bllclassmit.login(user,pwd);

Break;

Case”student”:

Objentity=Bllstudent.login(user,pwd);

Break;

Default:

Objentity=null;

Break;

}

If(objentity==null){

//提示登陆失败

}

}

查看学生信息

代码如下:

publicpartialclassadmin_student_DetailShow:

System.Web.UI.Page

{

protectedEntity_StudentinsStu;

protectedvoidPage_Load(objectsender,EventArgse)

{

if(!

IsPostBack)

{

//检查权限:

班主任和学生可浏览此页面,所以登录者可能是班主任,也可能是学生

Entity_ClassesinsClass=Session["loginUser_Entity"]asEntity_Classes;

insStu=Session["loginUser_Entity"]asEntity_Student;

if(insClass==null&&insStu==null)

{

CommonFuncs.ShowMsgAndJump(this.Page,"请登录!

","../user_login.aspx",Target._top);

return;

}

//班主任登录,则一定要传一个snum过来,并且能够找到学生

if(insClass!

=null)

{

if(Request["snum"]==null)

{

CommonFuncs.ShowMsgAndJump(this.Page,"参数错误,请重新操作!

","main_main.aspx",Target._self);

return;

}

stringsnum=Request["snum"].ToString();

insStu=BLL_Student.SelectOne(snum);

if(insStu==null)

{

CommonFuncs.ShowMsgAndJump(this.Page,"参数错误,请重新操作!

","main_main.aspx",Target._self);

return;

}

}

//学生登录,则通过学生找到班级信息

else

{

insClass=BLL_Classes.SelectOneByID(insStu.pronum);

if(insClass==null)

{

CommonFuncs.ShowMsgAndJump(this.Page,"参数错误,请重新操作!

","main_main.aspx",Target._self);

return;

}

}

lblMajorName.Text=insClass.majorName;

lblClassName.Text=insClass.className;

lblSnum.Text=insStu.snum;

lblName.Text=insStu.name;

lblGender.Text=insStu.gender?

"男":

"女";

lblBirthday.Text=insStu.birthday.ToShortDateString();

lblIDCard.Text=insStu.idCard;

lblEnrolDate.Text=insStu.enrolDate.ToShortDateString();

lblPhone.Text=insStu.phone;

lblQQ.Text=insStu.qq;

lblEmail.Text=insStu.email;

lblMemo.Text=insStu.memo.Replace("\r","
");

lblLogNum.Text=insStu.logNum.ToString();

lblLastLog.Text=insStu.lastLog.ToString();

Page.DataBind();

排序代码:

protectedvoidgvStudents_Sorting(objectsender,GridViewSortEventArgse)

{

//如果选择不了不同的列,则按新列排序

if(ViewState["sortName"].ToString()!

=e.SortExpression)

{

ViewState["sortName"]=e.SortExpression;

}

//如果选择相同的列,则改变该列的排序方向

else

{

ViewState["sortDir"]=ViewState["sortDir"].ToString()=="asc"?

"desc":

"asc";

}

BindStudents();//重新绑定数据

}

新增学生信息

代码如下:

protectedvoidbtnAdd_Click(objectsender,EventArgse)

{

Entity_ClassesinsClass=Session["loginUser_Entity"]asEntity_Classes;

//检查权限:

只有班级管理员具有此权限

if(insClass==null)

{

CommonFuncs.ShowMsgAndJump(this.Page,"请登录!

","../user_login.aspx",Target._top);

return;

}

if(BLL_Student.SelectOne(txtSnum.Text.Trim())!

=null)

{

CommonFuncs.ShowMsg(this.Page,"该学号已经存在,请重新输入新的学号!

");

txtSnum.Focus();

return;

}

DateTimedtBirthday=newDateTime(1900,1,1);

if(txtBirthday.Text.Trim()!

="")

{

if(!

DateTime.TryParse(txtBirthday.Text.Trim(),outdtBirthday))

{

CommonFuncs.ShowMsg(this.Page,"出生日期格式不正确,请更正!

");

txtBirthday.Focus();

return;

}

}

DateTimedtEnrol;

if(!

DateTime.TryParse(txtEnrolDate.Text.Trim(),outdtEnrol))

{

CommonFuncs.ShowMsg(this.Page,"入学日期格式不正确,请更正!

");

txtEnrolDate.Focus();

return;

}

stringfileName="default.jpg";//图片文件名

stringfileExt="";//图片文件的扩展名

if(upPhoto.HasFile)

{

fileName=upPhoto.FileName.ToLower();

if(fileName.IndexOf(".")<=0)

{

CommonFuncs.ShowMsg(this.Page,"照片文件错误!

请重新选择!

");

return;

}

fileExt=System.IO.Path.GetExtension(fileName);

ListlstExt=newList();

lstExt.Add(".jpg");

lstExt.Add(".jpeg");

lstExt.Add(".gif");

if(lstExt.IndexOf(fileExt)<0)

{

CommonFuncs.ShowMsg(this.Page,"请选择JGP或GIF格式的文件!

请重新选择!

");

return;

}

//重命名照片为:

学号.扩展名

fileName=txtSnum.Text.Trim()+fileExt;

try

{

upPhoto.SaveAs(Server.MapPath("~/photos")+"/"+fileName);

}

catch(Exceptionex)

{

BLL_Logs.WriteLog(ex.Message);

CommonFuncs.ShowMsg(this.Page,"照片上传失败,详细原因请管理员检查事务日志。

");

return;

}

//限制上传照片的尺寸大小<150*200

System.Drawing.Imageimg=System.Drawing.Image.FromFile(Server.MapPath("~/photos")+"/"+fileName);

if(img.Width>150||img.Height>200)

{

CommonFuncs.ShowMsg(this.Page,"照片的宽*高不得超过150*200像素!

");

return;

}

}

Entity_StudentinsStu=newEntity_Student();

insStu.pronum=insClass.pronum;

insStu.snum=txtSnum.Text.Trim();

insStu.pwd=CommonFuncs.MD5_Encode(txtPWD.Text.Trim());

insStu.name=txtName.Text.Trim();

insStu.gender=(rblGender.SelectedIndex==0)?

true:

false;

insStu.birthday=dtBirthday;

insStu.idCard=txtIDCard.Text.Trim();

insStu.photo=fileName;

insStu.enrolDate=dtEnrol;

insStu.phone=txtPhone.Text.Trim();

insStu.qq=txtQQ.Text.Trim();

insStu.email=txtEmail.Text.Trim();

insStu.memo=txtMemo.Text.Trim();

if(BLL_Student.Insert(insStu))

{

CommonFuncs.ShowMsg(this.Page,"新增学生成功!

");

}

else

{

CommonFuncs.ShowMsg(this.Page,"新增学生失败!

\\n\\n请检查各个输入是否合法,\\n学生ID是否已经存在,\\n或者请管理员查看系统日志。

");

}

}

}

删除学生信息按钮实现代码:

protectedvoidimgbDelSelected_Click(objectsender,ImageClickEventArgse)

{

//泛型列表

ListlstSelect=newList();

GridViewRowrow;

for(inti=0;i

{

row=gvStudents.Rows[i];

//仅处理数据行

if(row.RowType==DataControlRowType.DataRow)

{

CheckBoxchkItem=(CheckBox)row.Cells[0].FindControl("chkItem");

if(chkItem!

=null&&chkItem.Checked)

{

//找到当前行的snum,并存入lstSelect中

lstSelect.Add(row.Cells[1].Text);

}

}

}

if(lstSelect.Count<=0)

{

CommonFuncs.ShowMsg(this.Page,"请选择要删除的行!

");

return;

}

boolerr=false;

stringphotoPath=Server.MapPath("~\\photos");

stringphotoFile="";

foreach(stringidinlstSelect)

{

if(BLL_Student.Delete(id))

{

//删除可能有的照片

photoFile=photoPath+"\\"+id+".jpg";

File.Delete(photoFile);

photoFile=photoPath+"\\"+id+".gif";

File.Delete(photoFile);

}

else

err=true;

}

if(err)

{

CommonFuncs.ShowMsg(this.Page,"操作失败!

\\n\\n详细原因请管理员查看日志。

");

}

else

{

CommonFuncs.ShowMsg(this.Page,"操作成功!

");

}

GetDataSet();//重新读取数据

BindStudents();//重新绑定数据

}

登录用户密码修改:

代码如下:

publicpartialclassadmin_classDean_Student_Modify:

System.Web.UI.Page

{

protectedEntity_StudentinsStu;

protectedvoidPage_Load(objectsender,EventArgse)

{

if(!

IsPostBack)

{

Entity_ClassesinsClass=Session["loginUser_Entity"]asEntity_Classes;

//检查权限:

只有班级管理员具有此权限

if(insClass==null)

{

CommonFuncs.ShowMsgAndJump(this.Page,"请登录!

","../user_login.aspx",Target._top);

return;

}

if(Request["snum"]==null)

{

CommonFuncs.ShowMsg(this.Page,"参数错误,请返刷新页面后回重新操作!

");

return;

}

stringsnum=Request["snum"].ToString();

insStu=BLL_Student.SelectOne(snum);

if(insStu==null)

{

CommonFuncs.ShowMsg(this.Page,"没有找到学生,请返刷新页面后回重新操作!

");

return;

}

lblMajorName.Text=insClass.majorName;

lblClassName.Text=insClass.className;

lblSnum.Text=insStu.snum;

txtPWD.Text="";

txtName.Text=insStu.name;

rblGender.SelectedIndex=(insStu.gender?

0:

1);

txtBirthday.Text=insStu.birthday.ToShortDateString();

txtIDCard.Text=insStu.idCard;

txtEnrolDate.Text=insStu.enrolDate.ToShortDateString();

txtPhone.Text=insStu.phone;

txtQQ.Text=insStu.qq;

txtEmail.Text=insStu.email;

txtMemo.Text=insStu.memo;

lblLogNum.Text=insStu.logNum.ToString();

lblLastLog.Text=insStu.lastLog.ToString();

txtEnrolDate.Focus();

Page.DataBind();

Session["insStu"]=insStu;

upPhoto.Attributes.Add("onpropertychange","photoPreview();");

}

}

 

//确定更新

protectedvoidbtnUpdate_Click(objectsender,EventArgse)

{

Entity_ClassesinsClass=Session["loginUser_Entity"]asEntity_Classes;

//检查权限:

只有班级管理员具有此权限

if(insClass==null)

{

CommonFuncs.ShowMsgAndJump(this.Page,"请登录!

","../user_login.aspx",Target._top);

return;

}

Entity_StudentinsStu=Session["insStu"]asEntity_Student;

if(insStu==null)

{

CommonFuncs.ShowMsg(this.Page,"没有找到学生,请返刷新页面后回重新操作!

");

return;

}

 

stringfileName="";//图片文件名

stringfileExt="";//图片文件的扩展名

if(upPhoto.HasFile)

{

fileName=upPhoto.FileName.ToLower();

if(fileName.IndexOf(".")<=0)

{

CommonFuncs.ShowMsg(this.Page,"照片文件错误!

请重新选择!

");

return;

}

fileExt=System.IO.Path.GetExtension(fileName);

ListlstExt=newList();

lstExt.Add(".jpg");

lstExt.Add(".jpeg");

lstExt.Add(".gif");

if(lstExt.IndexOf(fileExt)<0)

{

CommonFuncs.ShowMsg(this.Page,"请选择JGP或GIF格式的文件!

请重新选择!

");

return;

}

//重命名照片为:

学号.扩展名

fileName=insStu.snum+fileExt;

try

{

upPhoto.SaveAs(Server.MapPath("~/photos")+"/"+fileName);

}

catch(Exceptionex)

{

BLL_Logs.WriteLog(ex.Message);

CommonFuncs.ShowMsg(this.Page,"照片上传失败,详细原因请管理员检查事务日志。

");

return;

}

//限制上传照片的尺寸大小<150*200

System.Drawing.Imageimg=System.Drawing.Image.FromFile(Server.Map

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

当前位置:首页 > 工程科技 > 建筑土木

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

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