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

上传人:b****1 文档编号:201017 上传时间:2023-04-28 格式:DOCX 页数:17 大小:1.04MB
下载 相关 举报
C#学生信息管理系统.docx_第1页
第1页 / 共17页
C#学生信息管理系统.docx_第2页
第2页 / 共17页
C#学生信息管理系统.docx_第3页
第3页 / 共17页
C#学生信息管理系统.docx_第4页
第4页 / 共17页
C#学生信息管理系统.docx_第5页
第5页 / 共17页
C#学生信息管理系统.docx_第6页
第6页 / 共17页
C#学生信息管理系统.docx_第7页
第7页 / 共17页
C#学生信息管理系统.docx_第8页
第8页 / 共17页
C#学生信息管理系统.docx_第9页
第9页 / 共17页
C#学生信息管理系统.docx_第10页
第10页 / 共17页
C#学生信息管理系统.docx_第11页
第11页 / 共17页
C#学生信息管理系统.docx_第12页
第12页 / 共17页
C#学生信息管理系统.docx_第13页
第13页 / 共17页
C#学生信息管理系统.docx_第14页
第14页 / 共17页
C#学生信息管理系统.docx_第15页
第15页 / 共17页
C#学生信息管理系统.docx_第16页
第16页 / 共17页
C#学生信息管理系统.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

C#学生信息管理系统

河南城建学院

《可视化编程技术》课程设计报告

 

题目:

学生信息管理系统

 

姓名:

学号:

班级:

指导老师:

  

专业:

 

2011年2月25日

一、设计目的

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

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

学生信息查询系统是学校地方管理工作过程中不可缺少的部分,对学生信息管理工作,具有着手工管理所无法比拟的优点,检索迅速、查找方便、可靠性高、存储量大等。

这些优点能够极大地提高日常查询的效率。

因此,开发学生信息查询系统成为很有必要的事情。

数据库技术是一种计算机辅助管理数据的方法,它研究如何组织和存储数据,如何高效地获取和处理数据。

而在互联网日益发展、壮大的背景下,在因特网普及浪潮持续高涨的情况下,如何让原来在单机中使用的数据库可供多机使用,也成了必然的趋势。

随着计算机技术的发展和互联网时代的到来和飞速发展,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校传统的管理方法和办学水平都受到了极大的挑战。

Internet技术持续迅猛的发展,也给传统的办学提出了新的模式。

绝大部分大学和学院都已接入互联网并建成校园网,各校的硬件设施已经比较完善。

通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。

以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。

与网络技术相结合的新型办学模式具有对于教育、教学过程来说极为宝贵的特性,可以为新型办学模式的建构提供理想的环境。

通过设计达到熟练掌握.NET基本结构以及C#语言的基本知识和技能;基本掌握面向对象程序开发的基本思路和方法;掌握ADO.NET数据库开发基本知识;能够利用所学的基本知识和技能,进行简单数据库应用程序设计。

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

二、需求分析

用户的需求具体体现在各种信息的录入、修改、删除和查询,这就要求数据库结构能充分满足各种信息的输出和输入。

收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

更重要的是数据库设计经验在今后其他项目的开发过程中同样有着很重要的借鉴作用。

学生管理系统的开发目的是为了实现学生课程、学籍的信息化管理。

本系统需要完成的功能有:

 

1 .登录学生的学号.姓名.性别.年龄. 籍贯.系别.专业.班级;

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

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

4 .查找已知学号的学生信息;

5 .按学号输出学生籍贯表。

三、模块分析及设计

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

录入模块、删除模块、修改模块、查找模块、按学号输出学生籍贯表模块、输出学生全部信息模块,详细可以参考下图:

 

四、数据库设计说明

4.1数据表

字段代号

字段类型

字段长度

是否可以为空

备注

学号

Char

10

学生编号

姓名

char

10

学生姓名

性别

char

10

学生性别

年龄

char

10

系别

char

1000

籍贯

char

1000

班级

char

100

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

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

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

五、制作过程及要点

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

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

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

主要分成以下几种模块:

登录模块

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

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

privatevoidbutton8_Click_1(objectsender,EventArgse)

