C#课程设计学生信息管理系统 论文.docx
《C#课程设计学生信息管理系统 论文.docx》由会员分享,可在线阅读,更多相关《C#课程设计学生信息管理系统 论文.docx(24页珍藏版)》请在冰豆网上搜索。
C#课程设计学生信息管理系统论文
摘要1
摘要
对学生信息管理的操作,它的工作量可能是其它信息工作量的几倍,学生专业、班级的增加、修改、查找、删除,课程管理,成绩管理等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,一天的工作量,足以让人觉得繁琐。
针对这种的情况,学校可以采用学生信息管理系统,让数据查询变得更为简单,让数据变的更易管理。
因此,学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。
该学生信息管理系统采用C#语言和MicrosoftAccess2000数据库完成。
系统总体有三部分组成,包括系统登录、学生信息查询、数据库的录入。
通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。
通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。
关键词:
学生信息管理系统、C#、ACCESS数据库
Abstract
Thestudentinformation,theworkloadcanbeseveraltimesinotherinformationwork,students,class,modify,delete,searchincreases,curriculummanagement,performancemanagementandsoon,eachinformationdataareconstantlychanging,ifusingartificialwayoperation,aday'swork,enoughtomakepeoplefeeltedious.Inviewofthissituation,theschoolcanusethestudentinformationmanagementsystem,letthedataquerybecomesmoresimple,letthedatabecomemoremanageable.Therefore,thestudentinformationmanagementsystemisaneducationunitessentialpart,itscontentisveryimportantforthepolicymakersandschoolmanagers.
ThestudentinformationmanagementsystemusingC#languageandMicrosoftAccess2000database.Thewholesystemiscomposedofthreeparts,includingthesystemlogin,studentinformationquery,thedatabaseentry.Throughthissystem,theuniversityinternalquerystudentinformation,academicinformation,studentenrollmentinallaspectsofeffectiveplanning,organizationandcontrol.Throughtheschoolinternalinformation,managementbasedonuniformdatainformation,thegeneratedbyanypieceofinformationdatachangesinatimelymannertoreflecttotherelevantinformation,toachievedatasharing.
Keyword:
SIMS,C#,databaseACCESS
1绪论
1.1课题背景
学生信息管理是每一所高校都必须面对的工作,特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。
特别是对于学校的决策者和管理者来说,学生信息管理工作是至关重要的。
一直以来人们使用传统的人工方式管理文件档案,这种管理方式存在许多缺点,如:
效率低、保密性差,学生数量的增加,这必然增加了学生档案管理者的工作量和劳动强度,同时将产生大量的文件和数据,这给学生信息的查找、更新和维护都带来了不少困难。
据调查,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。
随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。
这种传统的手工管理模式必然被以计算机为物质基础的信息管理方法所取代。
1.2系统设计目的与意义
学生信息管理系统是一个教育单位不可缺少的部分,它对于学校的决策者和管理者来说至关重要。
一个功能齐全、简单易用的信息管理系统不但能有效减轻学校相关工作人员的工作负担,而且能提高数据的保密性。
所以学生信息管理系统能够为用户提供充足的信息和快捷的查询手段。
随着科学技术的不断提高,计算机科学日渐成熟,它已进入人类社会的各个领域并发挥着来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:
检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
1.3系统开发的目标
建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。
帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。
2开发工具的选择
2.1MicrosoftVisualStudio2010
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。
目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:
Microsof公司MicrosoftVisualStudio2005,MicrosoftVisualStudio2008,MicrosoftVisualStudio2010等等。
在这些程序开发工具中,有的强调程序语言的弹性与执行效率;有的则偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的需求。
然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必定要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点成为了一纸空谈;相反地,如果只强调语言的弹性,却没有便利的工具作配合,会使得一些即使非常简单的界面处理动作,变得复杂和麻烦起来,这样也会浪费程序设计师们的宝贵时间。
作为学生信息管理系统的开发,MicrosoftVisualStudio2010是一个非常理想选择,它有效地避免了以上所谈到的诸缺点。
2.2ACCESS2003
数据库技术是该系统设计中的重要支持技术,在系统开发过程中,如何选择数据库管理也是一个重要的问题,目前,数据库产品可谓琳琅满目,每种产品都具有各自的特点和适用范围,因此,在选择数据库前,我慎重考虑了一下,根据数据库应用的特点及适用范围,本系统选用了数据库Access2003,它简单易学、效率高,且功能强大,很适合开发此体统。
3系统分析
3.1需求分析
3.1.1可行性分析
经济可行性:
由于本系统的主要背景是课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运行MicrosoftVisualStudio2010软件的电脑便可,所以不用考虑到经济问题。
技术可行性:
本系统的开发使用数据库,只需考虑安装SQLsever数据库的问题,在技术上要求并不高,因此本系统在技术上是可行的。
运行可行性:
本系统是一个学生信息管理系统,所耗费的资源非常的小,现在一般的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。
3.1.2系统性能需求
实用性:
为管理学生提供方便,有效进行学生信息的管理。
操作简单:
本系统应该适用于不同水平的使用者,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。
适应性:
应该能广泛应用于不同类型的大、中、小学院校,系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得以应用。
代码可读性好:
文中的代码将尽可能简洁,易懂。
3.2系统流程图设计
假
实现
更新更新
图3.2.1系统流程图
3.3数据存储分析:
实体联系图(E-R)
图3.3.1学生实体联系图
图3.3.2选课表实体联系图
图3.3.3成绩表实体联系图
图3.3.4管理员实体联系图
4系统总体设计
4.1系统总体功能层次图
4.2系统功能模块设计
本系统需要完成的功能主要有:
(1)管理员对学生信息的添加、修改、查询、删除。
(2)学生信息主要有个人基本信息、选课信息和选课成绩信息。
(3)学生对自己信息的查询、密码修改等。
4.3数据库设计
管理员表
课表
成绩表
学生表
4.4部分源代码的设计
登录界面代码
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox1.Text==""||textBox2.Text=="")
MessageBox.Show("请输入用户名和密码","提示");
else
{oleConnection1.Open();
OleDbCommandcmd=newOleDbCommand("",oleConnection1);
stringsql;
if(radioButton1.Checked==true)
{
sql="select*fromuser_adminwhere用户名='"+textBox1.Text+"'and密码='"+textBox2.Text+"'";
}
else
{
sql="select*fromuser_studentwhere学号='"+textBox1.Text+"'and密码='"+textBox2.Text+"'";
}
cmd.CommandText=sql;
if(cmd.ExecuteScalar()!
=null)
{
//隐藏登录窗口
this.Visible=false;
//创建并打开主界面
if(radioButton1.Checked==true)
{
Main_adminmain=newMain_admin();
main.Show();
}
else
{
Main_studentmain=newMain_student();
main.Show();
}
}
else
{
MessageBox.Show("请输入正确的用户名或密码","提示");
textBox2.Text="";
oleConnection1.Close();
}
Moduser_code.name=textBox1.Text;
Main_student.name=textBox1.Text;
}
}
添加学生代码
publicAdduser_student()
{
InitializeComponent();
this.oleConnection1=newOleDbConnection(学生信息管理.database.dbConnection.connection);
this.oleCommand1=newOleDbCommand();
this.oleCommand1.Connection=this.oleConnection1;
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox1.Text==""||textBox2.Text==""||textBox3.Text==""||textBox4.Text==""||textBox5.Text==""||textBox6.Text==""||textBox7.Text=="")
{
MessageBox.Show("请输入完整信息!
","警告");
}
else
{
oleConnection1.Open();
stringsql;
stringsql1;
stringsql2;
sql="select*fromuser_studentwhere学号='"+textBox2.Text+"'";
OleDbCommandcmd=newOleDbCommand(sql,oleConnection1);
OleDbCommandcmd1=newOleDbCommand("",oleConnection1);
OleDbCommandcmd2=newOleDbCommand("",oleConnection1);
if(null==cmd.ExecuteScalar())
{
sql="insertintouser_student(姓名,学号,年龄,性别,班级,系别,密码)values('"+textBox1.Text+"',"+
"'"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"',"+
"'"+textBox6.Text+"','"+textBox7.Text+"')";
sql1="insertintouser_class(姓名,学号,班级,系别,课程名)values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox5.Text+"','"+textBox6.Text+"','')";
sql2="insertintouser_score(姓名,学号,班级,系别,课程名,成绩)values('"+textBox1.Text+"','"+textBox2.Text+"','"+textBox5.Text+"','"+textBox6.Text+"','','')";
cmd.CommandText=sql;
cmd1.CommandText=sql1;
cmd2.CommandText=sql2;
cmd.ExecuteNonQuery();
cmd1.ExecuteNonQuery();
cmd2.ExecuteNonQuery();
MessageBox.Show("学生添加成功","提示");
clear();
}
else
{
MessageBox.Show("身份证号或学号相同","提示");
oleConnection1.Close();
}
}
}
浏览学生信息
privatevoidbutton1_Click(objectsender,EventArgse)
{
oleConnection1.Open();
stringsql;
sql="select*fromuser_student";
OleDbCommandcmd=newOleDbCommand(sql,oleConnection1);
if(null!
=cmd.ExecuteScalar())
{
OleDbDataAdapteradp=newOleDbDataAdapter(cmd);
DataSetds=newDataSet();
ds.Clear();
adp.Fill(ds,"user_student");
dataGridView1.DataSource=ds.Tables["user_student"];
oleConnection1.Close();
}
else
{
MessageBox.Show("无此人");
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
oleConnection1.Open();
stringsql;
sql="select*fromuser_class";
OleDbCommandcmd=newOleDbCommand(sql,oleConnection1);
if(null!
=cmd.ExecuteScalar())
{
OleDbDataAdapteradp=newOleDbDataAdapter(cmd);
DataSetds=newDataSet();
ds.Clear();
adp.Fill(ds,"user_class");
dataGridView1.DataSource=ds.Tables["user_class"];
oleConnection1.Close();
}
else
{
MessageBox.Show("无相关信息");
}
}
浏览查找学生成绩
privatevoidbutton3_Click(objectsender,EventArgse)
{
oleConnection1.Open();
stringsql;
sql="select*fromuser_score";
OleDbCommandcmd=newOleDbCommand(sql,oleConnection1);
if(null!
=cmd.ExecuteScalar())
{
OleDbDataAdapteradp=newOleDbDataAdapter(cmd);
DataSetds=newDataSet();
ds.Clear();
adp.Fill(ds,"user_score");
dataGridView1.DataSource=ds.Tables["user_score"];
oleConnection1.Close();
}
else
{
MessageBox.Show("无相关信息");
oleConnection1.Close();
}
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
this.Close();
Main_adminadm=newMain_admin();
adm.Show();
}
修改学生信息
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox1.Text==""||textBox2.Text==""||textBox3.Text==""||textBox4.Text==""||textBox5.Text==""||textBox6.Text=="")
MessageBox.Show("请输入完整的信息","提示");
else
{
oleConnection1.Open();
stringsql1="select*fromuser_studentwhere学号='"+textBox1.Text+"'";
oleCommand1.CommandText=sql1;
if(null!
=oleCommand1.ExecuteScalar())
{
stringsql2="updateuser_studentset系别='"+textBox6.Text+"',姓名='"+textBox2.Text+"',"+
"年龄='"+textBox3.Text+"',性别='"+textBox4.Text+"',班级='"+textBox5.Text+"'"+
"where学号='"+textBox1.Text+"'";
stringsql3="updateuser_scoreset系别='"+textBox6.Text+"',姓名='"+textBox2.Text+"',"+
"班级='"+textBox5.Text+"'where学号='"+textBox1.Text+"'";
stringsql4="updateuser_classset系别='"+textBox6.Text+"',姓名='"+textBox2.Text+"',"+
"班级='"+textBox5.Text+"'where学号='"+textBox1.Text+"'";
oleCommand2.CommandText=sql2;
oleCommand3.CommandText=sql3;
oleCommand4.CommandText=sql4;
oleCommand2.ExecuteNonQuery();
oleCommand3.ExecuteNonQuery();
oleCommand4.ExecuteNonQuery();
MessageBox.Show("学生信息修改成功","提示");
this.Close();
}