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 数据库设计说明学生信息数据表列名 数据类型 数据长度 允许 null 备注sno nchar 9 不允许 学生学号sname nvarchar 20 允许 学生姓名sex nchar 2 允许 学生性别sbirthday nchar 10 允许 出生日期图 3-1 学生信息数据表用户登录表列名 数据类型 数据长度 允许 null 备注id int 不允许username nvarchar 10 允许 用户名password nvarchar
7、 10 允许 登录密码图 3-2 用户登录表3.2 数据库的完整性和安全性数据库中关系模型完整性约束:实体完整性、参照完整性、和用户定义完整性。其实实体完整性和参照完整性是关系模型中必须满足的完整性条件。因此用户在使用数据库必须遵守完整性规则:实体完整性规则、参照完整性规则、用户定义完整性规则。在关系模型中以主码作为唯一标识,因此主码不能为空。总的来说数据库完整性是指数据的正确性和相容性。例如本系统中学生学号必须唯一;性别只能是男或女等.数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的.数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露
8、,更改,或者破坏。安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题,只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全问题更为突出,系统安全保护措施是否有效是数据库系统的主要指标之一.3.3 登录模板设计为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。 用户登录窗体中放置了两个文本框(textbox),用来输入用户名和密码;两个按钮(Button)用来登录、取消。截图 1图 3-3 登录窗口登录代码的关键部分和代码的简单说明:private void button1_Click(object s
9、ender, EventArgs e)/构造函数,返回值空类型,/调用 dataaccesslayer 层的 login()方法,类实例化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 = “;textBo
10、xpasword.Text = “;/用户名和密码清空textBoxusername.Focus();/光标恢复原位MessageBox.Show(“用户名或密码错误“, “警告“, MessageBoxButtons.OK);3.4 FormMain 主界面设计登陆成功后即可进入 FormMain 主界面模块。窗体名称为学生信息管理系统,有两大主要控件:系统、档案。其中系统中包括注销,退出按钮。 点击注销按钮返回到登录界面,点击退出按钮退出学生管理系统;点击档案按钮进入到操作指令(录入学生信息、删除学生信息、查找学生信息、修改学生信息)按钮,点击一下进入到各个窗口,使用相应的功能。截图 2图
11、 3-4 学生信息管理系统图 3-5 学生信息管理系统设计 FormMain 主界面的关键代码和代码的简单说明: 1.private 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 录入学生信
12、息 ToolStripMenuItem_Click(object sender, EventArgs e)FormAddStudent addstudent = new FormAddStudent();addstudent.ShowDialog();/显示录入学生信息窗口if (addstudent.DialogResult=DialogResult .OK)/判断显示窗口时用的标识是否与 系统中的一样bind();/调用 bind 方法4.BindingSource bs = new BindingSource();/绑定数据源这样的一个类,进行类的实例化 5.public void bi
13、nd()/构造函数bs.DataSource = new SQLHelper().CreateTable();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. 进入查询窗口的实现两句代码:Studentserch search = new Studentserch();search.ShowDialog();8.Studentmodify modify = new Studentmodify();modify.ShowDialog();if (modify.DialogResult = DialogResult.OK)bind();