学生信息管理系统C#版.docx
- 文档编号:7485180
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:17
- 大小:114.74KB
学生信息管理系统C#版.docx
《学生信息管理系统C#版.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统C#版.docx(17页珍藏版)》请在冰豆网上搜索。
学生信息管理系统C#版
学生信息管理系统
1.需求分析
为了提高系统开发水平和应用效果,系统应符合中国计量学院信息管理规定,满足对学校学生信息管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。
系统采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。
根据需求分析,本系统要实现以下基本功能。
(1)学生信息查询功能:
查询学生姓名、学号、年龄、性别、身份证、出生日期、宿舍、入学时间、政治面貌、所在学院、所学专业等信息。
查询功能相当强大,按专业查询,可以查出该专业的全部学生;按身份证查询,可以查出的特定的学生;按学院查询,可以查出所属学院的全部学生。
同时也可以按姓名,学号查询
(2)添加功能:
对数据库中的数据进行添加,系统可以避免重复信息。
(3)修改功能:
对数据库中的信息进行修改。
系统能够通过用户给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。
(4)删除功能:
对数据进行删除操作。
系统能够通过用户给出的条件查找出所要删除的信息并删除。
2.系统功能设计
学生信息管理系统主要实现学生信息的增、删、改、查询等功能。
E-R图
3数据分析与数据库设计
3.1数据字典
该系统中共需要创建四个数据表:
学生信息表、学院信息表、专业信息表、寝室信息。
1.学生信息表student
2.
3.学院信息表college
4.
5.专业信息表profession
6.
7.寝室信息表dorm
8.
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){
//提示登陆失败
}
}
查看学生信息
代码如下:
{
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?
"男":
"女";
lblIDCard.Text=insStu.idCard;
lblPhone.Text=insStu.phone;
lblQQ.Text=insStu.qq;
lblEmail.Text=insStu.email;
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);
{
{
CommonFuncs.ShowMsg(this.Page,"出生日期格式不正确,请更正!
");
txtBirthday.Focus();
return;
}
}
DateTimedtEnrol;
{
CommonFuncs.ShowMsg(this.Page,"入学日期格式不正确,请更正!
");
txtEnrolDate.Focus();
return;
}
stringfileName="default.jpg";//图片文件名
stringfileExt="";//图片文件的扩展名
if(upPhoto.HasFile)
{
if(fileName.IndexOf(".")<=0)
{
CommonFuncs.ShowMsg(this.Page,"照片文件错误!
请重新选择!
");
return;
}
List
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
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.gender=(rblGender.SelectedIndex==0)?
true:
false;
insStu.birthday=dtBirthday;
insStu.photo=fileName;
insStu.enrolDate=dtEnrol;
if(BLL_Student.Insert(insStu))
{
CommonFuncs.ShowMsg(this.Page,"新增学生成功!
");
}
else
{
CommonFuncs.ShowMsg(this.Page,"新增学生失败!
\\n\\n请检查各个输入是否合法,\\n学生ID是否已经存在,\\n或者请管理员查看系统日志。
");
}
}
}
删除学生信息按钮实现代码:
protectedvoidimgbDelSelected_Click(objectsender,ImageClickEventArgse)
{
//泛型列表
List
GridViewRowrow;
{
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();//重新绑定数据
}
登录用户密码修改:
代码如下:
{
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);
txtIDCard.Text=insStu.idCard;
txtPhone.Text=insStu.phone;
txtQQ.Text=insStu.qq;
txtEmail.Text=insStu.email;
txtMemo.Text=insStu.memo;
txtEnrolDate.Focus();
Page.DataBind();
Session["insStu"]=insStu;
}
}
//确定更新
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)
{
if(fileName.IndexOf(".")<=0)
{
CommonFuncs.ShowMsg(this.Page,"照片文件错误!
请重新选择!
");
return;
}
List
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
if(img.Width>150||img.Height>200)
{
CommonFuncs.ShowMsg(this.Page,"照片的宽*高不得超过150*200像素!
");
return;
}
}
DateTimedtBirthday=newDateTime(1900,1,1);
{
{
CommonFuncs.ShowMsg(this.Page,"出生日期格式不正确,请更正!
");
txtBirthday.Focus();
return;
}
}
DateTimedtEnrol;
{
CommonFuncs.ShowMsg(this.Page,"入学日期格式不正确,请更正!
");
txtEnrolDate.Focus();
return;
}
insStu.gender=(rblGender.SelectedIndex==0)?
true:
false;
insStu.birthday=dtBirthday;
if(fileName!
="")
insStu.photo=fileName;
insStu.enrolDate=dtEnrol;
if(BLL_Student.Update(insStu))
{
CommonFuncs.ShowMsg(this.Page,"学生资料修改成功!
");
}
else
{
CommonFuncs.ShowMsg(this.Page,"学生资料修改失败!
\\n\\n请检查各个输入是否合法,\\n学生ID是否已经存在,\\n或者请管理员查看系统日志。
");
}
}
protectedvoidbtnReward_Click(objectsender,EventArgse)
{
Entity_StudentinsStu=Session["insStu"]asEntity_Student;
if(insStu!
=null)
Response.Redirect("classDean_Rewards.aspx?
snum="+insStu.snum);
}
}
5总结
通过这个综合性的实验,我感受到了C#和数据库技术的强大,也对先前课本里不懂得知识有了更深的理解,特别是连接数据库这块。
上课时学的似懂非懂,在这次实验里终于弄明白了。
从这次实验中我懂得了自学能力的重要性,像计算机这专业单单靠老师上课讲的是远远不够的,一定要课外自己花时间去自学,这样才能学好一门技术,由于本次综合设计对于动态网页制作还不是很熟练,再加上时间问题,还有一些功能尚未实现,因此我要继续努力。
总的来说实践能更好的提高自己。
参考文献
[1]陆慧娟,高波涌,何灵敏.数据库系统原理.中国电力出版社,2011.
[2]陆慧娟,关伟,高波涌.数据库系统原理习题集与上机指导.中国电力出版社,2011.
[3]熊拥伟,刘卫国.数据库技术与应用实践教程.清华大学出版社,2010.
[4]梁冰,吕双,王小科.C#程序开发范例宝典.人民邮电出版社,2009.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 C#