学生成绩管理系统设计报告28171_第1页
学生成绩管理系统设计报告28171_第2页
学生成绩管理系统设计报告28171_第3页
免费预览已结束,剩余50页可下载查看

下载本文档

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

文档简介

1、学生成绩管理系统设计报告专 业: 计算机信息管理学 号: 102001205姓 名:和坤指导老师:薛海燕2011年11月22日第1章绪论1.1开发背景随着社会信息量的与日剧增,学校需要有一很好的学生成绩管 理系统,以方便对学生的成绩进行有效的管理。系统应具有既方便教师对学生成绩的查询和插入,也方便学生对自己成绩和获得的学分进 行查询的功能。而我国大中专院校的学生成绩管理水平普遍不高。在当今的信 息时代,传统的管理方法必然要被以计算机为基础的信息管理系统所 替代,而且目前很多重点院校都已经有了自己的教务管理系统。已有的学生管理系统大都偏向学生档案管理、学籍管理等。本案例设计的“学生成绩管理系统”

2、以学生成绩数据为主的管理,具有数据操作方便、高效、迅速等优点。1.2系统开发工具选择本系统采用.NET Frameworkl.架构为公司内部使用,按照商业软 件模式设计,使用微软公司的Visual Studio2008为前端开发工具,微 软公司的SQLServer200为后台数据库,使用Click One来制作安装程 序。Visual Studio2008是一种可视化的、面对对象和条用事件驱动方 式的winform前端开发工具,可用于开发 Windows环境下的应用程序。 通过降低其复杂度从而使 Win dows软件开发得以广泛应用。最近, 利用Visual Studio .NET Micro

3、soft又为开发人员提供了轻松开发 分 布式应用程序的工具与技术。SQLServer200是新一代大型关系数据 管理系统,它在电子商务、数据仓库和数据库解决方案等应用中起着 重要的核心作用,可为企业的数据管理提供强大的支持, 对数据库中 的数据提供有效的管理,并采用有效的措施实现数据的完整性及数据 的安全性。第2章系统分析与数据库设计2.1系统功能需求1)待开发软件的功能需求学生成绩管理系统必须能够完成系统管理、成绩管理、课程管理、 班级管理、学生基本信息管理、专业管理、教师管理、课程表管理。 系统管理员可实现所有功能。管理员无法实现数据库的备份和还原功 能,其他功能都可以实现。(1)系统管理

4、主要是维护系统的正常运行和安全性设置,当登录用户是管理员或系统管理员时能完成查询用户、添加用户、删除 用户、修改密码、重新登录等功能。当登录身份是教师和学生 时只能实现重新登录和密码修改。(2)成绩管理主要是学生成绩的查询、录入、修改、删除及统计个 人成绩的功能。用户登录身份是教师时可实现成绩的录入和查 询。登录身份是学生时只能实现成绩查询和个人成绩统计功能。(3)课程管理主要是课程信息的查询和操作(添加、修改、删除)用户登录身份是教师和学生时只能进行查询操作。(4)班级管理主要是班级信息的查询和操作(添加、修改、删除)用户登录身份是教师和学生时只能进行查询操作。(5)学生管理主要是学生信息的

5、查询和操作(添加、修改、删除) 用户登录身份是教师和学生时只能进行查询操作。(6)专业管理主要是专业信息的查询和操作(添加、修改、删除)用户登录身份是教师和学生时只能进行查询操作。(7)教师管理主要是教师信息的查询和操作(添加、修改、删除) 用户登录身份是教师只能进行查询操作。(8)课程表管理主要是班级信息的查询和操作 (添加、修改、删除) 用户登录身份是教师和学生时只能进行查询操作。(9)窗体:窗体层叠,水平平铺,垂直平铺。打开多个窗体时后, 在点击这个功能。(10)退出:结束操作系统。2.2数据描述表2.2-1用户登录表(Userlnfo)字段名中文描述类型长度是否为空是否为主键Useri

