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

上传人:b****7 文档编号:16553114 上传时间:2023-07-14 格式:DOCX 页数:39 大小:232.52KB
下载 相关 举报
用C制作学生信息管理系统.docx_第1页
第1页 / 共39页
用C制作学生信息管理系统.docx_第2页
第2页 / 共39页
用C制作学生信息管理系统.docx_第3页
第3页 / 共39页
用C制作学生信息管理系统.docx_第4页
第4页 / 共39页
用C制作学生信息管理系统.docx_第5页
第5页 / 共39页
用C制作学生信息管理系统.docx_第6页
第6页 / 共39页
用C制作学生信息管理系统.docx_第7页
第7页 / 共39页
用C制作学生信息管理系统.docx_第8页
第8页 / 共39页
用C制作学生信息管理系统.docx_第9页
第9页 / 共39页
用C制作学生信息管理系统.docx_第10页
第10页 / 共39页
用C制作学生信息管理系统.docx_第11页
第11页 / 共39页
用C制作学生信息管理系统.docx_第12页
第12页 / 共39页
用C制作学生信息管理系统.docx_第13页
第13页 / 共39页
用C制作学生信息管理系统.docx_第14页
第14页 / 共39页
用C制作学生信息管理系统.docx_第15页
第15页 / 共39页
用C制作学生信息管理系统.docx_第16页
第16页 / 共39页
用C制作学生信息管理系统.docx_第17页
第17页 / 共39页
用C制作学生信息管理系统.docx_第18页
第18页 / 共39页
用C制作学生信息管理系统.docx_第19页
第19页 / 共39页
用C制作学生信息管理系统.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

 

课程设计(论文)

 

学生信息管理系统

 

系别:

计算机系

专业(班级):

计算机科学与技术2010级3班

作者(学号):

冯深海(51002013036)

指导教师:

王磊

完成日期:

2011年6月12日

 

蚌埠学院教务处制

摘要

摘要

随着科学技术的不断进步,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一个重要部分,信息查询系统是一个由用户和计算机组成的进行信息管理、信息收集、存储处理、传递使用和维护的软件系统。

学生信息管理系统是学校管理学生信息的一种必不可少的的工具,它相对与手工书写管理更加便利,快捷,节约大量时间,大幅提高日常查询效率。

关于学生信息管理系统,论文主要分几个重点部分来介绍它的功能的实现。

对各个功能的描述,内容简洁,明了,结构紧凑。

学生信息管理系统可以满足用户的需求,具体体

现在对学生信息的录入,修改,查询,修改等操作。

实现其中的操作除了对各个类中代码

书写,更重要的还需要书写与后台数据库交互的代码,满足数据库信息的输入和输出。

学生信息管理系统的开发目的是为了实现学生个人信息的信息化管理。

本系统需要完成

功能有:

1 .登录学生管理系统;

2 .录入学生信息,包括学号,姓名,性别,出生日期;

3 .修改已知学号的学生信息;

4 .删除已知学号的学生信息;

5 .查询已知学号的学生信息;

 

关键词登录(Login),录入(FormAddStudent),修改(studentmodify),删除(studentdelete),查询(studensearch)

第一章引言(或概述)

第一章引言(或概述)

学生信息管理系统开发我们需具备对后台数据库表的建立,插入,查询,删除,更新,VisualStudio2005工具的使用和面向对象C#语言等知识。

通过对学生信息管理系统的设计慢慢了解,深入学习,从而达到熟练掌握.NET基本结构以及C#语言的基本知识和技能;基本掌握面向对象程序开发的基本思路和方法;掌握ADO.NET数据库开发基本知识;能够利用所学的基本知识和技能,进行简单数据库应用程序设计。

根据课题的要求,给出解决问题的方案,通过分析问题、分解问题来解决问题,最终达到熟练掌握C#语言的运用和VisualStudio2005工具的使用。

第二章设计预案

第二章

2.1学生信息管理系统的介绍

2.1学生信息管理系统的介绍

学生信息管理系统主要分为四种模块:

录入模块、删除模块、修改模块、查找模块。

逐步对各个模块的代码书写,实现多种功能,让用户快速而便捷地使用学生信息管理系统。

用户可以录入学生信息,输入学生的学号从而删除学生信息、查找学生信息、修改学生信息。

2.2

2.2.1开发方案

2.2.1开发方案

