1、沈阳航空航天大学C#课程设计汇报书学生成绩管理系统 密码修改 院 系 专 业 班 号 学 号 姓 名 指导老师 12月摘 要该系统是用Visua Studio和Access ,经过C#语言进行相关代码编写,生成相关程序。学生成绩管理系统是构建于VisualC#.NET平台上Windows应用程序,采取应用前景宽广XML技术存放数据,含有平台构建无偿、运行速度快、程序小、扩展性好、技术优异等特点。本文描述是基于Windows环境学生成绩管理系统,关键工具Microsoft Visual Studio 设计窗体,Access 建立数据库, 学生成绩管理管理系统为用户提供充足信息和快捷查询手段,实现
2、学生基础信息、成绩录入,删除,查询,维护和成绩统计分析等几方面功效,是现实问题迫切要求。本篇汇报介绍一个学生信息管理系统从分析到设计最终到开发全过程为,给出了学生信息管理系统设计和技术实现过程,尤其在细节上分析功效和函数实现思想。包含到学生信息管理基础功效在本汇报中全部有对应描述。管理信息系统正在向着网络化、智能化和集成化等趋势发展。学生成绩管理系统是为了愈加好管理学生考试成绩而开发数据管理软件。它对于一个学校是不可缺乏关键部分,它内容对于学校决议者和管理者来说全部至关关键。在这次课程设计中,让我加深了对Microsoft Visual Studio 利用,同时学习了Access数据库建立和连
3、接和导入。能在VisualC#.NET平台上进行Access数据库修改和控制,将C#语句和SQL语句混合使用,成功完成了学生成绩管理系统整体设计,加深巩固了选择条件语句,还有曾经学习过基础运算语句,同时也为以后深入学习垫下了了良好基础。关键词:C#;学生成绩管理;数据库目 录第一章 绪论41.1 课程设计目的41.2 系统开发环境41.3 系统开发程序41.4 报告主要内容4第二章 系统的需求分析52.1 系统设计目标52.2 功能需求分析52.3 性能需求分析5第三章 总体设计思路63.1 设计总体概述63.2 系统总体结构63.3 系统程序模块流程图73.4 系统主要功能模块简介73.4.
4、1学生信息查询模块73.4.2教师成绩管理模块8第四章 各程序界面及其功能示范94.1 主界面及二三级界面94.1.1主界面94.1.2二级界面94.1.3三级界面114.2 部分功能演示134.2.1信息修改功能134.2.2信息删除功能144.2.3信息添加功能154.2.4密码修改功能16第五章 主要功能模块代码175.1 登陆界面代码设计175.2 学生查询界面代码设计195.3 教师修改模块代码设计205.4 教师删除模块代码设计215.5 教师添加模块代码设计225.6 密码修改模块代码设计22第六章 课程设计心得25参考文献26第一章 绪论1.1 课程设计目标此次课程设计目标是使
5、学生能熟练掌握简单简单Windows窗体应用程序设计和ADO.net应用,复习熟练基础运算符,和基础条件语句、判定语句,将Access使用和Microsoft Visual Studio 使用结合起来,期望经过此次课程设计锻炼学生使用C#语言处理实际问题能力。1.2 系统开发环境系统开发平台:Microsoft Visual Studio 系统开发语言:C#数据库管理软件:Access 1.3 系统开发程序本系统后台数据库采取Access 数据库,该数据库系统在安全性、正确性和运行速度方面有绝正确优势,而且处理数据量大,效率高;前台采取Microsoft 企业Visual Studio 作为关
6、键开发工具,可和Access 数据库无缝链接。1.4 汇报关键内容本汇报具体介绍了学生信息管理系统开发过程,关键包含到工作以下:系统需求分析、系统总体设计设计思绪、系统概念设计、系统各模块具体设计、系统运行和测试。第二章 系统需求分析2.1 系统设计目标(1) 学生用户可依据不一样用户名和对应密码进行登录,并可修改密码。(2) 依据条件查询实现学生成绩按学号、课程、成绩、学期查询(3) 老师可对学生成绩和学生个人信息进行查询、添加、更改、删除。2.2 功效需求分析 本系统功效需求分析以下:(1) 学生密码修改:学生可在成功登录后对自己密码进行修改,以防个人信息外泄。(2) 学生成绩查询:学生依
7、据学号、成绩、课程进行查询。(3) 学生成绩录入:用于学生成绩管理,录入学生成绩,也能够进行更新。(4) 学生信息录入:用于学生个人信息管理,录入学生个人信息,也能够进行更新和对学生登录密码修改。2.3 性能需求分析(1) 登录、用户界面需求:简练、易懂、易用、友好用户界面。(2) 安全保密性需求:只有凭借用户名和密码登陆系统,才能进行信息管理,同时也能够进行密码修改。(3) 数据分析需求:可依据学生要求进行条件查询,分不一样学号、成绩、课程、学期进行对应查询。(4) 数据统计要求:可对学生成绩和个人信息进行添加更改和删除。第三章 总体设计思绪3.1 设计总体概述依据需求把整个系统分化成不一样
8、模块,每个模块完成一个特定子功效。把这些模块结合起来组成一个整体。逐一实现各个功效;3.2 系统总体结构经过对系统需求分析,学生成绩管理系统关键划分为两个部分:学生成绩查询,老师管理。图3.2系统总体结构。老师总体管理学生成绩查询学生成绩管理系统图3.2 系统总体结构3.3 系统程序模块步骤图老师总体管理成绩录入成绩删除成绩修改学生成绩查询学生成绩管理系统学生成绩管理学生信息管理信息录入信息删除信息修改按学号查询按学期查询按成绩查询按课程查询图3.3 学生成绩管理系统程序步骤图3.4 系统关键功效模块介绍3.4.1学生信息查询模块学生成绩查询:学生能够依据学号、成绩、课程、学期进行查询,同时也
9、能浏览全体学生成绩。3.4.2老师成绩管理模块老师管理:关键是用于学生成绩和个人信息更改、添加、删除。图3.4老师总体管理成绩录入成绩删除成绩修改学生成绩管理学生信息管理信息录入信息删除信息修改图3.4 老师成绩管理模块结构 第四章 各程序界面及其功效示范4.1 主界面及二三级界面4.1.1主界面学生成绩管理系统主界面图4.1.1,在输入正确用户名和密码后,可点击各个按钮从而进入学生成绩查询、老师窗口等二级界面,进行下一步操作。图4.1.1 学生成绩系统主界面4.1.2二级界面学生成绩查询二级界面图4.1.2。在界面中,有学生学号、课程、成绩、和学期。能够实现对学生成绩等多种信息浏览。点击分类
10、查询按钮,即可进行选择按学号、成绩、课程、学期不一样方法进入三级界面进行查询。点击密码修改按钮,即可进行密码修改三级界面。点击返回按钮,即可回到主界面,进行其它账号登录。点击右上角关闭符号可直接关闭程序。老师窗口二级界面图4.1.3。在界面中,有序号、学生学号、课程、成绩、和学期。能够实现对学生成绩浏览、修改、添加、和删除。在序号框输入对应序号,点击删除,即可进行删除;在对应框处输入对应信息,点击修改或添加,即可进行修改和添加。点击分类查询,可取得和学生界面一样按条件查询功效。点击学生信息修改按钮,即可进入学生信息管理二级界面。点击返回按钮,即可回到主界面,进行其它账号登录。点击右上角关闭符号
11、可直接关闭程序。图4.1.2 学生成绩查询二级界面图4.1.3 老师窗口二级界面4.1.3三级界面密码修改三级界面图4.1.4所表示。在界面中,有旧密码、新密码、确定密码三个部分。能够实现对学生密码修改。图4.1.4 密码修改三级界面按条件查询三级页面图4.1.5和图4.1.6所表示。在界面中,依据输入条件输入对应需要查询条件点击查询按钮即可在表中出现对应数据。图4.1.5 按条件查询三级界面1图4.1.5 按条件查询三级界面24.2 部分功效演示4.2.1信息修改功效在对应框中输入对应需要更改信息,点击修改按钮,即可进行修改。图4.2.1。图4.2.1信息修改功效4.2.2信息删除功效在序号
12、输入框输入对应需要删除信息序号,点击删除按钮,即可进行删除,删除后不可恢复!图4.2.2。图4.2.2 信息删除功效4.2.3信息添加功效在对应框中输入对应一条和其它信息没有反复新信息,点击添加按钮,即可进行添加。图4.2.3。图4.2.3 信息添加功效4.2.4密码修改功效在旧密码框中输入旧密码,新密码框中输入需要更改新密码,在确定密码框中输入和新密码相同确实定密码,假如新密码和确定密码不一样,将会出现图4.2.4所表示提醒;若新密码和确定密码相同,点击修改按钮,将提醒密码修改成功请重新登录,图4.2.5。图4.2.4 密码修改错误图4.2.5 密码修改成功第五章 关键功效模块代码5.1 登
13、陆界面代码设计using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace 学生成绩管理系统 public partial class Form1 : Form static public string usmen;/用户名,用于保留 sta
14、tic public string uspass;/密码,用于保留 public Form1() InitializeComponent(); private bool pdyj() if (textBox1.Text = ) return false; if (textBox2.Text = ) return false; return true; private void button1_Click(object sender, EventArgs e) if (!pdyj() MessageBox.Show(请输入正确信息); return; /创建路径及数据库名 string strP
15、ath = Application.StartupPath + Student.mdb; /生成链接数据库字符串 string oleCon = provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:DataBase Password=xxx123;User Id=admin;Data source= + strPath; /创建数据库连接 OleDbConnection conn = new OleDbConnection(oleCon); /当创建好连接到Access后打开数据库连接 conn.Open(); /SQL查询语句 string Access
16、= select username,userpassword from userlist where username= + this.textBox1.Text + and userpassword= + this.textBox2.Text + ;/select是查询数据库语句 OleDbCommand cmd = new OleDbCommand(Access, conn); OleDbDataReader hyw = cmd.ExecuteReader(); if(hyw.Read() /在结构中我们量就作为判定 usmen=textBox1.Text; uspass=textBox2
17、.Text; /一旦连接成功了就弹出窗口 MessageBox.Show(登录成功!); Form f2=new Form4(); this.Hide(); f2.ShowDialog(); this.Dispose(); else /信息错误,判定条件不成立 MessageBox.Show(输入用户密码错误); private void button2_Click(object sender, EventArgs e) if (textBox1.Text = 001) & (textBox2.Text = 12345) MessageBox.Show(登录成功!); Form3 b = ne
18、w Form3(); this.Hide(); b.ShowDialog(); this.Dispose(); else MessageBox.Show(错误, 密码错误,请重新输入!); private void timer1_Tick(object sender, EventArgs e) if (pictureBox1.Left =this.Width) pictureBox1.Left = -pictureBox1.Width; pictureBox1.Left +=1; 5.2 学生查询界面代码设计using System;using System.Collections.Gener
19、ic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace 学生成绩管理系统 public partial class Form4 : Form public Form4() InitializeComponent(); private void 退出ToolStripMenuItem_Click(object sender
20、, EventArgs e) Form1 b = new Form1(); this.Hide(); b.ShowDialog(); this.Dispose(); private void Form4_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“studentDataSet10.学生成绩表”中。您能够依据需要移动或删除它。 this.学生成绩表TableAdapter2.Fill(this.studentDataSet10.学生成绩表); 5.3 老师修改模块代码设计using System;using System.Collec
21、tions.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace 学生成绩管理系统 public partial class Form3 : Form public Form3() InitializeComponent(); private bool pdyj() if (textBox1.Text = )
22、 return false; return true; private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) Form1 b = new Form1(); this.Hide(); b.ShowDialog(); this.Dispose(); private void Form3_Load(object sender, EventArgs e) / TODO: 这行代码将数据加载到表“studentDataSet9.学生成绩表”中。您能够依据需要移动或删除它。 this.学生成绩表TableAdapter6.Fi
23、ll(this.studentDataSet9.学生成绩表); private void button1_Click(object sender, EventArgs e) if (!pdyj() MessageBox.Show(请输入正确信息); return; /连接到一个数据库 string strPath = Application.StartupPath + Student.mdb; string strCon = provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:DataBase Password=xxx123;User Id=admin;Da
24、ta source= + strPath; OleDbConnection myConn = new OleDbConnection(strCon); myConn.Open(); /从数据库中修改指定统计 string strUpdt = UPDATE 学生成绩表 SET 课程 = + textBox2.Text + , 成绩 = + textBox3.Text + , 学期 = + textBox4.Text + WHERE 序号= + textBox1.Text; OleDbCommand myCommand = new OleDbCommand(strUpdt, myConn); in
25、t rtn = myCommand.ExecuteNonQuery(); MessageBox.Show(rtn.ToString() + 行被更改); myConn.Close(); 5.4 老师删除模块代码设计 private void button3_Click(object sender, EventArgs e) if (!pdyj() MessageBox.Show(请输入正确信息); return; /连接到一个数据库 string strPath = Application.StartupPath + Student.mdb; string strCon = provider=
26、Microsoft.ACE.OLEDB.12.0;Jet OLEDB:DataBase Password=xxx123;User Id=admin;Data source= + strPath; OleDbConnection myConn = new OleDbConnection(strCon); myConn.Open(); string strDele = DELETE FROM 学生成绩表 WHERE 序号= + textBox1.Text; OleDbCommand myCommand = new OleDbCommand(strDele, myConn); /从数据库中删除指定统
27、计 int rtn = myCommand.ExecuteNonQuery(); /从studentDataSett中删除指定统计信息 MessageBox.Show(rtn.ToString() + 行被删除); myConn.Close(); /关闭数据库连接 5.5 老师添加模块代码设计private void button2_Click(object sender, EventArgs e) if (!pdyj() MessageBox.Show(请输入正确信息); return; string strPath = Application.StartupPath + Student.m
28、db; string strCon = provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:DataBase Password=xxx123;User Id=admin;Data source= + strPath; OleDbConnection myConn = new OleDbConnection(strCon); myConn.Open(); string strInsert = INSERT INTO 学生成绩表 ( 序号 , 学号 , 课程 , 成绩 , 学期 ) VALUES ( ; strInsert += textBox1.Text +
29、, ; strInsert += textBox5.Text + , ; strInsert += textBox2.Text + , ; strInsert += textBox3.Text + , ; strInsert += textBox4.Text + ) ; OleDbCommand inst = new OleDbCommand ( strInsert , myConn ) ; int rtn = inst.ExecuteNonQuery(); MessageBox.Show(rtn.ToString() + 行被添加); myConn.Close ( ) ; 5.6 密码修改模
30、块代码设计public partial class Form5 : Form public Form5() InitializeComponent(); private void button2_Click(object sender, EventArgs e) Form4 b = new Form4(); this.Hide(); b.ShowDialog(); this.Close(); private void button1_Click(object sender, EventArgs e) if (textBox1.Text = | textBox2.Text = | textBox
31、3.Text = ) MessageBox.Show(您输入信息不完整!请重新输入!, 提醒); else if (textBox2.Text != textBox3.Text) MessageBox.Show(您新密码输入错误!请重新输入!, 提醒); else if (textBox1.Text != ) string strPath = Application.StartupPath + Student.mdb; string constr = provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:DataBase Password=xxx123;User
32、 Id=admin;Data source= + strPath; OleDbConnection oleDbConnection1 = new OleDbConnection(constr); oleDbConnection1.Open(); string Access = select 密码 from 用户信息 where 密码= + this.textBox1.Text + ; OleDbCommand cmd = new OleDbCommand(Access, oleDbConnection1); OleDbDataReader hyw = cmd.ExecuteReader();
33、if (hyw.Read() string oleDb1 = select 密码 from 用户信息; OleDbDataAdapter oleDbDataAdapter1 = new OleDbDataAdapter(oleDb1, oleDbConnection1); DataSet dt1 = new DataSet(); oleDbDataAdapter1.Fill(dt1, 用户信息); string oleDb2 = textBox1.Text; string oleDb3 = (string)dt1.Tables用户信息.Rows0密码; if (oleDb2.Equals(ol
34、eDb3.Trim() & textBox2.Text = textBox3.Text) string constr1 = provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:DataBase Password=xxx123;User Id=admin;Data source= + strPath; string oleDb4 = update 用户信息 set 密码= + textBox2.Text + where 密码= + textBox1.Text + ; OleDbConnection oleDbConnection = new OleDbConne
35、ction(constr1); oleDbConnection.Open(); OleDbCommand cd = new OleDbCommand(oleDb4, oleDbConnection); OleDbDataReader sr = cd.ExecuteReader(); MessageBox.Show(密码修改成功,请重新登录!, 提醒); Form1 b = new Form1(); this.Hide(); b.ShowDialog(); this.Close(); else MessageBox.Show(旧密码错误,请重新输入!, 提醒); 第六章 课程设计心得此次为期两周课程设计,使我们所学C#知识得以实践,经过团体共同完成一个学生成绩管理系统,其功效基础符适用户要求,能够对学生、老师和课程基础信息进行查询、修改、添加、删除。在这次课程