学生信息管理系统C版

学生信息管理系统C版
学生信息管理系统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寝室信息录入

建立关系图

建立学生基本信息视图

4 C#界面设计

具体代码如下:

protected void btnloginclick(object sender,eventargs e) {

String identity =rblidentity.Selectedvalue;

Object objentity;

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){

//提示登陆失败

}

}

查看学生信息

代码如下:

public partial class admin_student_DetailShow : System.Web.UI.Page

{

protected Entity_Student insStu;

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

//检查权限:班主任和学生可浏览此页面,所以登录者可能是班主任,也可能是学生

Entity_Classes insClass =

Session["loginUser_Entity"] as Entity_Classes;

insStu = Session["loginUser_Entity"] as Entity_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;

}

string snum =

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 = https://www.360docs.net/doc/d618649685.html,;

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 =

https://www.360docs.net/doc/d618649685.html,stLog.ToString();

Page.DataBind();

排序代码:

protected void gvStudents_Sorting(object sender, GridViewSortEventArgs e)

{

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

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

e.SortExpression)

{

ViewState["sortName"] =

e.SortExpression;

}

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

else

{

ViewState["sortDir"] =

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

}

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

}

新增学生信息

代码如下:

protected void btnAdd_Click(object sender, EventArgs e)

{

Entity_Classes insClass =

Session["loginUser_Entity"] as Entity_Classes;

//检查权限:只有班级管理员具有此权限

if (insClass == null)

{

CommonFuncs.ShowMsgAndJump(this.Page, "请登录!", "../user_login.aspx", Target._top);

return;

}

(BLL_Student.SelectOne(txtSnum.Text.Trim()) != null) {

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

txtSnum.Focus();

return;

}

DateTime dtBirthday = new DateTime(1900, 1, 1);

if (txtBirthday.Text.Trim() != "")

{

if

(!DateTime.TryParse(txtBirthday.Text.Trim(), out dtBirthday))

{

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

txtBirthday.Focus();

return;

}

DateTime dtEnrol;

if

(!DateTime.TryParse(txtEnrolDate.Text.Trim(), out dtEnrol))

{

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

txtEnrolDate.Focus();

return;

}

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

string fileExt = ""; //图片文件的扩展名 if (upPhoto.HasFile)

{

fileName = upPhoto.FileName.ToLower(); if (fileName.IndexOf(".") <= 0)

{

CommonFuncs.ShowMsg(this.Page, "照片

文件错误!请重新选择!");

return;

}

fileExt =

System.IO.Path.GetExtension(fileName);

List lstExt = new 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 (Exception ex)

{

BLL_Logs.WriteLog(ex.Message);

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

return;

}

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

System.Drawing.Image img =

System.Drawing.Image.FromFile(Server.MapPath("~/pho tos") + "/" + fileName);

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

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

return;

}

}

Entity_Student insStu = new Entity_Student(); insStu.pronum = insClass.pronum;

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

insStu.pwd =

CommonFuncs.MD5_Encode(txtPWD.Text.Trim());

https://www.360docs.net/doc/d618649685.html, = 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或者请管理员查看系统日志。");

}

}

}

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

protected void imgbDelSelected_Click(object sender, ImageClickEventArgs e)

{

//泛型列表

List lstSelect = new List();

GridViewRow row;

for (int i = 0; i < gvStudents.Rows.Count; i++) {

row = gvStudents.Rows[i];

相关文档
最新文档