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






