用C#制作学生信息管理系统.docx

上传人:啊飒飒 文档编号:10876438 上传时间:2021-06-10 格式:DOCX 页数:63 大小:1.05MB
返回 下载 相关 举报
用C#制作学生信息管理系统.docx_第1页
第1页 / 共63页
用C#制作学生信息管理系统.docx_第2页
第2页 / 共63页
用C#制作学生信息管理系统.docx_第3页
第3页 / 共63页
用C#制作学生信息管理系统.docx_第4页
第4页 / 共63页
用C#制作学生信息管理系统.docx_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《用C#制作学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《用C#制作学生信息管理系统.docx(63页珍藏版)》请在三一文库上搜索。

1、课程设计 (论文)学生信息管理系统系别 :计算机系专业(班级):作者(学号):计算机科学与技术 2010 级 3 班冯深海(51002013036)指 导 教 师 :王磊完 成 日 期 : 2011 年 6 月 12 日蚌埠学院教务处制精选摘要摘要随着科学技术的不断进步,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它 已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一个重要部分, 信息查询系统是一个由用户和计算机组成的进行信息管理、信息收集、存储处理、传递使用 和维护的软件系统。学生信息管理系统是学校管理学生信息的一种必不可少的的工具,它相 对与手工书写管理更加便利,快

2、捷,节约大量时间,大幅提高日常查询效率。关于学生信息管理系统,论文主要分几个重点部分来介绍它的功能的实现。对各个功 能的描述,内容简洁,明了,结构紧凑 。学生信息管理系统可以满足用户的需求,具体体 现在对学生信息的录入,修改,查询,修改等操作。实现其中的操作除了对各个类中代码 书写,更重要的还需要书写与后台数据库交互的代码, 满足数据库信息的输入和输出。 学生信息管理系统的开发目的是为了实现学生个人信息的信息化管理。本系统需要完成 功能有:1. 登录学生管理系统;2. 录入学生信息,包括学号,姓名,性别,出生日期;3. 修改已知学号的学生信息;4. 删除已知学号的学生信息;5. 查询已知学号的

3、学生信息;关键词 登录(Login),录入(FormAddStudent),修改(studentmodify),删除 (studentdelete) ,查询(studensearch)精选第一章 引言(或概述)第一章 引言(或概述)学生信息管理系统开发我们需具备对后台数据库表的建立,插入,查询,删除,更新, Visual Studio2005 工具的使用 和面向对象 C#语言等知识。通过对学生信息管理系统的设 计慢慢了解,深入学习,从而达到熟练掌握.NET 基本结构以及 C#语言的基本知识和技能; 基本掌握面向对象程序开发的基本思路和方法;掌握 ADO.NET 数据库开发基本知识;能够利 用所

4、学的基本知识和技能,进行简单数据库应用程序设计。根据课题的要求,给出解决问题的方案,通过分析问题、分解问题来解决问题,最终达到熟 练掌握 C#语言的运用和 Visual Studio2005 工具的使用。第二章2.1设计预案第二章学生信息管理系统的介绍2.1 学生信息管理系统的介绍学生信息管理系统主要分为四种模块:录入模块、删除模块、修改模块、查找模块。逐步对各个模块的代码书写,实现多种功能,让用户快速而便捷地使用学生信息管理系 统。用户可以录入学生信息,输入学生的学号从而删除学生信息、查找学生信息、修改学生 信息。2.222.1 开发方案2.2.1 开发方案精选本人计划编写一个人学生信息管理

5、系统,主要功能是满足用户对学生信息的管理,包括 录入、删除、修改、查询功能。2. 2.2模块设计及分析本次设计主要分为四种模块:录入模块、删除模块、修改模块、查找模块、详细可以参 考下图:FormMain 界面用户登录FormMain 界面操作指令录入学生基本信息按学号修改学生信息按学号删除学生信息按学号查找学生信息注销学生信息管理系统学生基本信息表图 2-1精选第三章设计步骤和要点设计步骤和要点本次设计和数据库紧密相连,首先我们根据题意设计相关的数据库以及相关的数据表 (book,manager,user)。然后我们把这次的设计内容分成了若干个模块,逐次实现各个模块 的功能,这样不仅便于功能

