学生信息管理系统设计_第1页
学生信息管理系统设计_第2页
学生信息管理系统设计_第3页
学生信息管理系统设计_第4页
学生信息管理系统设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本文来自: 学生信息管理系统姓 名: 学 号: 班 级: 指导教师: 完成日期: 年月日 目录第一章 需求分析3第二章 系统设计32.1 系统功能分析32.2 系统流程图4第三章 数据库设计53.1 数据库需求分析53.2 数据库概念结构设计53.3 数据库逻辑结构的实现7第四章 详细设计84.1 登录及主窗体的创建81. 创建登录窗体82.创建主窗体94.2 创建sqlhelp方法类104.3 用户登录模块创建111.用户登陆窗体的创建114.4 学生管理模块的创建141.创建学生管理方法类:142.学生查询功能:183.学生档案添加功能:254.学生信息修改 :285.学生档案删除功能:3

2、2总 结35参考文献36 第一章 需求分析学生信息管理系统包含学生个人基本信息,班级信息,课程信息,用户信息以及每学期成绩信息等。用户包括学生、教师。教师有对系统实施所有操作的权限,普通的学生基本资料的查询,成绩录入,还包括各项资料的修改,删除,添加等操作;而学生只对学生学籍信息、成绩信息的查询和本人密码的修改拥有权限。经过调研与分析,学生信息管理系统主要应具有以下功能。(1)系统用户管理:添加、删除用户。(2)班级信息管理:班级信息管理包括班级信息的查询、修改与删除等操作。(3)学生信息管理:学生基本信息的查询,以及删除、修改及添加等操作(4)学生成绩管理:学生信息管理包括学生成绩的查询、修

3、改及添加等操作。本次详细制作了学生信息管理模块。特别声明:本系统的设计是在windows 7操作系统环境下,使用visual studio.net 2008中文版开发成功的。第二章 系统设计2.1 系统功能分析 本次系统开发的总体任务是实现学生信息管理的智能化,规范化和自动化。在此学生管理系统中有二种权限:一种是用户权限,即学生。一种是管理员权限,即教师。学生管理系统包含的功能有:学生权限有 :学生信息的查询,包括查询学生本人的学籍基本信息、学生本人成绩等学生本人密码的修改 教师权限有 : 学生用户的添加、删除。 学生基本信息的查询、添加、修改、删除 学生成绩信息的查询、输入、修改、删除教师本

4、人密码的修改对上述各功能进行集中、分块、按照结构化程序设计的要求。学生信息管理系统成绩管理功能学籍管理功能密码修改功能用户管理功能成绩查询成绩添加成绩删除成绩修改密码修改学籍查询学籍修改学籍添加学籍删除用户添加用户删除图2-1 系统功能模块图2.2 系统流程图开始登陆成功ny教师学生成绩查询学籍查询密码修改退出系统密码修改成绩管理学籍管理用户管理退出系统结束结束查询修改删除添加图2-2 系统流程图第三章 数据库设计3.1 数据库需求分析(1) 系统用户管理:添加、删除用户。(2)学生信息管理:学生基本信息的查询,以及删除、修改及添加等操作(3)学生成绩管理:学生信息管理包括学生成绩的查询、修改

5、及添加等操作。(4)课程信息管理:课程信息的添加、删除及更新。3.2 数据库概念结构设计本系统的实体包括:用户、学生、班级、课程,各个实体具体描述由下面e-r图所示。用户名密码用户用户实体e-r图性别姓名学号 入学日期出生日期期学生家庭住址身份证号班级民族学生实体e-r图名称班主任系部 班级学号姓名课程名成绩课程号 班级实体e-r图成绩成绩实体e-r图学生管理系统数据库中模块表格的详细设计如下面的表所示: 班级信息表 成绩信息表 学籍信息表3.3 数据库逻辑结构的实现经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。就可以在sql servr 2005数据库系统中实现该逻辑结构,利用