{

stringst1=radioButton1.Checked?

radioButton1.Text:

radioButton2.Text;

stringstr2;

if(textBox1.Text.ToString()!

="")

{

str2="insertintostudentvalues('"+textBox1.Text+"','"+textBox2.Text+"','"+st1+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"','"+textBox6.Text+"','"+textBox7.Text+"')";

sjk(str2,false);

MessageBox.Show("录入成功!

");

}

else

MessageBox.Show("不能输入空值!

");

}

系统主界面

登陆成功后,即可进入,系统主界面模块。

窗体名称为界面功能介绍。

主界面为进入学生管理系统各模块的入口,,从而进行对系统的管理操作。

namespace学生信息管理系统

{

publicpartialclassForm2:

Form

{

stringcon="server=localhost;database=Student;uid=sa;pwd=";

SqlConnectionsqlcon;

//SqlDataAdaptersqlda;

//DataSetsqlds;

SqlCommandsqlcom;

SqlDataReadersqldr;

录入信息模块

进入主界面后,可以录取学生的相关信息:

privatevoidbutton8_Click_1(objectsender,EventArgse)

{

stringst1=radioButton1.Checked?

radioButton1.Text:

radioButton2.Text;

stringstr2;

if(textBox1.Text.ToString()!

="")

{

str2="insertintostudentvalues('"+textBox1.Text+"','"+textBox2.Text+"','"+st1+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"','"+textBox6.Text+"','"+textBox7.Text+"')";

sjk(str2,false);

MessageBox.Show("录入成功!

");

}

else

MessageBox.Show("不能输入空值!

");

}

修改信息模块

录入学生的相关信息后,如果你不满意,可以对相关信息进行修改:

privatevoid修改ToolStripMenuItem_Click(objectsender,EventArgse)

{

panel6.Show();

panel1.Hide();

panel2.Hide();

panel3.Hide();

panel4.Hide();

sqlcon=newSqlConnection(con);

sqlcon.Open();

sqlcom=newSqlCommand("select学号fromstudent",sqlcon);

sqldr=sqlcom.ExecuteReader();

textBox13.Text="";

sqlcon.Close();

}

privatevoidbutton6_Click_1(objectsender,EventArgse)

{

sqlcon=newSqlConnection(con);

sqlcon.Open();

if(textBox13.Text!

="")

{

sqlcom=newSqlCommand("select*fromstudentwhere学号='"+textBox13.Text.ToString()+"'",sqlcon);

sqldr=sqlcom.ExecuteReader();

sqldr.Read();

textBox14.Text=sqldr["姓名"].ToString();

textBox15.Text=sqldr["性别"].ToString();

textBox16.Text=sqldr["年龄"].ToString();

textBox17.Text=sqldr["籍贯"].ToString();

textBox18.Text=sqldr["系别"].ToString();

textBox19.Text=sqldr["专业"].ToString();

textBox20.Text=sqldr["班级"].ToString();

sqlcon.Close();

button7.Enabled=true;

}

else

MessageBox.Show("请先输入学号!

");

}

privatevoidbutton7_Click_1(objectsender,EventArgse)

{

stringstr3="updatestudentset姓名='"+textBox14.Text+"',性别='"+textBox15.Text+"',年龄='"+textBox16.Text+"',籍贯='"+textBox17.Text+"',系别='"+textBox18.Text+"',专业='"+textBox19.Text+"',班级='"+textBox20.Text+"'where学号='"+textBox13.Text.ToString()+"'";

sjk(str3,false);

MessageBox.Show("修改成功!

");

sjk("select*fromstudent",true);

}

privatevoidbutton10_Click(objectsender,EventArgse)

{

textBox13.Text=textBox14.Text=textBox15.Text=textBox16.Text=textBox17.Text=textBox18.Text=textBox19.Text=textBox20.Text="";

}

删除信息模块:

 

privatevoid删除ToolStripMenuItem_Click(objectsender,EventArgse)

{

panel2.Show();

panel1.Hide();

panel3.Hide();

panel4.Hide();

panel6.Hide();

sqlcon=newSqlConnection(con);

sqlcon.Open();

sqlcom=newSqlCommand("select学号fromstudent",sqlcon);

sqldr=sqlcom.ExecuteReader();

textBox8.Text="";

sqlcon.Close();

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(textBox8.Text!

="")

{

stringstr3="deletefromstudentwhere学号='"+textBox8.Text.ToString()+"'";

sjk(str3,false);

MessageBox.Show("删除成功!

");

}

else

MessageBox.Show("请先选择要删除的学号!

");

}

查找信息模块

privatevoid查找ToolStripMenuItem_Click(objectsender,EventArgse)

{

panel3.Show();

panel1.Hide();

panel2.Hide();

panel4.Hide();

panel6.Hide();

sqlcon=newSqlConnection(con);

sqlcon.Open();

sqlcom=newSqlCommand("select学号fromstudent",sqlcon);

sqldr=sqlcom.ExecuteReader();

textBox9.Text="";

sqlcon.Close();

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

if(textBox9.Text!

="")

{

sqlcon=newSqlConnection(con);

sqlcon.Open();

sqlcom=newSqlCommand("select*fromstudentwhere学号='"+textBox9.Text.ToString()+"'",sqlcon);

sqldr=sqlcom.ExecuteReader();

sqldr.Read();

stringstr4="学号:

"+textBox9.Text.ToString()+"\r\n姓名:

"+sqldr["姓名"].ToString()+"\r\n性别:

"+sqldr["性别"].ToString()+"\r\n年龄:

"+sqldr["年龄"].ToString()+"\r\n籍贯:

"+sqldr["籍贯"].ToString()+"\r\n系别:

"+sqldr["系别"].ToString()+"\r\n专业:

"+sqldr["专业"].ToString()+"\r\n班级:

"+sqldr["班级"].ToString();

this.textBox21.Text=str4;

sqlcon.Close();

}

else

MessageBox.Show("请先输入要查找学生的学号!

");

}

privatevoidbutton11_Click(objectsender,EventArgse)

{

textBox9.Text=textBox21.Text="";

}

按学生信息输出籍贯模块

privatevoid输出ToolStripMenuItem_Click(objectsender,EventArgse)

{

panel4.Show();

panel1.Hide();

panel2.Hide();

panel3.Hide();

panel6.Hide();

sqlcon=newSqlConnection(con);

sqlcon.Open();

sqlcom=newSqlCommand("select*fromstudent",sqlcon);

sqldr=sqlcom.ExecuteReader();

stringstr2="学号\t\t\t\t籍贯\r\n";

while(sqldr.Read())

{

str2+=sqldr["学号"].ToString()+"\t\t\t"+sqldr["籍贯"].ToString()+"\r\n";

}

textBox10.Text=str2;

sqlcon.Close();

}

六、设计总结

通过两周的上机实习,我对C#又有了崭新的认识。

C#的学习是一个系统的过程,需要长期的知识积累和储备并辅以大量的上级实际操作练习,自己也应该有所体会,在实践中成长,在实践中求知。

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

在设计这个课题的过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,在本次设计过程中,我采用循环测试法,力求在每个阶段结束之前通过严格技术审查,即每完成一个功能,就进行测试,尽可能早的发现并纠正差错,完成模块测试之后再进行系统测试。

整个设计通过了软件和硬件上的调试。

我想这对于自己以后的学习和工作都会有很大的帮助。

在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。

一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。

对于教材管理系统,其程序是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。

因此在整个设计过程中大部分时间是用在程序上面的。

很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对系统的结构很熟悉。

因此可以说系统的设计是软件和硬件的结合,二者是密不可分的。

通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。

这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生积极的影响。

其次,这次课程设计让我充分认识到团队合作的重要性,只有分工协作才能保证整个项目的有条不絮。

通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。

我觉得作为一名计算机科学与技术专业的学生,这次课程设计是很有意义的。

更重要的是如何把自己平时所学的东西应用到实际中。

虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。

七、参考文献

《VisualStudio.NET2008开发一册通:

C#3.0从基础到项目实战》李海涛化学工业出版社2010-1-1

《VisualC#开发技术大全》明日科技人民邮电出版社2007-11-01

《VisualC#2008入门经典》(美)JamesFoxall人民邮电出版社2009-06-01

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

当前位置:首页 > 自然科学 > 物理

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

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