本人计划编写一个人学生信息管理系统,主要功能是满足用户对学生信息的管理,包括录入、删除、修改、查询功能。

2.2.2模块设计及分析

本次设计主要分为四种模块:

录入模块、删除模块、修改模块、查找模块、详细可以参考下图:

FormMain界面

录入学生基本信息

用户登录

FormMain界面

操作指令

按学号修改学生信息

按学号删除学生信息

按学号查找学生信息

注销学生信息管理系统

学生基本信息表

 

图2-1

第三章设计步骤和要点

设计步骤和要点

本次设计和数据库紧密相连,首先我们根据题意设计相关的数据库以及相关的数据表(book,manager,user)。

然后我们把这次的设计内容分成了若干个模块,逐次实现各个模块的功能,这样不仅便于功能的实现,而且外观美观,层次清晰。

制作过程主要是页面的设计和相关代码的编写。

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

10

允许

登录密码

图3-2用户登录表

3.2数据库的完整性和安全性

数据库中关系模型完整性约束:

实体完整性、参照完整性、和用户定义完整性。

其实实体完整性和参照完整性是关系模型中必须满足的完整性条件。

因此用户在使用数据库必须遵守完整性规则:

实体完整性规则、参照完整性规则、用户定义完整性规则。

在关系模型中以主码作为唯一标识,因此主码不能为空。

总的来说数据库完整性是指数据的正确性和相容性。

例如本系统中学生学号必须唯一;性别只能是男或女等.数据库是否具备完整性关系到数据库系统能否真实地反映现实世界,因此维护数据库的完整性是非常重要的.

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露,更改,或者破坏。

安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题,只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全问题更为突出,系统安全保护措施是否有效是数据库系统的主要指标之一.

3.3登录模板设计

为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。

用户登录窗体中放置了两个文本框(textbox),用来输入用户名和密码;两个按钮(Button)用来登录、取消。

 

截图1

 

图3-3登录窗口

登录代码的关键部分和代码的简单说明:

privatevoidbutton1_Click(objectsender,EventArgse)//构造函数,返回值空类型,

{

//调用dataaccesslayer层的login()方法,类实例化

SQLHelpersqlhelper=newSQLHelper();

inttotal=sqlhelper.login(textBoxusername.Text.Trim(),textBoxpasword.Text.Trim());//返回一个整型

if(total>0)

{

FormMainmain=newFormMain();

main.Show();

this.Hide();

}

else

{

textBoxusername.Text="";

textBoxpasword.Text="";//用户名和密码清空

textBoxusername.Focus();//光标恢复原位

MessageBox.Show("用户名或密码错误","警告",MessageBoxButtons.OK);

}

}

 

3.4FormMain主界面设计

登陆成功后即可进入FormMain主界面模块。

窗体名称为学生信息管理系统,有两大主要控件:

系统、档案。

其中系统中包括注销,退出按钮。

点击注销按钮返回到登录界面,点击退出按钮退出学生管理系统;点击档案按钮进入到操作指令(录入学生信息、删除学生信息、查找学生信息、修改学生信息)按钮,点击一下进入到各个窗口,使用相应的功能。

 

截图2

 

图3-4学生信息管理系统

图3-5学生信息管理系统

 

设计FormMain主界面的关键代码和代码的简单说明:

1.privatevoid注销ToolStripMenuItem_Click(objectsender,EventArgse)

{Formloginlogin=newFormlogin();

login.ShowDialog();//显示登录窗口}

2.privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)