6、sql server 2005数据库系统中enterprise manager实现的。例如:第四章 详细设计4.1 登录及主窗体的创建 在sql server 2005中enterprise manager创建数据库及逻辑结构后,将产生需要的所有表。有关数据库结构的所有后台工作已经完成。现在将通过学生信息管理系统中各个功能模块的实现,来编写数据库系统的客户端程序。1. 创建登录窗体单击 文件|新建|项目 菜单,在新建项目中选择visual c#项目 ,在模块中选择windows 窗体应用程序 ,并命名为login,解决方案命名为“学生信息管理系统”。此时还需要对解决方法进行分层,在解决方案学生

7、信息管理系统右击 添加|新建项目|类库 命名为dal,该类库里包含所有需要使用到的类和方法,然后对login界面进行设计及写入代码实现用户登录验证功能。2.创建主窗体 右击解“学生信息管理系统” 添加|windows窗体 命名为teacher,因为有两种用户权限,所以为了方便设计,再添加一个窗体命名为student,窗体界面相同,不过进入后管理权限不同,界面如下:图4-1 系统主界面图4.2 创建sqlhelp方法类在vs.net中可以使用类库模板快速创建能够与其他项目共享的可再次使用的类和组件。整个工程项目中的任何地方都可以调用公用类库的类和组件,这样可以极大地提高代码的效率。在项目资源管理

8、器中为dal类库添加一个类,保存为sqlhelp.cs。下面就可以开始添加需要的代码。 public class sqlhelp private static string connstring = string.format(server=.sqlexpress;database=student;trusted_connection=yes;); public static sqlconnection conn = new sqlconnection(connstring); sqlcommand cmd = null; sqldatareader dr = null; datatable

9、dt = null; sqldataadapter da = null; dataset ds = new dataset(); / / 执行传入的select语句 / / select语句 / 返回表datatable public datatable executereader(string sql) try conn.open(); cmd = new sqlcommand(sql, conn); dr = cmd.executereader(); dt = new datatable(); dt.load(dr); return dt; catch (exception e) thro

10、w e; finally conn.close(); public dataset search(string sql, sqlparameter para) try da = new sqldataadapter(sql, conn); da.selectcommand.parameters.addrange(para); da.fill(ds, xueji); return ds; catch (exception e) throw e; public dataset search1(string sql, sqlparameter para) try da = new sqldataad

11、apter(sql, conn); da.selectcommand.parameters.addrange(para); da.fill(ds, chengji); return ds; catch (exception e) throw e; / / 执行传入的增删改的sql语句 / / 增删改的sql / 传入的参数 / sql影响的行数 public int executenonquery(string sql, sqlparameter para) int count; try conn.open(); cmd = new sqlcommand(sql, conn); cmd.par

12、ameters.addrange(para); count = cmd.executenonquery(); return count; catch (exception e) throw e; finally conn.close(); 4.3 用户登录模块创建1.用户登陆窗体的创建系统启动后,将首先出现如下所示的用户登陆窗体,用户首先输入用户账号,选择用户类别,然后输入密码。图4-2 用户登录界面用户登陆窗体中放置了两个文本框(textbox),用来输入用户名和用户密码。三个按钮(button)用来确定、重置或者退出登陆。2个标签(label)用来标示窗体的信息,两个radiobutton

13、用来选择用户类别。为窗体定义全局变量id,用来判断类型是否正确,代码如下:public partial class login : form public login() initializecomponent(); public int userid; public string yonghum; public string mima; public static string id; private void button1_click(object sender, eventargs e) yonghum = this.textbox1.text.tostring(); mima = t

14、his.textbox2.text.tostring(); if (this.rad0.checked = true) try if (new users().isexit1(yonghum, mima) = true) this.visible = false; student m = new student(); m.showdialog(); this.hide(); else messagebox.show(用户名或密码错误,请重新输入!, 错误提示, messageboxbuttons.ok, messageboxicon.warning); catch (exception ex)

15、 throw ex; else if (this.rad1.checked = true) try if (new users().isexit(yonghum, mima) = true) this.visible = false; teacher t = new teacher(); t.showdialog(); this.hide(); else messagebox.show(用户名或密码错误,请重新输入!, 错误提示, messageboxbuttons.ok, messageboxicon.warning); catch (exception ex) throw ex; else