6、d用户名Varchar10否是Userpwd用户密码Varchar10否否Userlevel用户权限Varchar10是否表 2.2-2 专业信息表(Specialtylnfo)字段名中文描述类型长度是否为空是否为主键Specialtyid专业代号Varchar4否是Specialt yn ame专业名称Varchar50是否表2.2-3班级信息表(ClassInfo)字段名中文描述类型长度是否为空是否为主键Classid班级名称Varchar10否是Specialtyid专业代号Varchar4是否Stunum学生人数int是否Remark备注Varchar100是否表2.2-4教师信息表(

7、Teacherlnfo)字段名中文描述类型长度是否为空是否为主键Teaid教师编号Varchar10否是Teaname教师姓名Varchar20是否Teasex教师性别Varchar2是否Teaoffice办公室电话Varchar11是否Teatel私人电话Varchar11是否Taddress家庭住址Varchar100是否Teabirthday出生年月Datetime是否表2.2-5学生信息表(Studentlnfo)字段名中文描述类型长度是否为空是否为主键Sno学号Varchar10否是Sn ame姓名Varchar20是否Sex性别Varchar2是否Sbirthday出生年月Date

8、time是否Classid所在班级Varchar10是否Specialtyid所在专业号Varchar4是否Stel电话Varchar11是否Saddress家庭住址Varchar100是否表2.2-6成绩信息表(StuGrade字段名中文描述类型长度是否为空是否为主键Sno学号Varchar10否是Cno课程编号Varchar10否是Gradepeacetime平时成绩nu meric4,1否否GradeWrite笔试成绩nu meric4,1否否Grade总成绩nu meric4,1否否Time时间Varchar30否否表2.2-7课程信息表(Courselnfo)字段名中文描述类型长度是

9、否为空是否为主键Cno课程编号Varchar10否是Cn ame课程名称Varchar50是否Cprime nt实验学时int是否Cteach ing讲课学时int是否Credit总学分nu meric4,1是否Coursetypeid课程类型号int是否表2.2-8课程类型表(CourseType字段名中文描述类型长度是否为空是否为主键Coursetypeid课程类型编号int否是Coursetype name课程类型名Varchar20否否表 2.2-9 课程表(CourseTabie字段名中文描述类型长度是否为空是否为主键ID标识列int否是Time学年Varchar30否否Termid

10、学期int否否Classid班级名称Varchar10否否Cno课程编号Varchar10是否Teaid教师编号Varchar10是否主界面程序源代码private void button1_Click( object sender, EventArgs e) / 登录DBHelp DBhelp = new DBHelp();SqlConnection con = new SqlConnection (DBhelp.constr);string sql =""if (radioButton1.Checked = true )sql= string .Format( &quo

11、t;select * from UserInfo where Userid='0' and Userpwd='1'and Userlevel='2'" , textBox1.Text, textBox2.Text, radioButton1.Text);Program.x ="管理员"if (radioButton2.Checked = true )sql= string .Format( "select * from UserInfo where Userid='0' and Userpw

12、d='1'and Userlevel='2'" , textBox1.Text, textBox2.Text, radioButton2.Text);Program.x ="教师"if (radioButton3.Checked = true )sql= string .Format( "select * from UserInfo where Userid='0' and Userpwd='1'and Userlevel='2'" , textBox1.Text,

13、 textBox2.Text, radioButton3.Text);Program.x ="学生"if (radioButton4.Checked = true )and Userpwd='1'sql= string .Format( "select * from Userinfo where Userid='0'and Userlevel='2'" , textBoxl.Text, textBox2.Text, radioButton4.Text);con.Open();SqlCommancCom =

14、new SqlCommandsql, con);SqlDataReader red = com.ExecuteReader();if (red.Read()Form_main fl = new Form_main();f1.Show();elseMessageBoxShow(”信息错误","error");Form_main fl = new Form_main();f1.Show();private void button2_Click( object sender, EventArgs e) / 取丫肖Application .Exit();private v

15、oid Form_main_Load( object sender, EventArgs e)if ( Program .x ="管理员")数据库备份 ToolStripMenultem.Enabled =false数据库恢复 ToolStripMenultem.Enabled =falseif ( Program .x ="教师")用户管理 ToolStripMenultem.Enabled =false ;数据库备份ToolStripMenuItem.Enabled =false;数据库恢复ToolStripMenuItem.Enabled =fal

16、se;成绩修改 ToolStripMenuItem.Enabled =false ;课程信息操作ToolStripMenuItem.Enabled=false班级信息操作ToolStripMenuItem.Enabled=false学生信息操做ToolStripMenuItem.Enabled=false教师信息操作ToolStripMenuItem.Enabled=false课程表操作ToolStripMenuItem.Enabled =false;专业信息操作ToolStripMenuItem.Enabled=falseif ( Program .x ="学生")用户管

17、理 ToolStripMenuItem.Enabled =false ;数据库备份 ToolStripMenuItem.Enabled =false ;数据库恢复 ToolStripMenuItem.Enabled =false ;成绩修改 ToolStripMenuItem.Enabled =false ;课程信息操作 ToolStripMenuItem.Enabled =false班级信息操作 ToolStripMenuItem.Enabled =false学生信息操做 ToolStripMenultem.Enabled = false 课程表操作 ToolStripMenultem.En

18、abled = false ; 成绩录入 ToolStripMenultem.Enabled =false ;教师管理 ToolStripMenultem.Enabled =false ;专业信息操作 ToolStripMenultem.Enabled = false private void 退出 ToolStripMenultem_Click( object sender, EventArgs e)Application .Exit();private void 用户查询 ToolStripMenuItem_Click(objectsender,EventArgse)Form_usesel

19、 usesel= new Form_usesel ();usesel.MdiParent =this ;usesel.Show();private void 用户操作 ToolStripMenuItem_Click(objectsender,EventArgse)Form_use use = new Form_use();use.MdiParent =this ;use.Show();private void成绩录入 ToolStripMenuItem_Click(objectsender,EventArgse)Form_scoreinto f4 = new Form_scoreinto ()

20、;f4.Show();private void 成绩修改 ToolStripMenuItem_Click(objectsender,EventArgse)Form_Score f5 = new Form_Score();f5.Show();private void 成绩查询 ToolStripMenultem1_Click(object sender,EventArgs e)Form_scoresel f6 = new Form_scoresel ();f6.Show();object sender,EventArgs e)object sender,EventArgs e)private v

21、oid 密码修改 ToolStripMenultem_Click( Form_pwdpwd = new Form_pwQ);pwd.MdiParent =this ;pwd.Show();private void 重新登录 ToolStripMenultem_Click(Login f1 = new Login (); this .Close();f1.Show();private void 数据库备份 ToolStripMenultem_Click( object sender, EventArgs e) string path ="G:102001205 何坤 DB 备份 stu

22、dent.bak"string backupstr = "backup database Student to disk='"+path+"'"DBHelp DBHelp=new DBHelp ();SqlConnection con= new SqlConnection (DBHelp.constr);SqlCommanctom= new SqlCommanc(backupstr,con);trycon.Open();com.ExecuteNonQuery();MessageBoxShow(”备份成功”);catchMessa

23、geBoxShow(”备份失败”);finallyEventArgs e)+ path +EventArgs e)EventArgs e)private void 垂直平铺 ToolStripMenultem_Click(object sender,EventArgs e)this 丄ayoutMdi( MdiLayout .TileVertical); con.Close();private void 数据库恢复 ToolStripMenultem_Click( object sender, string path = "G:102001205 何坤 DB 备份 student.b

24、ak"string restorestr = "restore database Student to disk='" DBHelp DBHelp = new DBHelp();SqlConnection con = new SqlConnection (DBHelp.constr); SqlCommanctom = new SqlComman(testorestr, con);trycon.Open();com.ExecuteNonQuery();MessageBoxShow(”恢复成功”);catchMessageBoxShow(”恢复失败”);fin

25、allycon.Close();private void 窗体层叠 ToolStripMenultem_Click( object sender, this 丄ayoutMdi( MdiLayout .Cascade);private void 水平平铺 ToolStripMenultem_Click( object sender, this 丄ayoutMdi( MdiLayout .TileHorizontal);private void 教师信息查询 ToolStripMenultem_Click( Teachersel teasel= new Teachersel ();teasel.

26、MdiParent =this ;object sender,EventArgs e)teasel.Show();private void 教师信息操作 ToolStripMenuItem_Click( object sender, Teacher tea = new Teacher ();tea.MdiParent =this ;tea.Show();EventArgs e)private void 学生信息查询 ToolStripMenultem_Click(object sender,EventArgs e)Stusel stusel = new Stusel (); stusel.Md

27、iParent =this ;stusel.Show();private void 学生信息操做 ToolStripMenultem_Click( object sender, Student stu = new Student ();stu.MdiParent =this ;stu.Show();EventArgs e)privatevoid统计个人成绩ToolStripMenultem_Click(object sender,EventArgs e)tongji t = new tongji ();t.MdiParent =thist.Show();EventArgs e)private

28、void 专业信息查询 ToolStripMenultem_Click( object sender, Specialty_sel s = new Specialty_sel ();s.MdiParent=this ;s.Show();Coursetablesel table = new Coursetablesel ();table.MdiParent =this ;table.Show();private void 课程表操作 ToolStripMenultem_Click( object sender, EventArgs e) Coursetable ta = new Courseta

29、ble ();ta.MdiParent =this ;ta.Show();private void 课程管理 ToolStripMenultem1_Click( object sender, EventArgs e)Form_Coursesel f= new Form_Coursesel ();f.MdiParent =this ;f.Show();private void 课程信息操作 ToolStripMenultem_Click( object sender, EventArgs e) Form_Course C = new Form_Course();C.MdiParent =this

30、 ;C.Show();private void 班级查询 ToolStripMenultem_Click( object sender, EventArgs e)Classsel s = new Classsel ();s.MdiParent =this ;s.Show();private void 班级信息操作 ToolStripMenultem_Click( object sender, EventArgs e) Class c = new Class ();c.MdiParent =this ;c.Show();Specialty sa = new Specialty ();sa.Mdi

31、Parent=this ;sa.Show();Class.csprivatevoid Class_Load( object sender, EventArgs e) tryDBHelp DBhelp = new DBHelp();SqlConnection con = new SqlConnection (DBhelp.constr); string sql = "select Specialtyname from SpecialtyInfo" SqlDataAdapter sda = new SqlDataAdapter (sql, con); DataSet ds =

32、new DataSet ();"a");sda.Fill(ds,foreach ( DataRow aRow in ds.Tables0.Rows)comboBox1.ltems.Add(aRow0.ToString().Trim();comboBox2.ltems.Add(aRow0.ToString().Trim();con.Close();catch ( Exception ex)MessageBoxShow(” 出错了!" + ex.ToString();private void button1_Click( object sender, EventArg

33、s e)tryDBHelp DBHelp = new DBHelp();SqlConnection con = new SqlConnection (DBHelp.constr);con.Open();string sql = "select Classid as 班级,Specialtyname as 专业名,Stunum as 人 数Remark as 备注 from Classlnfo,Specialtylnfo where Classlnfo.Specialtyid=Specialtylnfo.Specialtyid"if (comboBoxl.Text !=&qu

34、ot;")sql +=" and Specialtyname='0'" ;if (textBoxl.Text !="”)sql +=" and Classid='1'" ;sql =string .Format(sql, comboBoxl.Text, textBoxl.Text);SqlDataAdapter sda = new SqlDataAdapter (sql, con);DataSet ds = new DataSet ();sda.Fill(ds,"a");dataGr

35、idViewl.DataSource = ds.Tables0;con.Close();Height =Convert .Tolnt32( "400");catch ( Exception ex)MessageBoxShow(” 出错了!" + ex.ToString();DBHelp DBHelp = new DBHelp();SqlConnection con = new SqlConnection (DBHelp.constr);con.Open();string sql = "select Classid as 班级,Specialtyname

36、as 专业名,Stunum as 人数 Remark as 备注 from Classlnfo,Specialtylnfo where Classlnfo.Specialtyid=Specialtylnfo.Specialtyid"SqlDataAdapter sda = new SqlDataAdapter (sql, con); DataSet ds = new DataSet ();sda.Fill(ds,"a");dataGridViewl.DataSource = ds.TablesO;con.Close();string a =""

37、private void button2_Click( object sender, EventArgs e) / 添加前清空 a ="add"true ;III!.textBox2.Enabled =comboBoxl.Text =III!.textBox2.Text =III!.textBox3.Text =III!.textBox4.Text =private void button3_Click(a ="update"object sender, EventArgs e) / 修改textBox2.Enabled =falseobject sen

38、der,EventArgs e)private void button4_Click(tryif (a = "add" )/ 添加保存DBHelp DBhelp = new DBHelp();SqlConnection con = new SqlConnection (DBhelp.constr);string sqll = string .Format( "select Specialtyid from Specialtyinfo whereSpecialtyname='0'",comboBox2.Text);SqlCommanctom

39、 = new SqlComman(feql1, con);con.Open();SqlDataReader dr = com.ExecuteReader(); string no =""if (dr.Read()no = dr0.ToString();con.Close();/string sql2 = string.Format("select Teaid from Teacherinfo where Teaname='0"', textBox2.Text);/SqlCommand com0 = new SqlCommand(sql2,

40、 con);con.Open();/SqlDataReader dr1 = com0.ExecuteReader();/string Tno =""/if (dr1.Read()/ Tno = dr10.ToString();/con.Close();string sql = string .Format( "insert into Classinfovalues('0','1','2','3')", textBox2.Text, no, textBox3.Text, textBox4.Te

41、xt);SqlCommanctoml = new SqlCommandsql, con);con.Open();int result = com1.ExecuteNonQuery();if (result > 0)MessageBoxShow("插入成功”);Datashow();elseMessageBoxShow("插入失败");con.Close();if (a = "update" )/ 修改保存DBHelp DBhelp = new DBHelp();SqlConnection con = new SqlConnection (

42、DBhelp.constr);string sqll = string .Format( "select Specialtyid from Specialtyinfo where Specialtyname='0'" , comboBox2.Text);SqlCommanctom = new SqlCommandsqll, con);con.Open();SqlDataReader dr = com.ExecuteReader();string no =""if (dr.Read()no = dr0.ToString();con.Clos

43、e();string sql = string .Format( "update Classinfo setSpecialtyid='0',Stunum=1,Remark='2' where Classid='3"', no, textBox3.Text,textBox4.Text, textBox2.Text);SqlCommancComl = new SqlCommandsql, con);con.Open();int result = com1.ExecuteNonQuery();if (result > 0)Me

44、ssageBoxShow("修改成功”);Datashow();elseMessageBoxShow("修改失败”);con.Close();catch ( Exception ex)MessageBoxShow(” 出错了!" + ex.ToString();private void button5_Click( object sender, EventArgs e) / 删除tryif ( MessageBoxShow("确定要删除",”提示信息",MessageBoxButtons .YesNo)=DialogResult .Y

45、es)DBHelp DBhelp = new DBHelp();SqlConnection con = new SqlConnection (DBhelp.constr);string sql = string .Format( "delete from Classinfo where Classid='0'" textBox2.Text);SqlCommanctom = new SqlComman(feql, con);con.Open();int result = com.ExecuteNonQuery();if (result > 0)Messa

46、geBoxShow("删除成功”);Datashow();elseMessageBoxShow("删除失败”);con.Close();catch ( Exception ex)MessageBoxShow(” 出错了! " + ex.ToString();private void dataGridView1_CellClick( object sender, DataGridViewCellEventArgs e)textBox2.Text = dataGridView1.CurrentRow.Cells0.Value.ToString(); comboBox2

47、.Text = dataGridView1.CurrentRow.Cells1.Value.ToString(); textBox3.Text = dataGridView1.CurrentRow.Cells2.Value.ToString();textBox4.Text = dataGridView1.CurrentRow.Cells3.Value.ToString();G:102001205和坤学生成绩管理系统学生成绩管理系统Classsel.csprivate void Classsel_Load( object sender, EventArgs e)DBHelp DBhelp = n

48、ew DBHelp();SqlConnection con = new SqlConnection (DBhelp.constr); string sql = "select Specialtyname from Specialtyinfo" SqlDataAdapter sda = new SqlDataAdapter (sql, con); DataSet ds = new DataSet ();sda.Fill(ds,"a");foreach ( DataRow aRow in ds.TablesO.Rows)comboBox1.ltems.Add

49、(aRow0.ToString().Trim();con.Close();private void button1_Click( object sender, EventArgs e)tryDBHelp DBHelp = new DBHelp();SqlConnection con = new SqlConnection (DBHelp.constr);con.Open();string sql = "select Classid as 班级,Specialtyname as 专业名,Stunum as 人 数,Remark as 备注 from Classinfo,Specialt

50、yinfo where Classlnfo.Specialtyid=Specialtylnfo.Specialtyid"if (comboBoxl.Text !="")if (textBoxl.Text !="”)sql +=" and Classid='1”'sql =string .Format(sql, comboBoxl.Text, textBoxl.Text);SqlDataAdapter sda = new SqlDataAdapter (sql, con); DataSet ds = new DataSet ();

51、sda.Fill(ds,"a");dataGridView1.DataSource = ds.TablesO;con.Close();catch ( Exception ex)MessageBoxShow(” 出错了!" + ex.ToString();G:102001205和坤 学生成绩管理系统 学生成绩管理系统Coursetable.cs学年1学期V教那课程V班级labels匾课程春操作-学年学期VV教师课程7查询漆加修改保存tryDBHelp DBHelp = new DBHelp();SqlConnection con = new SqlConnectio

52、n (DBHelp.constr);con.Open();string sql = "select ID,Time,Termid,Classid,Cname,Teaname from Coursetable,Courselnfo,Teacherlnfo where Coursetable.Cno=Courselnfo.Cno and Coursetable.Teaid=Teacherlnfo.Teaid" ;if (comboBox1.Text !="")sql +=" and Time='0"'if (comboBo

53、x2.Text !="")sql +=" and Termid=1"if (comboBox3.Text !="")sql +=" and Classid='2'" ;if (comboBox5.Text !="")sql +=" and Cname='3'"if (textBox1.Text !="”)sql +=" and Teaname='4'" ;sql =string .Format(sq

54、l, comboBox1.Text, comboBox2.Text, comboBox3.Text,comboBox5.Text, textBox1.Text);SqlDataAdapter sda = new SqlDataAdapter (sql, con);DataSet ds = new DataSet ();sda.Fill(ds,"a");dataGridView1.DataSource = ds.Tables0;con.Close();/列名显示为中文dataGridView1.Columns0.HeaderText ="编号";dataG

55、ridView1.Columns1.HeaderText ="学年"dataGridView1.Columns2.HeaderText ="学期";dataGridView1.Columns3.HeaderText ="班级";dataGridView1.Columns4.HeaderText ="课程名称"dataGridView1.Columns5.HeaderText ="教师姓名"catch ( Exception ex)MessageBoxShow(” 出错了!" + ex.ToString();private void dataGridView1_CellClick( object sender, DataGridViewCellEventA

温馨提示

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

评论

0/150

提交评论