C#大作业学生成绩管理系统.docx
《C#大作业学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《C#大作业学生成绩管理系统.docx(16页珍藏版)》请在冰豆网上搜索。
C#大作业学生成绩管理系统
C#大作业学生成绩管理系统
D
主界面设计要求简单明了,能把系统的所有功能展现在主界面上面,能让人方便的查询学生的各种信息,包括系统管理、学生信息管理、课程信息管理、成绩信息管理、选课信息管理、特殊情况管理等功能,不仅如此,界面的设计也要美观大方,这样很好的实现了人机交互。
学生信息查询:
1.1功能
(1)根据查询条件实现学生信息的查询
(2)学生选课信息查询、成绩信息的查询
(3)学生信息、课程信息、成绩信息的增加、删除、修改
(4)对基本信息完成增加、删除、修改时,需注意表与表之间的关联
1.2功能需求分析
学生信息查询:
学生可以根据学号、姓名、专业进行查询.
1.3软件环境需求
利用VisualStudio2010作为前台开发工具,后台SQL数据库管理实现学生成绩管理系统。
设计
2.1学生信息查询模块
学生信息查询:
学生可以根据学号、姓名、班级、学院进行查询。
学生信息查询
班级查询
学院查询
姓名查询
学号查询
2.2学生信息内容
学生的信息包括学号,姓名,性别,民族,班级,院系,出生日期,政治面貌。
学生信息
性别
学号
姓名
政治面貌
出生日期
院系
班级
民族
3.数据库设计
本系统的数据库是SQLserver数据库,在SQL环境下创建数据库学生管理系统文件。
根据以上模块划分图分析,针对学生信息管理系统,分别对个人基本信息、选课、成绩进行详细的研究分析。
数据库的设计采用一库多表式设计。
即设计了一个用户登录,添加学生信息,数据库中对学生的信息加入基础的添加、查询、修改和删除。
该数据库包括Student、Score、Other、Course、Choice、User列表。
本人负责部分为后用户信息“Student”表。
以下是数据库的表清单:
User表:
Student表:
Score表:
Other表:
Course表:
Choice表:
4.测试:
主界面:
学生信息查询:
主要功能代码:
Mainframe代码:
namespaceStudentIfoMag
{
publicpartialclassMainFrm:
Form
{
publicMainFrm()
{
InitializeComponent();
}
privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoid学生信息录入ToolStripMenuItem_Click(objectsender,EventArgse)
{
StuIfoEnterent=newStuIfoEnter();
ent.MdiParent=this;
ent.Show();
tssStu.Text=ent.Text;
}
privatevoid学生信息更新ToolStripMenuItem_Click(objectsender,EventArgse)
{
StuIfoSearchser=newStuIfoSearch();
ser.MdiParent=this;
ser.Show();
tssStu.Text=ser.Text;
}
privatevoid学生信息更新ToolStripMenuItem1_Click(objectsender,EventArgse)
{
StuIfoUpdateupt=newStuIfoUpdate();
upt.MdiParent=this;
upt.Show();
tssStu.Text=upt.Text;
}
privatevoid课程信息录入ToolStripMenuItem_Click(objectsender,EventArgse)
{
CourseEnteren=newCourseEnter();
en.MdiParent=this;
en.Show();
tssStu.Text=en.Text;
}
privatevoid成绩录入ToolStripMenuItem_Click(objectsender,EventArgse)
{
ScoreEnterenter=newScoreEnter();
enter.MdiParent=this;
enter.Show();
tssStu.Text=enter.Text;
}
privatevoid成绩更新ToolStripMenuItem_Click(objectsender,EventArgse)
{
ScoreUpdateup=newScoreUpdate();
up.MdiParent=this;
up.Show();
tssStu.Text=up.Text;
}
privatevoid成绩排名ToolStripMenuItem_Click(objectsender,EventArgse)
{
Rankra=newRank();
ra.MdiParent=this;
ra.Show();
tssStu.Text=ra.Text;
}
privatevoid班级选课ToolStripMenuItem_Click(objectsender,EventArgse)
{
CurChoicech=newCurChoice();
ch.MdiParent=this;
ch.Show();
tssStu.Text=ch.Text;
}
privatevoid留级休学ToolStripMenuItem_Click(objectsender,EventArgse)
{
Otheroth=newOther();
oth.MdiParent=this;
oth.Show();
tssStu.Text=oth.Text;
}
privatevoid留级ToolStripMenuItem_Click(objectsender,EventArgse)
{
Other2the=newOther2();
the.MdiParent=this;
the.Show();
tssStu.Text=the.Text;
}
}
}
学生信息查询代码:
namespaceStudentIfoMag
{
publicpartialclassStuIfoSearch:
Form
{
publicStuIfoSearch()
{
InitializeComponent();
}
privatevoidStuIfoSearch_Load(objectsender,EventArgse)
{
comboBox1.SelectedIndex=0;
//TODO:
这行代码将数据加载到表“studentIfoMagDataSet.Student”中。
您可以根据需要移动或移除它。
//this.studentTableAdapter.Fill(this.studentIfoMagDataSet.Student);
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringconnString=@"DataSource=.\SQLEXPRESS;AttachDbFilename=E:
\汪依清2012014574\大三\C#\STUDENTINFORMATIONMAG\StudentIfoMag.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True";
SqlConnectionconnection=newSqlConnection(connString);
if(textBox1.Text=="")//未输入查询条件时显示全部内容
{
stringsql=String.Format("select*fromStudent");//SQL语句
try
{
connection.Open();//打开数据库连接
SqlDataAdapteradapter=newSqlDataAdapter(sql,connection);
DataSetDS=newDataSet();
adapter.Fill(DS,"Student");
dataGridView1.DataSource=DS.Tables["Student"];
}
catch(SqlExceptionex)//数据库出错情况
{
MessageBox.Show(ex.Message,"操作数据库出错!
",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
connection.Close();//关闭数据库情况
}
}
else//输入了查询条件
{
stringsql;
switch(comboBox1.SelectedItem.ToString())
{
case"学号":
sql=String.Format("select*fromStudentwherestudentNo='{0}'",textBox1.Text);
try
{
connection.Open();//打开数据库连接
DataSetDS=newDataSet();
SqlDataAdapteradapter=newSqlDataAdapter(sql,connection);
adapter.Fill(DS,"Student");
dataGridView1.DataSource=DS.Tables["Student"];
if(DS.Tables[0].Rows.Count==0)//如果未查询到任何信息,给出提示,并显示全部信息
{
MessageBox.Show("没有查到相关信息,请检查查询条件!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
catch(SqlExceptionex)//数据库出错情况
{
MessageBox.Show(ex.Message,"操作数据库出错!
",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
connection.Close();//关闭数据库连接
}
break;
case"姓名":
sql=String.Format("select*fromStudentwhereconvert(nvarchar(255),studentName)LIKE'%{0}%'",textBox1.Text);
try
{
connection.Open();//打开数据库连接
DataSetDS=newDataSet();
SqlDataAdapteradapter=newSqlDataAdapter(sql,connection);
adapter.Fill(DS,"Student");
dataGridView1.DataSource=DS.Tables["Student"];
if(DS.Tables[0].Rows.Count==0)//如果未查询到任何信息,给出提示,并显示全部信息
{
MessageBox.Show("没有查到相关信息,请检查查询条件!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
catch(SqlExceptionex)//数据库出错情况
{
MessageBox.Show(ex.Message,"操作数据库出错!
",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
connection.Close();//关闭数据库连接
}
break;
case"班级":
sql=String.Format("select*fromStudentwhereconvert(nvarchar(255),studentClass)='{0}'",textBox1.Text);
try
{
connection.Open();//打开数据库连接
DataSetDS=newDataSet();
SqlDataAdapteradapter=newSqlDataAdapter(sql,connection);
adapter.Fill(DS,"Student");
dataGridView1.DataSource=DS.Tables["Student"];
if(DS.Tables[0].Rows.Count==0)//如果未查询到任何信息,给出提示,并显示全部信息
{
MessageBox.Show("没有查到相关信息,请检查查询条件!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
catch(SqlExceptionex)//数据库出错情况
{
MessageBox.Show(ex.Message,"操作数据库出错!
",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
connection.Close();//关闭数据库连接
}
break;
case"学院":
sql=String.Format("select*fromStudentwhereconvert(nvarchar(255),studentAcademy)LIKE'%{0}%'",textBox1.Text);
try
{
connection.Open();//打开数据库连接
DataSetDS=newDataSet();
SqlDataAdapteradapter=newSqlDataAdapter(sql,connection);
adapter.Fill(DS,"Student");
dataGridView1.DataSource=DS.Tables["Student"];
if(DS.Tables[0].Rows.Count==0)//如果未查询到任何信息,给出提示,并显示全部信息
{
MessageBox.Show("没有查到相关信息,请检查查询条件!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
}
catch(SqlExceptionex)//数据库出错情况
{
MessageBox.Show(ex.Message,"操作数据库出错!
",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
connection.Close();//关闭数据库连接
}
break;
}
}
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
stringconnString=@"DataSource=.\SQLEXPRESS;AttachDbFilename=E:
\汪依清2012014574\大三\C#\STUDENTINFORMATIONMAG\StudentIfoMag.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True";
SqlConnectionconnection=newSqlConnection(connString);
stringsql=String.Format("select*fromStudent");//SQL语句
connection.Open();//打开数据库连接
SqlDataAdapteradapter=newSqlDataAdapter(sql,connection);
DataSetDS=newDataSet();
adapter.Fill(DS,"Student");
dataGridView1.DataSource=DS.Tables["Student"];
studentTableAdapter.Fill(studentIfoMagDataSet.Student);
}
}
}
5.总结
本次系统设计让我知道了进行管理系统开发这样的工作,要有恒心,要能静下新来做,而不能浮躁。
要真真实实的多查资料,多问,多看。
要善于同同学和老师交流与合作,善于获取各种有用的资源。
更让我认识到一个系统开发的过程中编码不是重要的,最重要的是分析系统、建立起系统模型。
只有分析出来才能进行编码。
在分析一个系统前,操作者必须要对将要开发的系统所涉及到的各方面知识有一个整体的认识,然后将系统的模型建立起来。
在程序编写中,我认识到软件要有简便的界面,良好的程序风格。
拥有这些条件,程序的可读性才会好,开发的复杂度才能大大减少,修改代码时更加容易下手。