16、 messagebox.show(请选择用户类型!, 错误提示, messageboxbuttons.ok, messageboxicon.warning); private void button3_click_1(object sender, eventargs e) textbox1.text = ; textbox2.text = ; private void button2_click(object sender, eventargs e) this.close(); 4.4 学生管理模块的创建学生功能模块主要实现如下功能: 查询学生信息 修改学生信息 添加学生信息 删除学生信息1.

17、创建学生成绩管理方法类:学生管理需要使用到的方法建立一个chengji.cs,代码如下: public class chengji sqlhelp help = new sqlhelp(); public datatable dt = new datatable(); public dataset ds = new dataset(); /查询学生的成绩表 public datatable select() string sql = select * from chengji ; dt = new sqlhelp().executereader(sql); return dt; /按学生的学号

18、和课程名查询 public dataset search(string sno,string kcm) try string sql = select * from chengji where sno=sno and kcm=kcm; sqlparameter para = new sqlparameter(sno, sno) , new sqlparameter(kcm, kcm) ; ds = help.search1(sql, para); return ds; catch (exception e) throw e; /在学生成绩表中插入一条记录 public bool insert(

19、string sno, string sn, string kcm,string cj,string kch) bool flag = false; string sql = insert into chengji values(sno,sn,kcm,cj,kch); sqlparameter para = new sqlparameter(sno,sno ), new sqlparameter(sn,sn), new sqlparameter(kcm,kcm ), new sqlparameter(cj,cj), new sqlparameter(kch,kch); if (help.exe

20、cutenonquery(sql, para) 0) flag = true; return flag; /更新学生成绩表的数据 public bool update(string sno, string kcm, string cj) bool flag = false; string sql = update chengji set cj=cj where sno=sno and kcm=kcm; sqlparameter para =new sqlparameter(sno,sno), new sqlparameter(kcm,kcm), new sqlparameter(cj,cj);

