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