学生信息管理系统实验报告.docx
- 文档编号:5107864
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:11
- 大小:306.31KB
学生信息管理系统实验报告.docx
《学生信息管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统实验报告.docx(11页珍藏版)》请在冰豆网上搜索。
学生信息管理系统实验报告
《c#》课程设计
实验报告书
安徽工业大学计算机学院
姓名
岳耀闯
专业
计算机科学与技术
班级
计134班
学号
139074137
指导教师
邰伟鹏
摘 要
本文描述的是基于Windows环境的学生信息管理系统,主要功能模块包括:
学生信查询,学生信息管理,学生成绩录入,主要工具MicrosoftVisualStudio2005设计窗体,SQLserver2005建立数据库,实现学校信息管理的各个功能。
本程序提供了管理员权限和用户权限,其中管理员可以对信息进行管理,而用户只可以对信息进行查询,以确保程序的安全性。
一、需求分析
1系统目标
1学生信息、课程信息、成绩信息的增加、删除、修改、查询
2分别设置管理员权限和用户权限
2功能需求分析
本系统的功能需求分析如下:
(1)学生信息查询:
学生可以根据学号、姓名等进行模糊查询.
(2)学生信息管理:
主要是用于学生信息更新、插入、删除;
(3)学生成绩录入:
用于学生成绩管理,录入学生成绩,也可以更新;
3性能需求分析
(1)登录、用户界面需求:
简洁、易懂、易用、友好的用户界面。
(2)安全保密性需求:
只有凭借用户名和密码登陆系统,才能进行信息的管理等。
二总体设计
1设计概述
根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。
把这些模块结合起来组成一个整体。
逐一实现各个功能。
2系统数据库的设计
1.所用到的数据库中的表信息:
adminmsg(管理员表)
列名
字段类型
长度
主/外键
对应中文名
Userid
int
4
编号
Username
Nvarchar
50
姓名
Password
Nvarchar
50
密码
user(用户表)
列名
字段类型
长度
主/外键
对应中文名
Userid
int
4
编号
Username
Nvarchar
50
姓名
Password
Nvarchar
50
密码
Studentmsg(学生信息表)
列名
字段类型
长度
主/外键
对应中文名
Studentid
int
4
Y
学号
Studentname
Nvarchar
50
姓名
Sex
Byte
1
性别
department
Nvarchar
50
所在系
speciality
Nvarchar
50
专业
Coursemsg(课程信息表)
列名
字段类型
长度
主/外键
对应中文名
courseid
int
4
Y
课程号
coursename
Nvarchar
50
课程名称
required
Nvarchar
10
性质
credit
int
4
学分
Scoremsg(成绩表)
列名
字段类型
长度
主/外键
对应中文名
Studentno
int
4
Y
学号
courseid
int
4
Y
课程号
score
int
4
成绩
3.用户登录安全性检查
系统设计了登录界面,每个合法用户有用户名及一个密码,在输入后系统会对相应的表进行匹配检查,只有当用户输入正确的用户名及密码组合后才能够进入相应的界面。
三详细设计
1登陆安全性检查。
系统会对每一个用户进行安全性检查,只有在数据库中拥有用户信息的才可以进入系统。
截图如下:
2用户权限登陆
用户在输入正确的密码和用户名称之后,点击“用户身份登陆”,就进入了用户界面,界面截图如下:
在这个界面正可以查询课程信息,学生信息和学院信息,还可以查看统计信息。
如图:
第一章查询学生信息
第二章查询课程信息
第三章查询学院信息
第四章查询统计信息(选中一行,可查看不及格名单)
3管理员身份登陆
以管理员身份登陆后可以进行学生信息,课程信息,成绩信息的添加,删除,修改,查询等操作。
(1)管理员身份界面
(2)添加课程,学生信息
(3)查看,修改,删除课程信息和学生信息。
学生信息页面显示后会加载全部的学生信息,上面的检索是提供了模糊搜索。
可以在列表中直接修改信息,然后点击“保存修改”,系统会保存修改后的信息。
选中一行后,点击“删除选中行信息”,系统会自动删除该行的学生信息以及其成绩信息。
课程信息页面操作同学生信息页面操作相同。
删除时会相应的删除课程信息以及和此课程信息相关的所有成绩信息。
查询总信息,根据选择的条件会显示与条件相关的所有信息。
并增加了“删除学院信息”。
在选中一行后,就会锁定该行的学院名称,并删除该学员的全部学生信息和相关的课程信息。
(4)查询统计信息
查询统计信息同用户级别的查询统计信息相同
(5)添加成绩信息
系统会自动将课程信息和学生姓名绑定在框内。
按照下拉菜单,选择相应的课程和学生,分数就会为该学生添加相应的分数,添加后会显示在右侧的表中。
四主要功能模块代码
1登陆部分代码
2添加部分代码(以下全部以添加学生信息为例)
stringno=Convert.ToString(textBox1.Text);
stringname=Convert.ToString(textBox2.Text);
stringsex=Convert.ToString(textBox3.Text);
stringdept=Convert.ToString(textBox4.Text);
stringspec=Convert.ToString(textBox5.Text);
stringconnString=@"DataSource=acer-pc;InitialCatalog=myschool;IntegratedSecurity=true";
SqlConnectionconnection=newSqlConnection(connString);
Stringsql=string.Format("insertintostudentmsg(studentno,studentname,sex,department,speciality)values('{0}','{1}','{2}','{3}','{4}')",no,name,sex,dept,spec);
try
{
connection.Open();
SqlCommandcommand=newSqlCommand(sql,connection);
intcount=command.ExecuteNonQuery();//执行添加命令,返回值为更新的行数
if(count>0)
{
MessageBox.Show("添加学生信息成功","添加成功",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
MessageBox.Show("添加学生信息失败","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message,"操作数据库出错!
",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
finally
{connection.Close();}
}
3删除部分代码
//提取选中行的记录的学号,进行删除
stringno=this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
try
{
//首先删除成绩表中的数据
stringsql=String.Format("deletefromscoremsgwherestudentno='{0}'",no);
SqlDataAdapterdataadapter=newSqlDataAdapter(sql,connection);
DataSetdataset=newDataSet("MyData");
dataadapter.Fill(dataset);
//删除学生信息表中的数据
stringsql2=String.Format("deletefromstudentmsgwherestudentno='{0}'",no);
SqlDataAdapterdataadapter2=newSqlDataAdapter(sql2,connection);
DataSetdataset2=newDataSet("MyData");
dataadapter2.Fill(dataset2);
SqlCommandcommand=newSqlCommand(sql,connection);
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message,"操作数据库出错!
",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
}
4修改部分代码
studentmsgTableAdapter.Update(myschoolDataSet.studentmsg);
//通过对datagridview中的数据进行直接的修改,再用update进行更新
5对信息的统计
//对学生信息进行录入
stringsql=String.Format("selectcourseid,count(studentno)选课人数,avg(score)平均成绩fromscoremsgGROUPBYcourseid");
SqlDataAdapterdataadapter=newSqlDataAdapter(sql,connection);
DataSetdataset=newDataSet("MyData");
dataadapter.Fill(dataset);
dataGridView1.Columns[0].DataPropertyName="courseid";
dataGridView1.Columns[1].DataPropertyName="选课人数";
dataGridView1.Columns[2].DataPropertyName="平均成绩";
dataGridView1.DataSource=dataset.Tables[0];
//统计不及格的学生信息
stringno=this.dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//提取选中的行的课程号
stringsql=String.Format("selectstudentnamefromstudentmsg,scoremsgwherestudentmsg.studentno=scoremsg.studentnoandscore<60andcourseid='{0}'",no);
SqlDataAdapterdataadapter=newSqlDataAdapter(sql,connection);
DataSetdataset=newDataSet("MyData");
dataadapter.Fill(dataset);
dataGridView2.Columns[0].DataPropertyName="studentname";
dataGridView2.DataSource=dataset.Tables[0];
五课程设计心得
通过对这个程序的编写,加深了我对c#这门语言和数据库操作的了解,提高了综合运用课程所学知识的能力,在整个过程中,我遇到了许多的问题,包括对一些控件功能的不了解,调试时出现的种种错误,以及对两种语言的结合使用等等。
最后通过网上查找资料和去图书馆查看相关的书籍,将所遇到的问题逐一解决。
从需求分析,概念设计,总体设计,详细设计,系统测试等各个步骤,分步完成系统的各项任务,实现了系统中的学生信息查询,学生信息更新,学生信息添加等模块的功能。
通过实际编译系统的分析设计、编程调试,我也或多或少的掌握应用软件的分析方法和工程设计方法。
这也是这次程序设计的收获。
总体上对这次的程序编写较为满意,希望今后有更多的机会进行这样的程序设计。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 实验 报告