21、 if (help.executenonquery(sql, para) 0) flag = true; return flag; /按学生的学号和课程名删除学生成绩表对应记录 public bool delete(string sno,string kcm) bool flag = false; string sql = delete chengji where sno=sno and kcm=kcm; sqlparameter para = new sqlparameter(sno, sno) , new sqlparameter(kcm, kcm); if (help.executeno

22、nquery(sql, para) 0) flag = true; return flag; 2.学生查询功能:学生在成功登录系统后,只有查询学生本人信息的功能,在主窗体中点击学生管理菜单栏的学生信息查询,即出现如下所示的窗体:1)点击“成绩查询”弹出成绩查询窗口,然后输入自己的学号并选择要查询科目,点击“查询”出现如下窗体图4-4 学籍查询界面根据查询方式调用student里search方法添加数据集并生成datatable,然后将数据绑定到ds,代码如下: public partial class cjcx : form public cjcx() initializecomponent(

23、); /在下拉菜单中选择 private void cjcx_load(object sender, eventargs e) datagridview1.datasource = new chengji().select(); combobox1.items.add(语文); combobox1.items.add(大学英语); combobox1.items.add(c#); combobox1.items.add(数据库); 确定查询 private void button1_click(object sender, eventargs e) try string sno = textb

24、ox1.text; string kcm = combobox1.text; textbox3.text = new chengji().search(textbox1.text,combobox1.text).tableschengji.rows01.tostring(); textbox4.text = new chengji().search(textbox1.text,combobox1.text).tableschengji.rows03.tostring(); catch (exception) messagebox.show(无法查询到相关信息!, 警告信息); private

25、void button2_click(object sender, eventargs e) this.visible = false; this.close(); new student().showdialog(); 3.学生成绩添加功能:教师登录后不只可以查询,还可以添加修改删除学生档案信息,查询功能不再叙述,点击主界面的成绩添加并依次输入学号、姓名、选择科目、成绩、课程号并确定,将出现如下窗体:5.创建学生学籍管理方法类: 学生管理需要使用到的方法建立一个xj.cs,代码如下:public class xj dataset ds = new dataset(); sqlhelp hel

26、p = new sqlhelp(); /在学籍表中查询 public datatable select() string sql = select * from xueji; datatable dt = new sqlhelp().executereader(sql); return dt; /按学号查询 public dataset search(string sno) try string sql = select * from xueji where sno=sno; sqlparameter para = new sqlparameter(sno,sno) ; ds = help.s

27、earch(sql, para); return ds; catch (exception e) throw e; /插入学籍一条记录 public bool insert(string sno, string sn, string sex, string minzu, string csrq, string sfzh, string bj, string rxnf, string jtzz) bool flag = false; string sql = insert into xueji values(sno,sn,sex,minzu,csrq,sfzh,bj,rxnf,jtzz); sq

28、lparameter para = new sqlparameter(sno,sno) , new sqlparameter(sn,sn), new sqlparameter(sex,sex), new sqlparameter(minzu,minzu), new sqlparameter(csrq,csrq), new sqlparameter(sfzh,sfzh), new sqlparameter(bj,bj), new sqlparameter(rxnf,rxnf), new sqlparameter(jtzz,jtzz) ; if (help.executenonquery(sql,

29、 para) 0) flag = true; return flag; /进行更新学籍表 public bool update(string sno, string sn, string sex, string minzu, string csrq, string sfzh, string bj, string rxnf, string jtzz) try bool flag = false; string sql = update xueji set sn=sn,sex=sex,minzu=minzu,csrq=csrq,sfzh=sfzh,bj=bj,rxnf=rxnf,jtzz=jtzz

30、 where sno=sno; sqlparameter para = new sqlparameter(sno,sno) , new sqlparameter(sn,sn), new sqlparameter(sex,sex), new sqlparameter(minzu,minzu), new sqlparameter(csrq,csrq), new sqlparameter(sfzh,sfzh), new sqlparameter(bj,bj), new sqlparameter(rxnf,rxnf), new sqlparameter(jtzz,jtzz) ; if (help.ex

31、ecutenonquery(sql, para) 0) flag = true; return flag; catch (exception e) throw e; /按学号删除学籍表中的记录 public bool delete(string sno) bool flag = false; string sql = delete xueji where sno=sno; sqlparameter para = new sqlparameter(sno, sno), ; if (help.executenonquery(sql, para) 0) flag = true; return fla

32、g; 6.在主窗体teacher中可以实现学籍的查找、添加、修改、删除几大功能,学籍的查找不再叙述,先写学籍的添加功能,再学籍管理界面依次真实的填写学生的信息,同时本系统最大的特色是有添加图像功能(只是还没实现),可以上传学生的照片,填写完毕点击添加按钮窗口如图: 根据添加方式调用xj.cs中的insert方法,代码如下: private void button5_click(object sender, eventargs e) try if (t1.text = | t2.text = | t3.text = | t4.text = | t5.text = | t6.text = | t7

33、.text = | t8.text = | t9.text = ) messagebox.show(请输入完整信息!, 操作提示, messageboxbuttons.ok, messageboxicon.question); else if (new xj().insert(t1.text, t2.text, t3.text, t4.text, t5.text, t6.text, t7.text, t8.text, t9.text) messagebox.show(添加成功!, 操作提示, messageboxbuttons.ok, messageboxicon.information);

34、t1.text = ; t2.text = ; t3.text = ; t4.text = ; t5.text = ; t6.text = ; t7.text = ; t8.text = ; t9.text = ; datagridview1.datasource = new xj().select(); else messagebox.show(操作失败请重试!, 操作提示, messageboxbuttons.ok, messageboxicon.error); catch (exception ex) throw ex; 4. 用户的添加与删除 :用户登录及添加删除代码如下:public class users sqlhelp help = null; public users() help = new sqlhelp(); /遍历学生用户表 public datatable select() string sql = select * from s_users; datatable dt = new sqlhelp().executereader(sql); return dt; /插入用户记录 public bool insert(string sno, string pwd) bool flag = false; string sq

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论