班级学生信息管理系统学士学位论文1 精品.docx
《班级学生信息管理系统学士学位论文1 精品.docx》由会员分享,可在线阅读,更多相关《班级学生信息管理系统学士学位论文1 精品.docx(33页珍藏版)》请在冰豆网上搜索。
班级学生信息管理系统学士学位论文1精品
学士学位论文
班级学生信息管理系统
系部:
信息工程技术系
专业:
计算机科学与技术
中文摘要
班级学生信息管理系统的开发主要包括后台数据库的建立和前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我采用微软公司的visualstudio2008中的c#语言平台开发,后台建立在Microsoftofficeaccess2003基础上,建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成比较高可行性系统。
通过对计算机硬件和软件方面的了解,来论证本系统的解决方案。
在指导老师的大力帮助下,基本上完成了设计任务的要求。
关键词:
数据;数据库。
目 录
中文摘要1
引言3
1.学生信息管理系统4
1.1系统功能模块设计4
1.2各模块功能4
1.2.1系统模块4
1.2.2个人信息模块4
1.2.3成绩信息管理5
1.2.4用户设计5
2.数据库设计6
2.1创建数据库6
2.2设计表6
3.页面设计8
3.1登录界面8
3.2主窗口界面8
3.3添加个人信息窗口界面9
3.4查询个人信息窗口界面10
3.5主窗口界面10
3.6主窗口界面11
3.7主窗口界面11
4.代码12
4.1登陆模块12
4.2添加个人信息模块14
4.3查询个人信息模块20
4.4删除个人信息模块26
4.5添加用户模块28
结束语30
参考文献31
致谢32
引言
当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
信息管理系统是进行信息的采集、存储、加工、维护和使用的系统,它是随着管理科学和技术科学的发展而形成的。
学生信息管理是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等优点。
这些优点能够极大地提高学生信息管理的效率。
因此,开发这样的一套信息管理系统成为很有必要的事情。
学生信息管理系统提供了强大的学生信息管理与分析管理功能,方便系统管理员对学生成绩,个人信息等信息的添加、修改、删除、查询等操作学习的交流。
1.学生信息管理系统
该软件分四个主要功能块:
即用户信息管理、成绩信息管理、个人信息管理以及系统管理。
1.1系统功能模块设计
按照结构化程序设计的要求,得到下图的系统功能模块图:
1.2各模块功能
1.2.1系统模块
主要是实现对系统的重启和退出等操作。
1.2.2个人信息模块
主要是实现对学生个人信息的管理。
包括学生个人信息的添加,修改,删除,查询等操作。
1、添加个人信息子模块:
点击上方“个人信息”使下方出现“添加”的字样;再在对应的对话框里录入包括:
学号、姓名、性别、班级、家庭住址、联系电话、政治面貌、民族、图像、家长姓名、家长联系电话、家长工作单位、备注等信息,再点击下方的“添加”按钮,这样信息就可以保存到数据库里面。
2、修改个人信息子模块:
点击上方“个人信息”使下方出现“修改”的字样;单击下面现实的表格里面单击需要修改的记录,这样就可以显示相应的数据再进行对应的修改包括:
学号、姓名、性别、班级、家庭住址、联系电话、政治面貌、民族、图像、家长姓名、家长联系电话、家长工作单位、备注等信息,再点击下方的“修改”按钮,这样信息就可以完成数据修改操作。
3、删除个人信息子模块:
点击上方“个人信息”使下方出现“删除”的字样;再在对应的对话框里录入包括:
学号,再点击下方的“删除”按钮,这样就可以完成对学生记录的删除操作。
4、查询个人信息子模块:
点击上方“个人信息”使下方出现“查询”的字样;先选择对应的查询条件,再在对应的对话框里录入内容,再点击“查询”按钮,这样就可以完成对学生记录的查询操作。
1.2.3成绩信息管理
实现对学生成绩的管理。
包括对各个学生的成绩进行添加、修改、删除;且根据不同条件查询成绩。
1、添加成绩信息子模块:
点击上方“成绩信息”使下方出现“添加”的字样;再在对应的对话框里录入,再点击下方的“添加”按钮,这样信息就可以保存到数据库里面。
2、修改成绩信息子模块:
点击上方“成绩信息”使下方出现“修改”的字样;单击下面现实的表格里面单击需要修改的记录,这样就可以显示相应的数据再进行对应的修改,再点击下方的“修改”按钮,这样信息就可以完成数据修改操作。
3、成绩信息查询子模块:
点击上方“成绩信息”使下方出现“查询”的字样;先选择对应的查询条件,再在对应的对话框里录入内容,再点击“查询”按钮,这样就可以完成对学生成绩的查询操作。
1.2.4用户设计
主要是实现对用户信息的管理。
包括用户信的添加,修改密码,删除,等操作。
1、添加用户信息子模块:
点击上方“用户信息”使下方出现“添加”的字样;再在对应的对话框里录入包括:
用户名、密码、确认密码、等信息,再点击下方的“添加”按钮,这样信息就可以完成用户的天价操作。
2、修改用户信息子模块:
点击上方“用户信息”使下方出现“修改密码”的字样;再在对应的对话框里录入包括:
用户名、旧密码、新密码、确认密码、等信息,再点击下方的“修改”按钮,这样信息就可以完成数据修改操作。
3、删除用户信息子模块:
点击上方“个人信息”使下方出现“删除”的字样;再在对应的对话框里录入包括:
用户名、密码,再点击下方的“删除”按钮,这样就可以完成对学生记录的删除操作。
2.数据库设计
2.1创建数据库
在设计数据库表结构之前,先要创建一个数据库。
本系统使用的数据库为bxshxxglxtdatabase(Access表)
2.2设计表
根据系统的功能要求,本系统数据库采用MicrosoftAccess,它不但适合工作的需要,而且它所支持的数据类型十分丰富,维护简单,费用较低,人员素质要求不高,容易升级。
在学生信息管理系统的数据库bxshxxglxtdatabase中,需要包含用户表、基本信息表、图像表、学生成绩的信息表。
各表的结构如表1-1到表1-4所示。
表1-1用户表
字段名
字段说明
类型
宽度
备注
yhm
用户名
文本
15
主关键字
mm
密码
文本
10
不能为空
表1-2学生基本信息表
字段名
字段说明
类型
宽度
备注
xh
学号
文本
主关键字
xm
姓名
文本
不能为空
xb
性别
文本
不能为空
chshrq
出生日期
日期/时间
不能为空
bj
班级
文本
zhzhmm
政治面貌
文本
mz
民族
文本
lxdh
联系电话
文本
jtdzh
家庭地址
文本
jzhxm
家长姓名
文本
jzhlxdh
家长联系电话
文本
jzhgzdw
家长工作单位
文本
bzh
备注
文本
表1-3学生成绩表
字段名
字段说明
类型
宽度
备注
xh
学号
文本
不能为空
chj1
成绩1
文本
3
可以为空
chj2
成绩2
文本
3
可以为空
chj3
成绩3
文本
3
可以为空
chj4
成绩4
文本
3
可以为空
chj5
成绩5
文本
3
可以为空
chj6
成绩6
文本
3
可以为空
chj7
成绩7
文本
3
可以为空
chj8
成绩8
文本
3
可以为空
chj9
成绩9
文本
3
可以为空
chj10
成绩10
文本
3
可以为空
chj11
成绩11
文本
3
可以为空
chj12
成绩12
文本
3
可以为空
chj13
成绩13
文本
3
可以为空
chj14
成绩14
文本
3
可以为空
chj15
成绩15
文本
3
可以为空
chj16
成绩16
文本
3
可以为空
chj17
成绩17
文本
3
可以为空
chj18
成绩18
文本
3
可以为空
chj19
成绩19
文本
3
可以为空
chj20
成绩20
文本
3
可以为空
chj21
成绩21
文本
3
可以为空
表1-4学生图像表
字段名
字段说明
类型
宽度
备注
xh
学号
文本
11
主关键字
tx
图像
OLE对象
不能为空
3.页面设计
3.1登录界面
在对应的文本框输入用户名和密码,如果输入的密码的用户名正确才能可以登录并且显示主界面。
图-1登陆界面
3.2主窗口界面
单击在菜单中的各个选项,可以打开相应的窗口界面。
在个窗口可以进行相应的操作。
图–2主窗口
3.3添加个人信息窗口界面
在对应的文本框和选项输入相应的内容,可以进行添加个人信息的操作。
如果输入的学号(主码)已存在,则不能进行添加个人信息操作的。
图–3添加个人信息窗口
3.4查询个人信息窗口界面
在对应的条件下输入相应的内容,才能可以进行查询操作。
图-4查询个人信息窗口
3.5主窗口界面
在对应的文本框输入相应的内容,如果输入的学号已存在,则不能进行添加成绩信息的操作。
图–5添加学生成绩窗口
3.6主窗口界面
在文本框输入学号,可以进行删除学生记录的操作。
图–6删除学生窗口
3.7主窗口界面
在对应的文本框输入相应的内容,可以进行添加用户的操作。
如果输入的用户名已存在,则不能进行添加用户的操作。
图–7添加用户窗口
4.代码
4.1登陆模块
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
usingSystem.Data.OleDb;
namespacebjxshxxglxt
{
publicpartialclassdl:
Form
{
publicdl()
{
InitializeComponent();
}
stringstrCon="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:
\\File\\班级学生信息管理系统\\bjxshxxglxtdatebase.mdb";
privatevoidtuichubtn_Click(objectsender,EventArgse)
{
Application.Exit();
}
privatevoiddenglubtn_Click(objectsender,EventArgse)
{
OleDbConnectionconnection=newOleDbConnection(strCon);
if(yhmtxt.Text!
=""&&mmtxt.Text!
="")
{
try
{
connection.Open();
stringstrRead="select*fromyonghuwhereyhm='"+yhmtxt.Text+"'andmm='"+mmtxt.Text+"'";
OleDbCommandcmdRead=newOleDbCommand(strRead,connection);
OleDbDataReaderDR=cmdRead.ExecuteReader();
if(DR.Read()==true)
{
mainformMF=newmainform();
this.Hide();
MF.Show();
}
else
{
msgBox("用户名或密码错误!
");
txtClear();
}
DR.Close();
connection.Dispose();
connection.Close();
}
catch(OleDbExceptionCW)
{
msgBox(CW.ToString());
}
}
else
{
msgBox("请输入用户名和密码!
");
}
}
publicvoidmsgBox(stringmsg)
{
MessageBox.Show(msg,"提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
privatevoidtxtClear()
{
yhmtxt.Clear();
mmtxt.Clear();
}
}
}
4.2添加个人信息模块
publicpartialclasstjgrxx:
Form
{
publictjgrxx()
{
InitializeComponent();
}
privatevoidtianjiabtn_Click(objectsender,EventArgse)
{
stringxuehao=GetText(xhtxt);stringxingming=GetText(xshxmtxt);
stringlianxidh=GetText(lxdhtxt);stringbanji=GetText(bjtxt);
stringjiatingdzh=GetText(jtdzhtxt);stringjiazhangxm=GetText(jzhxmtxt);
stringjiazhangdh=GetText(jzhlxdhtxt);stringjiazhanggzdw=GetText(jzhgzdwtxt);
stringbeizhu=GetText(beizhutxt);
stringxingbie=GetCmbText(xbcmbBox);stringminzu=GetCmbText(mzcmbBox);
stringzhengzhimm=GetCmbText(zhzhmmcmbBox);
stringstrOFImg=GetTxtOF(openFileDialog1);
OleDbConnectionconnection=newOleDbConnection(strCon);
if(xhtxt.Text!
=""&&xshxmtxt.Text!
="")
{
try
{
connection.Open();
stringstrRead="selectxhfromjibenxinxiwherexh='"+xhtxt.Text+"'";
OleDbCommandcmdRead=newOleDbCommand(strRead,connection);
OleDbDataReaderDR=cmdRead.ExecuteReader();
if(DR.Read()!
=true)
{
stringstrInsert="insertintojibenxinxi(xh,xm,xb,chshrq,zhzhmm,mz,lxdh,bj,jtdzh,jzhxm,jzhlxdh,jzhgzdw,bzh)values('"+xuehao+"','"+xingming+"','"+xingbie+"','"+dateTimePicker1.Value+"','"+zhengzhimm+"','"+minzu+"','"+lianxidh+"','"+banji+"','"+jiatingdzh+"','"+jiazhangxm+"','"+jiazhanggzdw+"','"+jiazhangdh+"','"+beizhu+"')";
OleDbCommandcmdInsert=newOleDbCommand(strInsert,connection);
cmdInsert.ExecuteNonQuery();
if(pictureBox1.Image!
=null)
{
SaveImage(strOFImg,xuehao,connection);
}
msgBox("添加成功!
");
DgvFreshup();
txtClear();
cmdInsert.Dispose();
}
else
{
msgBox("该学号已存在!
");
connection.Close();
}
}
catch(OleDbExceptionCW)
{
msgBox(CW.ToString());
}
connection.Dispose();
connection.Close();
}
else
{
msgBox("请输入学号和姓名!
");
}
}
privatevoidquxiaobtn_Click(objectsender,EventArgse)
{
txtClear();
}
privatevoidlltxbtn_Click(objectsender,EventArgse)
{
try
{
Read_Image(openFileDialog1,pictureBox1);
}
catch
{
MessageBox.Show("加载图片出错");
}
}
privatevoidtjgrxx_Load(objectsender,EventArgse)
{
DgvFreshup();
}
privatevoidxhtxt_KeyPress(objectsender,KeyPressEventArgse)
{
if(e.KeyChar!
=8&&!
char.IsDigit(e.KeyChar))
{
MessageBox.Show("只能输入数字","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
e.Handled=true;
}
}
publicvoidmsgBox(stringmsg)
{
MessageBox.Show(msg,"提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
privatevoidtxtClear()
{
xhtxt.Clear();xshxmtxt.Clear();
bjtxt.Clear();lxdhtxt.Clear();
jtdzhtxt.Clear();jzhxmtxt.Clear();
jzhlxdhtxt.Clear();jzhgzdwtxt.Clear();
beizhutxt.Clear();
xbcmbBox.SelectedIndex=0;
mzcmbBox.SelectedIndex=0;
zhzhmmcmbBox.SelectedIndex=0;
dateTimePicker1.Value=DateTime.Today;
pictureBox1.Image=null;
}
publicvoidRead_Image(OpenFileDialogopenF,PictureBoxMyImage)
{
openF.Filter="*.jpg|*.jpg|*.bmp|*.bmp";
if(openF.ShowDialog()==DialogResult.OK)
{
try
{
MyImage.Image=System.Drawing.Image.FromFile(openF.FileName);
}
catch
{
MessageBox.Show("您选择的图片不能被读取或文件类型不对!
","错误",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}
}
}
publicvoidSaveImage(stringstrImg,stringxh,OleDbConnectioncon)
{
FileStreamfs=newFileStream(strImg,FileMode.Open,FileAccess.Read);
BinaryReaderbr=newBinaryReader(fs);
byte[]imgBytesIn=br.ReadBytes((int)fs.Length);
StringBuilderstrB=newStringBuilder();
strB.Append("insertintotuxiang(xh,tx)values('"+xh+"',@Photo)");
OleDbCommandcmd=newOleDbCommand(strB.ToString(),con);
cmd.Parameters.Add("@Photo",OleDbType.Binary).Value=imgBytesIn;
cmd.ExecuteNonQuery();
}
privatestringGetText(TextBoxTB)
{
stringstrText=null;
if(TB.Text!
="")
{
strText=TB.Text;
}
returnstrText;