6、的实现,而且外观美观,层次清晰。制作过程主要是页面的设计 和相关代码的编写。3.1 数据库设计说明学生信息数据表列名snosnamesexsbirthday数据类型ncharnvarcharncharnchar数据长度920210允许 null不允许允许允许允许备注学生学号学生姓名学生性别出生日期图 3-1 学生信息数据表用户登录表列名idusernamepassword数据类型intnvarcharnvarchar数据长度1010允许 null不允许允许允许备注用户名登录密码图 3-2 用户登录表精选3.2数据库的完整性和安全性数据库中关系模型完整性约束:实体完整性、参照完整性、和用户定义完

7、整性。其实实体完整性和参照完整性是关系模型中必须满足的完整性条件。因此用户在使用数据库必须遵 守完整性规则:实体完整性规则、参照完整性规则、用户定义完整性规则。在关系模型中以 主码作为唯一标识,因此主码不能为空。总的来说数据库完整性是指数据的正确性和相容性。 例如本系统中学生学号必须唯一;性别只能是男或女等.数据库是否具备完整性关系到数据 库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的.数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改,或者破 坏。安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题,只是在数据库系统 中大量数据集中存放,而且为许多

8、最终用户直接共享,从而使安全问题更为突出,系统安全保 护措施是否有效是数据库系统的主要指标之一.3.3登录模板设计为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。用户登录窗体中放置了两个文本框(textbox),用来输入用户名和密码;两个按钮(Button) 用来登录、取消。截图 1精选图 3-3 登录窗口登录代码的关键部分和代码的简单说明:private void button1_Click(object sender, EventArgs e)/构造函数,返回值空类型,/调用 dataaccesslayer 层的 login(

9、)方法,类实例化SQLHelper sqlhelper = new SQLHelper();int total = sqlhelper.login(textBoxusername.Text.Trim(),textBoxpasword.Text.Trim();/返回一个整型if (total 0)FormMain main = new FormMain();main.Show();this.Hide();精选elsetextBoxusername.Text = ; textBoxpasword.Text = ;/用户名和密码清空 textBoxusername.Focus();/光标恢复原位 M

10、essageBox.Show(用户名或密码错误, 警告,MessageBoxButtons.OK);3.4 FormMain 主界面设计登陆成功后即可进入 FormMain 主界面模块。窗体名称为学生信息管理系统,有两大主 要控件:系统、档案。其中系统中包括注销,退出按钮。 点击注销按钮返回到登录界面,点击退出按钮退出学生管理系统;点击档案按钮进入到操作指令(录入学生信息、删除学生信息、查找学生信息、修改学生信息)按钮,点击一下进入到各个窗口, 使用相应的功能。截图 2精选图 3-4 学生信息管理系统图3-5 学生信息管理系统设计 FormMain 主界面的关键代码和代码的简单说明:1.pri

11、vate void 注销 ToolStripMenuItem_Click(object sender, EventArgs e)精选 Formlogin login = new Formlogin();login.ShowDialog();/显示登录窗口2. private void 退出 ToolStripMenuItem_Click(object sender, EventArgs e) this.Close();/退出学生信息管理系统3. private void 录入学生信息 ToolStripMenuItem_Click(object sender, EventArgs e) For

12、mAddStudent addstudent = new FormAddStudent(); addstudent.ShowDialog();/显示录入学生信息窗口if (addstudent.DialogResult=DialogResult .OK)/判断显示窗口时用的标识是否与 系统中的一样bind();/调用 bind 方法4. BindingSource bs = new BindingSource();/绑定数据源这样的一个类,进行类的实例 化5. public void bind()/构造函数bs.DataSource = new SQLHelper().CreateTable(

13、);dataGridView1.DataSource = bs;/通过数据源(DataSource)这个渠道把控件 (dataGridView1)与反馈数据绑定在一起6. private void 删除学生信息 ToolStripMenuItem_Click(object sender, EventArgs e) FormDeleteStudent delete = new FormDeleteStudent();delete.ShowDialog();/刷新网格if ( delete.DialogResult = DialogResult.OK)bind();7. 进入查询窗口的实现两句代码

14、:Studentserch search = new Studentserch(); search.ShowDialog();7. Studentmodify modify = new Studentmodify();modify.ShowDialog();if (modify.DialogResult = DialogResult.OK)bind();3.5录入学生信息模块设计创建一个新的窗体 Form2,将 Form2 改名为录入学生信息,在该窗体中设置控件,点击其中的控件按钮进入相应代码编写的地方,进行代码的编写。 截图 3精选图 3-6 录入学生信息代码编写要点和代码说明:1. str

15、ing 学号= textBoxsno.Text.Trim();string 姓名= textBoxsname.Text.Trim();string 性别= comboBoxsex.Text.Trim();string 日期= textBoxbirthday.Text.Trim();/定义 4 个字符串型变量(学号,姓名,性别,日期),分 别把控件的内容赋给他们1. try你的代码;catch ()检验并给出提示;3.close();/取消录入3.6删除学生信息模块设计创建一个新的窗体,将该窗体命名为删除学生信息,在该窗体中设置控件,点击其中的控件按钮进入相应代码编写的地方,进行代码的编写。将各

16、个控件中属性名改为易于识别名 字,这样在编写代码时不会被混淆。删除学生信息是已知学号进行删除的。系统通过录入功能录入了学生信息,在通过输入 学号与后台数据库中已存的学号进行比较,若相等则删除,否则不删除并给出相应提示。精选截图 4图 3-7 删除学生信息代码编写要点和代码说明:new StudentDAO().delete(textBoxsno.Text.Trim(); 这 行 代 码 是 把 输 入 的 学 号 (textBoxsno 中的内容)作为一个参数传到 StudentDAO 类中 delete 构造函数中,然后与 后台中已存在的学号进行比较。public void delete(s

17、tring sno) string sql = delete from student where sno=sno;/定义一个字符串变量并赋值 SqlParameter para = new SqlParameter/SqlParameter是系统中的类,属于不能 继承的类。值引用是不能够继承的。此行是类的实例化new SqlParameter(sno,SqlDbType.NChar)/ SqlDbType 指定特定的字段和数据类 型 ;int i = 0;parai+.Value = sno;sqlhelper.ExecuteNonQuery(sql, para)/传递参数到 SQLhelp

18、er 中,与后台已存数据进行 比较之后做出相应的参考。精选3.7查找学生信息模块设计查找学生信息是以知道学生的学号为前提,只要后台数据库中已经录入一些学生的信息,正确输入学生学号即可查找到要查找的学生信息。实现这个功能,首先要创建一个窗体, 设置一些控件。点击这些控件进行代码的编写。下面是查找学生信息模块的截图。截图 5图 3-8 查询学生信息查询关键代码的设计和简单说明:点击确定按钮进入代码编辑位置,进行代码的编写。if (textBox1sno.Text = )/判断学号输入处是否为空bind();/调用构造函数else bs.DataSource = new SQLHelper().Cr

19、eateTable1(textBox1sno.Text.Trim(); dataGridView2.DataSource = bs;/不相等时, 通过数据源(DataSource)这个渠道把控 件(dataGridView1)与反馈数据绑定在一起,在控件(dataGrrridView1)中显示table表。 private void bind()MessageBox.Show( 查 询 失 败 , 请 重 新 输 入 !, 提 示);textBox1sno.Focus()/光标返回到开始;return;精选3.8修改学生信息模块设计用户录入学生信息之后并且发现录入有误,这时就可以使用修改功能。

20、点击修改按钮进入修改界面,输入要修改的学生的学号,再修改学生的其他的信息。点击确定按钮,进入编辑位置,进行代码的编写。下面是修改界面的的截图。 截图 6图 3-9 修改学生信息修改关键代码的设计和简单说明:点 击 确 定 按 钮 进 入 编 写 代 码 位 置 , 进 行 代 码 编 写 。( string sno = textBoxsno.Text.Trim();string sname = textBoxsname.Text.Trim();string sex = comboBoxsex.Text.Trim();string sbirthday = textBoxsbirthday.Tex

21、t.Trim();)这几段 代 码 是 定 义 字 符 串 变 量 , 将 各 种 控 件 中 的 内 容 赋 值 给 变 量 。 这 句 “ new StudentDAO().modify(sno, sname, sex, sbirthday)”代码含义是指将参数传入到modify 构造函数中,进行相应的操作。“update student set sname=sname where sno=sno update student set sex=sex” 这串代码是用于后台数据库的更新,从而实现系统删除功能的实现。精选第四章 系统测试第四章 系统测试4.1登录测试图 41 登录测试输入用户名

22、和密码,进入学生信息管理系统:精选图 41 登录测试4.2 录入测试现在系统中有五个学生信息,使用录入功能录入一个学号为“006号”的学生信息,如图 所示:精选图 4-2 录入测试4.3 删除测试上图已存在六个学生的信息,现要删除学号为”002 号、006 号“的学生信息。操作结 果如图所示:图 4-3 删除测试4.4 查找测试查询学号为”001 号“学生的信息,查询结果如图所示:精选图 4-4 查询学生信息4.5 修改测试修改学号为”003 号“的学生信息。如图所示:分别将姓名、性别、出生日期中信息 改为“王小宝、女、1990-12-01”。修改后的结果如图所示:精选图 4-5 修改学生信息

23、第五章设计感悟第五章 结论通过这段时间的学习,让我对 C#有了新的认识。要想学好这门语言,需要长期的知识 积累和上机实践并且不断地总结经验。在用 C#开发一个项目时,遇到自己不能解决的问题 可以通过积极思考、查询资料、询问老师、同学这些方式来解决。这次我设计的课题是学生信息管理系统。在设计这个课题的过程中,面对着许多问题,, 在本次设计过程中,我是逐步对每个模块进行编码设计,完成每个功能。要求在每个阶段结 束之前通过人工检查,完善每个模块的功能,尽早发现错误并纠正,完成每个模块测试之后 再进行系统测试。精选致谢致谢这次课程设计主要感谢我们的指导老师(王磊)。在这个项目刚刚确定下来,我们一头 雾

24、水,不知如何开发。因此前期的制作,主要是老师和我们一起开发并且给我们讲解。在老 师的引导下,我们逐步完成了整个项目的研发。在这里我们感谢指导老师。参考文献参考文献1王珊,萨师煊数据库系统概述,高等教育出版社 2 C#高级程序设计,清华大学出版社精选附录:程序清单附录:程序清单/登录using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;u

25、sing DataAccessLayer;namespace StudentMIspublic partial class Formlogin : Formpublic Formlogin()InitializeComponent();private void button1_Click(object sender, EventArgs e)/调用 dataaccesslayer 层的 login()方法,SQLHelper sqlhelper = new SQLHelper();int total = sqlhelper.login(textBoxusername.Text.Trim(),t

26、extBoxpasword.Text.Trim();if (total 0)FormMain main = new FormMain();main.Show();this.Hide();elsetextBoxusername.Text = ;textBoxpasword.Text = ;textBoxusername.Focus();MessageBox.Show(用户名或密码错误, 警告, MessageBoxButtons.OK);精选private void label2_Click(object sender, EventArgs e)private void Formlogin_Lo

27、ad(object sender, EventArgs e)private void textBoxpasword_TextChanged(object sender, EventArgs e) /FormMain 主界面using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using DataAccessLayer;namespace

28、 StudentMIspublic partial class FormMain : Formpublic FormMain()InitializeComponent();private void 录入学生信息 ToolStripMenuItem_Click(object sender, EventArgs e) FormAddStudent addstudent = new FormAddStudent(); addstudent.ShowDialog();if (addstudent.DialogResult=DialogResult .OK)bind();BindingSource bs

29、 = new BindingSource();public void bind()bs.DataSource = new SQLHelper().CreateTable(); dataGridView1.DataSource = bs精选private void FormMain_Load(object sender, EventArgs e)bind();private void 删除学生信息 ToolStripMenuItem_Click(object sender, EventArgs e)FormDeleteStudent delete = new FormDeleteStudent(

30、);delete.ShowDialog();/刷新网格if ( delete.DialogResult = DialogResult.OK)bind(); private void dataGridView1_CellContentClick(object sender,DataGridViewCellEventArgs e) private void 档案 ToolStripMenuItem_Click(object sender, EventArgs e)private void 查询学生信息 ToolStripMenuItem_Click(object sender, EventArgs

31、 e)Studentserch search = new Studentserch();search.ShowDialog();private void 修改学生信息 ToolStripMenuItem_Click(object sender, EventArgs e)Studentmodify modify = new Studentmodify();modify.ShowDialog();if (modify.DialogResult = DialogResult.OK)bind()private void 退出 ToolStripMenuItem_Click(object sender,

32、 EventArgs e)Application.Exit();private void 注销 ToolStripMenuItem_Click(object sender, EventArgs e)Formlogin login = new Formlogin();login.ShowDialog();/录入using System;using System.Collections.Generic;using System.ComponentModel;精选using System.Data;using System.Drawing;using System.Text;using System

33、.Windows.Forms;using DataAccessLayer;using System.Data.SqlClient;namespace StudentMIspublic partial class FormAddStudent : Formpublic FormAddStudent()InitializeComponent();private void buttonok_Click(object sender, EventArgs e)string 学号= textBoxsno.Text.Trim();string 姓名= textBoxsname.Text.Trim(); st

34、ring 性别= comboBoxsex.Text.Trim();string 日期= textBoxbirthday.Text.Trim();trynew StudentDAO().insert(学号, 姓名, 性别, 日期);this.DialogResult = DialogResult.OK;MessageBox.Show(录入成功, 提示);catch (SqlException ex)switch (ex.Number)case 2627:MessageBox.Show( 已经存在此学号!请检查。 , 错误: ,MessageBoxButtons.OK, MessageBoxIco

35、n.Error);break; default:string info = string.Format(访问数据库出错!n 具体原因为:0n错误代码:1, ex.Message, ex.Number);MessageBox.Show(info);break;return;catch (Exception err)精选MessageBox.Show(err.Message, 出 错 了 :, MessageBoxButtons.OK,MessageBoxIcon.Error);return;private void label1_Click(object sender, EventArgs e)

36、 private void FormAddStudent_Load(object sender, EventArgs e)private void textBoxsno_TextChanged(object sender, EventArgs e)private void buttoncancel_Click(object sender, EventArgs e)Close();/删除using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.D

37、rawing;using System.Text;using System.Windows.Forms;using DataAccessLayer;using System.Data.SqlClient;namespace StudentMIspublic partial class FormDeleteStudent : Formpublic FormDeleteStudent()InitializeComponent();private void buttonok_Click(object sender, EventArgs e)new StudentDAO().delete(textBo

38、xsno.Text.Trim();this.DialogResult = DialogResult.OK;MessageBox.Show(删除成功, 提示);精选private void FormDeleteStudent_Load(object sender, EventArgs e) private void textBoxsno_TextChanged(object sender, EventArgs e) private void button2_Click(object sender, EventArgs e)Close();/查找using System;using System.

39、Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using DataAccessLayer;namespace StudentMIspublic partial class Studentserch : Formpublic Studentserch()InitializeComponent();private void St

40、dentSelect_Load(object sender, EventArgs e)private void textBox1_TextChanged(object sender, EventArgs e)BindingSource bs = new BindingSource();private void buttonok_Click(object sender, EventArgs e) if (textBox1sno.Text = )bind();elsebs.DataSource = new SQLHelper().CreateTable1(textBox1sno.Text.Trim

41、(); dataGridView2.DataSource = bs;精选private void bind()MessageBox.Show(查询失败,请重新输入!, 提示); textBox1sno.Focus();return;private void textBox1_TextChanged_1(object sender, EventArgs e)private void buttoncancle_Click(object sender, EventArgs e)private void textBoxsno_TextChanged(object sender, EventArgs e

42、)private void textBoxsname_TextChanged(object sender, EventArgs e)private void dataGridView1_CellContentClick(objectDataGridViewCellEventArgs e)sender,private void button1_Click(object sender, EventArgs e) Close();/修改using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1