C#版本学生信息管理系统_第1页
C#版本学生信息管理系统_第2页
C#版本学生信息管理系统_第3页
C#版本学生信息管理系统_第4页
C#版本学生信息管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

目录一、课程设计目的-3二、功能描述-3三、系统分析-3 3.1需求分析- 3 3.2开发环境-3四、总体设计-4 4.1功能构成-44.2业务流程图-4五、数据库设计-5 5.1需求分析-55.2实体ER图-5 5.3数据表设计-6六、实现过程-7 6.1登录的实现-7 6.2主界面-9 6.3学生管理信息界面-11 6.4成绩信息管理界面-136.5选课信息界面-15 6.6添加学生信息界面-16 6.7学生列表界面-18 6.8添加成绩界面-19 6.9选课添加界面-20 6.10用户注册界面-21一、课程设计目的建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。二、功能描述考勤管理系统由学生信息管理模块、选课信息模块、成绩信息模块和用户管理模块四个主要功能模块构成。学生信息管理模块主要包括添加学生、查看学生信息等操作。、系统选课信息管理模块主要包括添加课程信息、修改学分等操作。成绩信息模块主要包括查看学生的选课成绩等操作。用户管理模块主要可以用来注册新用户,并可以用新用户来登陆系统。三、系统分析3.1 需求分析学生信息管理系统的用户是学校的老师,它可以有效的管理学生信息情况。管理员可以创建用户,增加和修改用户信息以及删除用户信息,和对学校一些学生信息的编辑等。该系统包括基本学生基本信息、成绩信息管理、选课信息管理等主要模块。每一个功能模块都需要针对不同的表来完成相同的数据库操作,即添加记录,修改记录,删除记录以及查询显示记录信息。具体功能有以下几个方面。3.2 开发环境Visual Studio2010是一种可视化的、面向对象和调用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual S 2010环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。四、总体设计4.1 软件功能构成学生信息管理系统是一个典型的数据库应用程序,由学生信息管理模块、课程信息管理模块、成绩信息管理模块等模块组成,允许授予权限的用户操作相应的菜单,从而实现数据信息的修改,查询,打印,统计等功能。考勤管理系统由学生信息管理模块、选课信息模块、成绩信息模块和用户管理模块四个主要功能模块构成。学生信息管理模块主要包括添加学生、查看学生信息等操作。、系统选课信息管理模块主要包括添加课程信息、修改学分等操作。成绩信息模块主要包括查看学生的选课成绩等操作。用户管理模块主要可以用来注册新用户,并可以用新用户来登陆系统。4.2业务流程图 学生信息管理系统系统管理专业设置班级管理学生管理课程管理添加功能修改功能删除功能成绩管理用户操作五、数据库设计5.1 数据库需求分析在设计数据库结构时,以及可能地满足用户所提出的各项要求,同时又避免同时又要避免冗余数据产生。由于在学生信息管理系统中,需要采集大量的信息,包括学生信息,班级信息,课程信息,成绩信息,专业信息等,如果不能够合理有效地组织数据表的结构,以及合理设置每张表所包含的字段,那么后期进行的数据的整理以及汇总时,就会增加编程人员的开发难度,并造成成绩效益的大幅度下降。根据学生基本信息以及其他相关信息的特点,归纳出以下规律:1.一个专业包括多个班级;2.一个班在一个学期内开设多门课程;3.每一门课程记录每一名学生的成绩;4.一种角色对应一个和多个用户;5.每一个学生可以贷款多项费用;6.一个班级对应一个入学年份及学制;7.一个班级包含多名学生;8.每一个学生都有不同的学号;9.每一个学生可以受奖励或处罚多次;10.每一个学生可以获奖学金多次;5.2 信息实体ER图学号所在系别姓名 学生年龄性别 5.2.1 学生信息实体ER图 课程性别 年龄姓名 5.2.2 课程信息实体ER图 学 生 专 业包 含 班 级包 含 1 N 1 N 1拥 有 N 课 程 5.2.3学生信息管理系统总E-R图5.3 数据表设计学生信息管理数据库采用Microsoft SQL SERVER 2010,在使用数据库过程中,接触最多的就是数据库中的表,表是数据存储的地方,是数据库最重要的部分。这个系统数据库表由4个表构成,具体如下。表student主键是sno字段数据类型长度是否允许空值字段描述snointN学生学号snamechar10N学生姓名ssexchar2Y学生性别sageintY学生年龄sdeptchar10Y所在系别表course主键是sno字段数据类型长度是否允许空值字段描述cnointN课程编号cnamechar10Y课程名称cpnochar10Y先修课程编号creditintY学分表Sc主键是sno字段类型长度是否允许空值字段描述snointN学号cnointY课程号snamechar10Y姓名cnamechar10Y课程名称gradeintY成绩 表admin主键是用户名字段类型长度是否允许为空值字段描述用户名char20N密码char20N6、 实现过程 6.1 系统登录功能的实现用户要使用本系统,首先必须通过系统的身份认证。如果用户名错误或者不存在,密码错误3次后,对话框自动关闭。具体代码如下:namespace 学生选课 public partial class Form1 : Form public Form1() InitializeComponent(); private void button2_Click(object sender, EventArgs e) Application.Exit(); private void textBox3_TextChanged(object sender, EventArgs e) MessageBox.Show(学生信息管理系统); public static Form fm = null; private static int ErrorTimes = 0; private void button1_Click(object sender, EventArgs e) if (textBox1.Text = | textBox2.Text = ) MessageBox.Show(提示:请输入用户名和密码!, 警告); SqlConnection conn = new SqlConnection(Server=TC-PC;Integrated Security=true;DataBase=学生); conn.Open(); SqlCommand cmd = new SqlCommand(select * from admin where 用户名= + textBox1.Text.Trim() + and 密码= + textBox2.Text.Trim() + , conn); SqlDataReader sdr = cmd.ExecuteReader(); sdr.Read(); if (sdr.HasRows) MessageBox.Show(登录成功!, 提示); Form2 fm = new Form2(); fm.Show(); this.Hide(); else ErrorTimes+; MessageBox.Show(用户名或密码不正确!您还有 + (3 - ErrorTimes) + 次输入密码的机会,请重新输入!如果超过3次,系统将自动关闭); if (ErrorTimes = 3) ErrorTimes = 0; conn.Close(); 6.2 主界面具体代码如下:namespace 学生选课 public partial class Form2 : Form public Form2() InitializeComponent(); public static Form fr = null; private void button1_Click(object sender, EventArgs e) if (fr = null) Form3 fr2 = new Form3(); fr2.Show(); MessageBox.Show(您已成功进入-学生管理!); else fr.TopLevel = true; public static Form fw = null; private void button2_Click(object sender, EventArgs e) if (fw = null) Form4 fw3 = new Form4(); fw3.Show(); MessageBox.Show(您已成功进入-成绩信息!); else fw.TopLevel = true; public static Form fe = null; private void button3_Click(object sender, EventArgs e) if (fe = null) Form5 fe2 = new Form5(); fe2.Show(); MessageBox.Show(您已成功进入-选课信息!); else fe.TopLevel = true; public static Form fu = null; private void button4_Click(object sender, EventArgs e) if (fu = null) Form10 fr2 = new Form10(); fr2.Show(); MessageBox.Show(您已成功进入-用户管理!); else fr.TopLevel = true; private void button5_Click(object sender, EventArgs e) this.Close(); private void Form2_Load(object sender, EventArgs e) 6.3 学生管理信息界面具体代码如下:namespace 学生选课 public partial class Form3 : Form public Form3() InitializeComponent(); private void button4_Click(object sender, EventArgs e) private void 添加学生ToolStripMenuItem_Click(object sender, EventArgs e) Form6 f2 = new Form6(); f2.MdiParent = this; f2.StartPosition = FormStartPosition.CenterScreen; f2.Show(); private void 学生列表ToolStripMenuItem_Click(object sender, EventArgs e) Form7 f2 = new Form7(); f2.MdiParent = this; f2.StartPosition = FormStartPosition.CenterScreen; f2.Show(); private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) this.Close(); private void Form3_Load(object sender, EventArgs e) 6.4 成绩信息管理界面代码具体如下:namespace 学生选课 public partial class Form4 : Form public Form4() InitializeComponent(); string strcon = Server=TC-PC;Integrated Security=true;DataBase=学生; SqlConnection con; SqlDataAdapter da; DataSet ds; private void Form4_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“学生DataSet.sc”中。您可以根据需要移动或删除它。 this.scTableAdapter.Fill(this.学生DataSet1.sc); con = new SqlConnection(strcon); da = new SqlDataAdapter(select * from sc, con); ds = new DataSet(); da.Fill(ds); dataGridView1.DataSource = ds.Tables0; private void button1_Click(object sender, EventArgs e) Form8 f2 = new Form8(); f2.Show(); private void button2_Click(object sender, EventArgs e) ds.Tables.Clear(); con = new SqlConnection(strcon); da = new SqlDataAdapter(select * from sc, con); string sql=update sc set grade=grade where sno=sno; da.UpdateCommand =new SqlCommand (sql,con); da.UpdateCommand.Parameters.Add(grade, SqlDbType.Int, 8, grade); SqlParameter prams_ID = da.UpdateCommand.Parameters.Add(sno, SqlDbType.Int); prams_ID.SourceColumn = sno; prams_ID.SourceVersion = DataRowVersion.Original; da.Fill(ds); for (int i = 0; i 0) label6.Text = 成功!; else label6.Text = 失败!; private void button2_Click(object sender, EventArgs e) this.Close(); private void Form6_Load(object sender, EventArgs e) 6.7 学生列表界面代码具体如下using System.Data.SqlClient;namespace 学生选课 public partial class Form7 : Form public Form7() InitializeComponent(); private void Form7_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“学生DataSet.student”中。您可以根据需要移动或删除它。 this.studentTableAdapter.Fill(this.学生DataSet.student); this.StartPosition = FormStartPosition.CenterScreen; 6.8 添加成绩界面具体代码如下:using System.Data.SqlClient;namespace 学生选课 public partial class Form8 : Form public Form8() InitializeComponent(); private void button1_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection(server=TC-PC;database=学生;integrated Security=true); string sql = insert into sc (sno,sname,cno,cname,grade) values( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + , + textBox5.Text + ); conn.Open(); SqlCommand comm = new SqlCommand(sql, conn); if (conn.State = ConnectionState.Closed) conn.Open(); if (Convert.ToInt32(comm.ExecuteNonQuery() 0) label6.Text = 成功!; else label6.Text = 失败!; private void button2_Click(object sender, EventArgs e) this.Close(); private void Form8_Load(object sender, EventArgs e) 6.9 选课添加界面具体代码如下: private void button1_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection(server=TC-PC;database=学生;integrated Security=true); string sql = insert into course (cno,cname,cpno,credit) values( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + ); conn.Open(); SqlCommand comm = new SqlCommand(sql, conn); if (conn.State = ConnectionState.Closed) conn.Open(); if (Convert.ToInt32(comm.ExecuteNonQuery() 0) label5.Text = 成功!; MessageBox.Show(您已成功添加数据!); else label5.Text = 失败!; private void button2_Click(object sender, EventArgs e) this.Close(); private void Form9_Load(object sender, EventArgs e) 6

温馨提示

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

评论

0/150

提交评论