学生成绩管理系统.docx
- 文档编号:4875951
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:31
- 大小:582.60KB
学生成绩管理系统.docx
《学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
学生成绩管理系统
前言
随着计算机和网络的普及,若建立一个C/S结构的成绩管理系统,学生信息的管理通过计算机来实现,将使管理工作系统化、规范化、自动化、从而达到提高学生信息管理效率的目的。
此次设计以Delphi7为主要开发平台,结合MicrosoftSQL2000的数据库管理系统完成数据库设计以及管理。
使得应用程序界面简单明了,容易操作,对数据库的访问也更加高效合理。
关键词:
数据库DelphiMicrosoftSQL2000
第一章设计内容及要求
(1)学生的管理,学生的添加、删除、修改,查询。
数据库用Access(或者SQLsever)、编程环境用VB(或者Delphi或者C++builder等)完成以下基本功能:
(2)课程的管理,课程的添加、删除、修改,查询。
(3)成绩的管理,成绩的添加、删除、修改,查询。
第二章系统需求分析
为了提高系统开发水平和应用效果,系统应符合学校学生信息管理的规定,满足对学校学生信息管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。
系统采用模块化程序设计的方法,便于系统功能的组合和修改,以及扩充和维护。
根据需求分析,本系统要实现以下基本功能。
(1)学生信息查询功能:
通过不同的检索入口,查询学生学籍信息、课程信息和成绩信息,并进行排序。
(2)添加功能:
通过填写表格的形式输入学生学籍信息、课程信息和成绩信息等相关信息,系统能够自动避免重复信息。
(3)修改功能:
对数据库中的信息进行修改。
系统能够通过用户给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。
(4)删除功能:
对数据进行删除操作,则把相关信息从数据库中删除。
第三章系统设计
3.1系统功能设计
成绩管理系统主要实现学生信息的增添、删除、修改、查询等功能。
该系统分5个主要功能模块,如图3-1所示。
1.学籍信息管理模块
该模块主要实现对学生基本信息的录入、修改、删除和查询等操作。
录入学生的学号、姓名、性别、入学时间、出生日期、联系电话和家庭地址等信息,以学号作为唯一关键字。
图3-1成绩管理系统功能模块图
2.课程信息管理模块
实现学校课程信息的录入、修改、删除和查询操作。
3.学生成绩管理模块
实现学生成绩的录入、修改、删除和查企业家操作。
录入某个学生的某门课程的成绩时,由于学生信息和课程信息已经在数据库中存在,可通过下拉列表框的形式来选择学生和课程来录入、修改、删除和查询成绩。
4.用户管理模块
主要实现用户登陆、添加用户和修改用户密码等功能。
3.2数据库设计
1.数据库概念结构设计
根据上面的设计规划出的实体有:
学生实体、课程实体、选课实体。
它们之间的联系如图3-2所示。
图3-2实体之间联系的E-R图
2.数据库逻辑结构设计
现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,了就是娄据库的逻辑结构。
在上机的实体以有实体之间关系的基础上,形成数据库中表以及各个表之间的关系。
成绩管理系统数据库中包含学生基本表、课程基本信息表、成绩信息表和系统用户表。
各个数据表的设计如表3-3、3-4、3-5、3-6所示。
每个表表示在数据库中的一个数据表。
表3-1Student_info学生基本信息表
表3-2Course_info课程基本信息表
表3-3Student_course_info成绩信息表
表3-4User_info系统用户表
第四章系统实现
4.1成绩管理系统主窗体的创建
在SQLServer2000的企业管理器中创建了相关表后,有关数据结构的后端设计工作就完成了。
下面使用Delphi进行成绩管理系统的功能模块和数据库系统的客户端程序的实现。
1.新建一个工程
创建13个Form,其中Form2-Form13关闭后后都返回Form1,除Form1外,
其它窗体均在运行时动态创建。
2.
创建成绩管理系统主窗体,如图4-1所示
图4-1成绩管理系统主窗体
在Form1中,添加MainMenu控件。
该控件下含有六个主按钮。
分别为系统
理,学籍管理,课程管理,成绩管理,帮助及退出。
其中系统管理按钮下共含有用户登陆,添加用户和修改密码三个子按钮。
学籍管理按钮下共含有添加学籍,修改学籍,查询学籍三个子按钮。
课程管理按钮下共含有添加课程,修改课程,查询课程三个子按钮。
成绩管理按钮下共含有添加成绩,修改成绩,查询成绩三个子按钮。
单击对应的子选钮,相应的窗体Form显示。
4.1系统用户管理模块的创建
系统用户管理模块主要实现用户登陆、添加用户和此修改密码等功能。
用户登陆窗体设计
系统启动后,单击用户管理按钮,将出现如图4-2所示的用户登陆窗体,用户输入正确的用户名和密码后才能进入系统。
用户登陆窗体中放置5个标签(label)用来显示窗体的信息;一组选择按钮(Radiobutton)来选择用户类别;两个文本窗(Edit),用来输入用户名和密码;两个按钮(Button)用来进入或退出登陆;一个Timer控件控制字幕滚动。
图4-2用户登陆窗体
表4-1登陆窗体的控件及属性值
控件
属性
属性值
说明
Radiobutton1
Radiobutton2
Edit1
Edit2
Button1
Button2
Label1
Label2
Label3
Label4
Label5
Timer1
Text
Text
Caption
Caption
Caption
Caption
Caption
Caption
Caption
Interval
登陆
退出
欢迎进入…
管理员
学生
用户名
用户密码
1000
按钮标题
按钮标题
标签显示
标签显示
标签显示
标签显示
标签显示
当用户选择管理员并点击‘登陆’按钮时,执行Button1Click事件。
代码如下:
procedureTForm10.Button1Click(Sender:
TObject);
varstr:
string;
begin
ifradiobutton1.Checked=truethen
begin
str:
='select*from系统用户表where用户名称='+''''+edit1.Text+''''+'and用户密码='+''''+edit2.Text+'''';
withADOQuery1do
begin
Close;
Sql.Clear;
sql.Add(str);
open;
ifrecordcount=1then
begin
form10.Hide;
form1.Show;
Form1.N2.Enabled:
=true;
Form1.N3.Enabled:
=true;
Form1.N4.Enabled:
=true;
end;
end;
end;
ifradiobutton2.Checked=truethen
begin
str:
='select*from系统用户表where用户名称='+''''+edit1.Text+''''+'and用户密码='+''''+edit2.Text+'''';
withADOQuery1do
begin
Close;
Sql.Clear;
sql.Add(str);
open;
ifrecordcount=1then
begin
form10.Hide;
form1.Show;
Form1.N2.Enabled:
=true;
Form1.N4.Enabled:
=true;
end
else
begin
showmessage('用户名或密码错误,请重新输入!
');
edit1.Text:
='';
edit2.Text:
='';
end;
end;
end;
end;
点击退出按钮时,执行button2Click事件,代码如下:
begin
close;
end;
添加用户窗体的创建
进入系统后,选择菜单“系统管理”“添加用户”就可以添加用户,出现如图所示的窗体。
在Form2中,添加5个Label控件,1个Combobox控件,3个MsdkEdit控件,2个button控件以及1个Timer控件,1个DataSource控件和ADOQuery控件。
具体排版如下图4-3所示:
图4-3添加用户窗体
一旦输入完毕,系统将查询数据库中与新建用户名相同的记录,如果有相同的记录将提示用户重新入用户名。
当确定数据库中没有相同的用户名,并且两次输入的密码一样时,将把该条记录添加到数据库中。
表4-2添加用户窗体的控件及属性值
控件
属性
属性取值
说明
Button1
Button2
Timer1
DataSource1
ADOQuery1
Caption
Caption
Interval
Dataset
Connectionstring
添加用户
退出
1000
ADOQuery1
Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=成绩管理系统;DataSource=.
点击添加用户时,执行Button1Click事件,执行代码如下:
procedureTForm2.Button1Click(Sender:
TObject);
begin
ifmaskedit3.Text=maskedit2.Text
then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('insertinto系统用户表(用户名称,用户密码,用户描述)values(:
b,:
c,:
d)');
adoquery1.Parameters.ParamByName('b').Value:
=trim(maskedit1.Text);
adoquery1.Parameters.ParamByName('c').Value:
=maskedit2.Text;
adoquery1.Parameters.ParamByName('d').Value:
=combobox1.Text;
adoquery1.ExecSQL;
showmessage('添加新用户成功!
');
end
else
showmessage('您二次输入的密码不一致,请重新输入!
');
end;
一旦输入完毕,系统将查询数据库中与新建用户名相同的记录,如果有相同的记录将提示用户重新输入用户名。
当确定数据库中没有相同的用户名,并且两次输入的密码一样时,将把该条记录添加到数据库中。
修改用户农牧民码窗体的创建
用户可以修改自已的密码,选择菜单“系统管理”“修改密码”就可以修改密码,出现如图4-4所示的窗体。
在Form3中,添加4个Label控件,1个Combobox控件,3个Edit控件,2个button控件,1个DataSource控件和ADOQuery控件。
具体排版如下:
图4-4修改密码窗体
两次输入密码后,单击“修改”按钮,将触ButtonClick事件
对于主要控件属性如下:
表4-3修改密码窗体的控件及属性值
控件
属性
属性取值
说明
Button1
Button2
DataSource1
ADOQuery1
Caption
Caption
Dataset
Connectionstring
修改
退出
ADOQuery1
Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=成绩管理系统;DataSource=.
点击修改按钮时,执行Button1Click事件,执行代码如下:
procedureTForm3.Button1Click(Sender:
TObject);
varstr1:
string;
begin
ifedit2.text=edit3.Text
then
begin
str1:
='update系统用户表set用户密码=:
cwhere用户名称=:
band用户描述=:
d';
withADOQuery1do
begin
Close;
Sql.Clear;
sql.Add(str1);
parameters.ParamByName('b').Value:
=edit1.text;
parameters.ParamByName('c').Value:
=edit2.text;
parameters.ParamByName('d').Value:
=combobox1.text;
execsql;
showmessage('修改密码成功,请重新登录!
');
end;
end
else
showmessage('您二次输入的密码不一致,请重新输入!
');
end;procedureTForm3.Button1Click(Sender:
TObject);
varstr1:
string;
begin
ifedit2.text=edit3.Text
then
begin
str1:
='update系统用户表set用户密码=:
cwhere用户名称=:
band用户描述=:
d';
withADOQuery1do
begin
Close;
Sql.Clear;
sql.Add(str1);
parameters.ParamByName('b').Value:
=edit1.text;
parameters.ParamByName('c').Value:
=edit2.text;
parameters.ParamByName('d').Value:
=combobox1.text;
execsql;
showmessage('修改密码成功,请重新登录!
');
end;
end
else
showmessage('您二次输入的密码不一致,请重新输入!
');
end;
两次输入的密码一致时,数据库中的记录将更新。
4.2学生学籍管理模块的创建
学生基本信息管理模块主要实现如下功能:
添加、修改和查询学籍信息。
添加学籍信息窗体的创建
选择“学籍管理”“添加学籍信息”菜单,将出现如下图所示的窗体。
图4-5添加学籍信息窗体
在窗体Form4中,放置了7个MaskEdit控件,1个ComboBox控件,9个Label控件,1个Memo控件,2个Button控件,1个DataSource控件和ADOQuery控件,1个ADOCommand控件。
主要控件的属性设置如下表4-4所示。
表4-4添加学籍信息窗体的控件及属性值
控件名
属性名
属性值
控件名
属性名
属性值
Form4
Label1
Label2
Label3
Label4
Label5
Label6
Label7
Label8
Label9
Caption
Caption
Caption
Caption
Caption
Caption
Caption
Caption
Caption
Caption
添加学籍信息
学号
姓名
性别
出生日期
班级
入学时间
电话
地址
备注
Button1
Button2
DataSource1
Caption
Caption
Dataset
添加
退出
ADOQuery1
当单击添加按钮时,将执行Button1Click事件,执行代码如下:
procedureTForm4.Button1Click(Sender:
TObject);
begin
adocommand1.CommandText:
='setidentity_insert学生基本信息表on';
adocommand1.Execute;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add('insertinto学生基本信息表(学生姓名,学生性别,出生日期,班级信息,联系电话,入学时间,家庭住址,注释)values(:
b,:
c,:
d,:
e,:
f,:
g,:
h,:
i)');
adoquery1.Parameters.ParamByName('b').Value:
=trim(maskedit2.Text);
adoquery1.Parameters.ParamByName('c').Value:
=combobox1.Text;
adoquery1.Parameters.ParamByName('d').Value:
=strtodatetime(maskedit3.Text);
adoquery1.Parameters.ParamByName('e').Value:
=maskedit4.Text;
adoquery1.Parameters.ParamByName('f').Value:
=maskedit6.Text;
adoquery1.Parameters.ParamByName('g').Value:
=strtodatetime(maskedit5.Text);
adoquery1.Parameters.ParamByName('h').Value:
=maskedit7.Text;
adoquery1.Parameters.ParamByName('i').Value:
=memo1.Text;
adoquery1.ExecSQL;
showmessage('添加学籍信息成功!
');
end;
修改学籍信息窗体的创建
选择选择“学籍管理”“添加学籍信息”菜单,将出现如下图所示的窗体。
图4-6修改学籍信息窗体
在窗体Form5中,放置了7个MaskEdit控件,1个ComboBox控件,9个Label控件,1个Memo控件,2个Button控件,2个DataSource控件和2个ADOQuery控件,1个ADOCommand控件以及1个DBNavigator控件。
主要控件的属性设置如下表所示。
表4-5修改学籍信息窗体的控件及属性值
控件名
属性名
属性值
控件名
属性名
属性值
Form4
Label1
Label2
Label3
Label4
Label5
Label6
Label7
Label8
Label9
Caption
Caption
Caption
Caption
Caption
Caption
Caption
Caption
Caption
Caption
添加学籍信息
学号
姓名
性别
出生日期
班级
入学时间
电话
地址
备注
Button1
Button2
DataSource1
Caption
Caption
Dataset
添加
退出
ADOQuery1
当单击更新记录按钮时,将执行Button1Click1事件,执行代码如下:
procedureTForm5.Button1Click(Sender:
TObject);
begin
adoquery1.Edit;
adoquery1.FieldByName('学生姓名').Value:
=trim(dbedit1.Text);
adoquery1.FieldByName('学生性别').Value:
=dbcombobox2.Text;
adoquery1.FieldByName('出生日期').Value:
=strtodatetime(dbedit2.Text);
adoquery1.FieldByName('班级信息').Value:
=dbedit3.Text;
adoquery1.FieldByName('联系电话').Value:
=dbedit5.Text;
adoquery1.FieldByName('入学时间').Value:
=strtodatetime(dbedit4.Text);
adoquery1.FieldByName('家庭住址').Value:
=dbedit6.Text;
adoquery1.FieldByName('注释').Value:
=dbmemo1.Text;
adoquery1.Post;
showmessage('更新记录成功!
');
end;
当单删除按钮时,将执行Button1Click2事件,执行代码如下:
procedureTForm5.Button2Click(Sender:
TObject);
begin
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.add('deletefrom学生基本信息表where学生学号=:
b');
adoquery2.Parameters.ParamByName('b').Value:
=strtoint(dbcombobox1.Text);
adoquery2.ExecSQL;
showmessage('删除记录成功!
');
查询学籍信息窗体的创建
选择“学籍管理”“查询学籍信息”菜单,将出现如下图所示的窗体。
在学籍查询窗体中用到了一个DBGrid控件,设置其DataSource属性为DataSource,查询窗体中所包含的主要控件及基属性如表4-6所示。
图4-7学籍信息查询窗体
表4-6学籍信息查询窗体的控件及属性值
控件名
属性名
属性值
Label1
Label2
Button1
Button2
Button3
DataSource1
ADOQuery1
Caption
Caption
Caption
Caption
Caption
Dataset
Connectionstring
请输入要查询学生的学号
请输入要查询学生的姓名
查询
查询
退出
ADOQuery1
Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=成绩管理系统;DataSource=.
当点击按按学生学号查询时,将执行Button1Click1事件,执行代码如下:
procedureTForm6.Button1Click(Sender:
TObject);
begin
adoquery1.Close;
ado
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统
![提示](https://static.bdocx.com/images/bang_tan.gif)