{this.Close();//退出学生信息管理系统}

3.privatevoid录入学生信息ToolStripMenuItem_Click(objectsender,EventArgse)

{FormAddStudentaddstudent=newFormAddStudent();

addstudent.ShowDialog();//显示录入学生信息窗口

if(addstudent.DialogResult==DialogResult.OK)//判断显示窗口时用的标识是否与系统中的一样{bind();}//调用bind方法}

4.BindingSourcebs=newBindingSource();//绑定数据源这样的一个类,进行类的实例化

5.publicvoidbind()//构造函数

{bs.DataSource=newSQLHelper().CreateTable();

dataGridView1.DataSource=bs;}//通过数据源(DataSource)这个渠道把控件(dataGridView1)与反馈数据绑定在一起

6.privatevoid删除学生信息ToolStripMenuItem_Click(objectsender,EventArgse)

{FormDeleteStudentdelete=newFormDeleteStudent();

delete.ShowDialog();//刷新网格

if(delete.DialogResult==DialogResult.OK)

{bind();}

}

7.进入查询窗口的实现两句代码:

Studentserchsearch=newStudentserch();

search.ShowDialog();

8.Studentmodifymodify=newStudentmodify();

modify.ShowDialog();if(modify.DialogResult==DialogResult.OK)

{bind();}

3.5录入学生信息模块设计

创建一个新的窗体Form2,,将Form2改名为录入学生信息,在该窗体中设置控件,点击其中的控件按钮进入相应代码编写的地方,进行代码的编写。

截图3

 

图3-6录入学生信息

代码编写要点和代码说明:

1.string学号=textBoxsno.Text.Trim();string姓名=textBoxsname.Text.Trim();string性别=comboBoxsex.Text.Trim();string日期=textBoxbirthday.Text.Trim();//定义4个字符串型变量(学号,姓名,性别,日期),分别把控件的内容赋给他们

2.try{……你的代码};catch()

{检验并给出提示};

3.close();//取消录入

3.6删除学生信息模块设计

创建一个新的窗体,,将该窗体命名为删除学生信息,在该窗体中设置控件,点击其中的控件按钮进入相应代码编写的地方,进行代码的编写。

将各个控件中属性名改为易于识别名字,这样在编写代码时不会被混淆。

删除学生信息是已知学号进行删除的。

系统通过录入功能录入了学生信息,在通过输入学号与后台数据库中已存的学号进行比较,若相等则删除,否则不删除并给出相应提示。

截图4

图3-7删除学生信息

代码编写要点和代码说明:

newStudentDAO().delete(textBoxsno.Text.Trim());这行代码是把输入的学号(textBoxsno中的内容)作为一个参数传到StudentDAO类中delete构造函数中,然后与后台中已存在的学号进行比较。

publicvoiddelete(stringsno)

{stringsql="deletefromstudentwheresno=@sno";//定义一个字符串变量并赋值

SqlParameter[]para=newSqlParameter[]//"SqlParameter"是系统中的类,属于不能继承的类。

值引用是不能够继承的。

此行是类的实例化

{newSqlParameter("sno",SqlDbType.NChar)//"SqlDbType"指定特定的字段和数据类型};

inti=0;para[i++].Value=sno;

sqlhelper.ExecuteNonQuery(sql,para)//传递参数到SQLhelper中,与后台已存数据进行比较之后做出相应的参考}。

 

 

3.7查找学生信息模块设计

查找学生信息是以知道学生的学号为前提,只要后台数据库中已经录入一些学生的信息,正确输入学生学号即可查找到要查找的学生信息。

实现这个功能,首先要创建一个窗体,设置一些控件。

点击这些控件进行代码的编写。

下面是查找学生信息模块的截图。

截图5

图3-8查询学生信息

查询关键代码的设计和简单说明:

点击确定按钮进入代码编辑位置,进行代码的编写。

if(textBox1sno.Text=="")//判断学号输入处是否为空

bind();//调用构造函数

else{bs.DataSource=newSQLHelper().CreateTable1(textBox1sno.Text.Trim());

dataGridView2.DataSource=bs;}//不相等时,通过数据源(DataSource)这个渠道把控件(dataGridView1)与反馈数据绑定在一起,在控件(dataGrrridView1)中显示table表。

privatevoidbind(){MessageBox.Show("查询失败,请重新输入!

","提示");textBox1sno.Focus()//光标返回到开始;

return;}

3.8修改学生信息模块设计

用户录入学生信息之后并且发现录入有误,这时就可以使用修改功能。

点击修改按钮进入修改界面,输入要修改的学生的学号,再修改学生的其他的信息。

点击确定按钮,进入编辑位置,进行代码的编写。

下面是修改界面的的截图。

截图6

图3-9修改学生信息

 

修改关键代码的设计和简单说明:

点击确定按钮进入编写代码位置,进行代码编写。

(stringsno=textBoxsno.Text.Trim();stringsname=textBoxsname.Text.Trim();stringsex=comboBoxsex.Text.Trim();stringsbirthday=textBoxsbirthday.Text.Trim();)这几段代码是定义字符串变量,将各种控件中的内容赋值给变量。

这句“newStudentDAO().modify(sno,sname,sex,sbirthday)”代码含义是指将参数传入到modify构造函数中,进行相应的操作。

“updatestudentsetsname=@snamewheresno=@snoupdatestudentsetsex=@sex”

这串代码是用于后台数据库的更新,从而实现系统删除功能的实现。

第四章系统测试

第四章系统测试

4.1登录测试

图4—1登录测试

输入用户名和密码,进入学生信息管理系统:

图4—1登录测试

 

4.2录入测试

现在系统中有五个学生信息,使用录入功能录入一个学号为“006号”的学生信息,如图所示:

图4-2录入测试

4.3删除测试

上图已存在六个学生的信息,现要删除学号为”002号、006号“的学生信息。

操作结果如图所示:

图4-3删除测试

4.4查找测试

查询学号为”001号“学生的信息,查询结果如图所示:

图4-4查询学生信息

4.5修改测试

修改学号为”003号“的学生信息。

如图所示:

分别将姓名、性别、出生日期中信息改为“王小宝、女、1990-12-01”。

修改后的结果如图所示:

图4-5修改学生信息

 

第五章设计感悟

第5章结论

通过这段时间的学习,让我对C#有了新的认识。

要想学好这门语言,需要长期的知识积累和上机实践并且不断地总结经验。

在用C#开发一个项目时,遇到自己不能解决的问题可以通过积极思考、查询资料、询问老师、同学这些方式来解决。

这次我设计的课题是学生信息管理系统。

在设计这个课题的过程中,面对着许多问题,,在本次设计过程中,我是逐步对每个模块进行编码设计,完成每个功能。

要求在每个阶段结束之前通过人工检查,完善每个模块的功能,尽早发现错误并纠正,完成每个模块测试之后再进行系统测试。

致谢

致谢

这次课程设计主要感谢我们的指导老师(王磊)。

在这个项目刚刚确定下来,我们一头雾水,不知如何开发。

因此前期的制作,主要是老师和我们一起开发并且给我们讲解。

在老师的引导下,我们逐步完成了整个项目的研发。

在这里我们感谢指导老师。

参考文献

参考文献

[1]王珊,萨师煊《数据库系统概述》,高等教育出版社

[2]《C#高级程序设计》,清华大学出版社

 

附录:

程序清单

附录:

程序清单

//登录

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

usingDataAccessLayer;

namespaceStudentMIs

{

publicpartialclassFormlogin:

Form

{

publicFormlogin()

{

InitializeComponent();

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

//调用dataaccesslayer层的login()方法,

SQLHelpersqlhelper=newSQLHelper();

inttotal=sqlhelper.login(textBoxusername.Text.Trim(),textBoxpasword.Text.Trim());

if(total>0)

{

FormMainmain=newFormMain();

main.Show();

this.Hide();

}

else

{

textBoxusername.Text="";

textBoxpasword.Text="";

textBoxusername.Focus();

MessageBox.Show("用户名或密码错误","警告",MessageBoxButtons.OK);

}

}

privatevoidlabel2_Click(objectsender,EventArgse)

{}

privatevoidFormlogin_Load(objectsender,EventArgse)

{}

privatevoidtextBoxpasword_TextChanged(objectsender,EventArgse)

{}

}

}

//FormMain主界面

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

usingDataAccessLayer;

namespaceStudentMIs

{

publicpartialclassFormMain:

Form

{

publicFormMain()

{

InitializeComponent();

}

privatevoid录入学生信息ToolStripMenuItem_Click(objectsender,EventArgse)

{

FormAddStudentaddstudent=newFormAddStudent();

addstudent.ShowDialog();

if(addstudent.DialogResult==DialogResult.OK)

{

bind();

}

}

BindingSourcebs=newBindingSource();

publicvoidbind()

{

bs.DataSource=newSQLHelper().CreateTable();

dataGridView1.DataSource=bs}

privatevoidFormMain_Load(objectsender,EventArgse)

{bind();}

privatevoid删除学生信息ToolStripMenuItem_Click(objectsender,EventArgse)

{

FormDeleteStudentdelete=newFormDeleteStudent();

delete.ShowDialog();

//刷新网格

if(delete.DialogResult==DialogResult.OK)

{bind();}

}

privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse)

{}

privatevoid档案ToolStripMenuItem_Click(objectsender,EventArgse)

{}

privatevoid查询学生信息ToolStripMenuItem_Click(objectsender,EventArgse)

{

Studentserch

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

当前位置:首页 > 经管营销

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2