Delphi学生信息管理系统.docx

上传人:b****8 文档编号:9704036 上传时间:2023-05-20 格式:DOCX 页数:26 大小:113.93KB
下载 相关 举报
Delphi学生信息管理系统.docx_第1页
第1页 / 共26页
Delphi学生信息管理系统.docx_第2页
第2页 / 共26页
Delphi学生信息管理系统.docx_第3页
第3页 / 共26页
Delphi学生信息管理系统.docx_第4页
第4页 / 共26页
Delphi学生信息管理系统.docx_第5页
第5页 / 共26页
Delphi学生信息管理系统.docx_第6页
第6页 / 共26页
Delphi学生信息管理系统.docx_第7页
第7页 / 共26页
Delphi学生信息管理系统.docx_第8页
第8页 / 共26页
Delphi学生信息管理系统.docx_第9页
第9页 / 共26页
Delphi学生信息管理系统.docx_第10页
第10页 / 共26页
Delphi学生信息管理系统.docx_第11页
第11页 / 共26页
Delphi学生信息管理系统.docx_第12页
第12页 / 共26页
Delphi学生信息管理系统.docx_第13页
第13页 / 共26页
Delphi学生信息管理系统.docx_第14页
第14页 / 共26页
Delphi学生信息管理系统.docx_第15页
第15页 / 共26页
Delphi学生信息管理系统.docx_第16页
第16页 / 共26页
Delphi学生信息管理系统.docx_第17页
第17页 / 共26页
Delphi学生信息管理系统.docx_第18页
第18页 / 共26页
Delphi学生信息管理系统.docx_第19页
第19页 / 共26页
Delphi学生信息管理系统.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Delphi学生信息管理系统.docx

《Delphi学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《Delphi学生信息管理系统.docx(26页珍藏版)》请在冰点文库上搜索。

Delphi学生信息管理系统.docx

Delphi学生信息管理系统

 

学生信息管理系统设计论文

——学生管理系统

一课题名称学生管理信息系统

主要功能:

1.学籍信息管理

2.班级信息管理

3.课程信息管理

4.成绩信息管理

5.系统管理

二、学校学生管理信息系统的简介

学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(ManagementInformationSystem)。

它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。

能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。

功能基本符合根据张波尔老师的要求。

学生用户通过输入学生基本信息、课程基本信息等,由系统自行生成相应的数据以供学生查询,另外人事处的管理用户还可以对这些基本信息进行更新和删除,学校学生管理信息系统力求给用户方便快捷的途径去管理这些繁琐的数据。

具体系统功能需求描述如下:

(1)学籍信息管理

每年的大量新生入学,老生毕业都需要处理大量的学生信息。

通过这一模块,可以实现学生基本情况的添加、删除、更新。

还能查询各个学生的情况,姓名、家庭电话、家庭住址、学号等各个消息

(2)班级信息管理

实现班级的添加、删除、更新。

查询班级的所在系别,辅导员等。

(3)课程信息管理

每个学期都会增加一些新的科目,通过本模块可以轻松的添加以及更新课程。

可以根据

学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的选择,并对值的输入,可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作。

该项管理对课程的属性进行了具体化的分类,比如可以分辨是考试科还是考察课,而且根据条件的选择大大得提高了对各学期课程数据的记录操作,很大得帮助了教工们工作效率的提高。

(4)成绩信息管理

本模块实现了成绩的输入、删除、更新。

还能查询到平均成绩以及单科最高最低成绩以及个人成绩。

把成绩统计这个繁琐的工作简单化,为学生成绩的管理方面提高工作效率。

(5)系统管理

因为本系统是供多人一起使用的,必须对某一些人进行限制。

于是设置了管理员,非管理员只能进行查询操作,不能进行更改。

三、学校学生管理信息系统的分析和设计

(1)开发环境的简介

设计平台:

DELPHI6.0

Delphi是一个对象导向设计的应用程序语言,是开发数据库前端的优秀工具,它的编程语言简洁明快、组件功能强大和编程环境灵活方便。

采用Delphi来开发数据库应用程序具有更大的灵活性和可扩展性。

数据库:

MicrosoftAccess

Access是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。

Access的优点在于它能使用数据表示图或自定义窗体收集信息。

数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。

另外,Access允许创建自定义报表用于打印或输出数据库中的信息。

Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。

Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。

Access多用于中小型企业来设计中小型数据库,一般的学校教务系统的数据库用Access来设计完全能达到要求。

由于考虑到本系统是应用在单机系统上,只建立起一个数据库。

数据库访问方式:

ADO

ADO(ActiveDataObjects)实际是一种提供访问各种数据类型的连接机制。

ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。

可以使用任何一种ODBC数据源,即不止适合于SQLServer、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。

ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。

其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。

(2)学校学生管理信息系统数据库设计

由于考虑到本系统是应用在单机系统上,另外根据学校人员规模,我只建立起一个数据库,在此数据库基础上建立起如下八个基本表:

学生:

学号,姓名,出生年月,性别,籍贯,联系地址,联系电话,班级

班级:

系名,班级,主要教室,辅导员,班长

系表:

系名,系办公室,联系电话

课程表:

课程号,课程号,班级,类别,学时,学名

平均成绩表:

班级,学号,姓名,平均成绩

单科成绩表:

学号,姓名,课程表,课程名,成绩

选课表:

班级,课程号,学期

用户名:

用户,密码

(3)窗体设计:

班级管理(banjigl.dfm)

班级查询(banjicx.dfm)

学籍管理(xuejigl.dfm)

学籍查询(xuejicha.dfm)

课程管理(kechenggl.dfm)

课程查询(kechengcha.dfm)

成绩管理(chengjigl.dfm)

成绩查询(chengjicha.dfm)

 

(4)系统流程图(DataFlowDiagram):

 

 

(5)数据库概念结构设计

(6)数据库逻辑结构设计

学生基本情况表:

字段名

数据类型

是否可空

说明

班级

文本

外关键字

学号

文本

主关键字

姓名

文本

性别

文本

出生年月

日期

籍贯

文本

联系电话

文本

联系地址

文本

班级情况表:

系名

文本

外关键字

班级

文本

关键字

主要教室

文本

辅导员

文本

系名

文本

外关键字

班级

文本

关键字

系表:

系名

文本

关键字

系办公室

文本

联系电话

文本

课程表:

课程号

文本

关键字

课程名

文本

班级

文本

外关键字

类别

文本

平均成绩表:

班级

文本

外关键字

学号

文本

关键字

姓名

文本

平均成绩

长整型

单科成绩表:

学号

文本

关键字

姓名

文本

课程号

文本

外关键字

课程名

文本

成绩

长整型

班级选课表:

班级

文本

组合关键字

课程号

文本

组合关键字

课程名

文本

学期

文本

组合关键字

 

(6)课程管理部分的代码:

选课管理:

begin

ComboBox1.Items.Append(adoquery1.FieldValues['系名']);//ComboBox1连到系表的系名字段

adoquery1.Next;

end;end;

procedureTForm11.ComboBox1Select(Sender:

TObject);

begin

adoquery2.Close;

adoquery2.SQL.Clear;

adoquery2.SQL.Add('select*fromclasswhere系名='+''''+ComboBox1.Text+'''');//查询系名是否符合

adoquery2.ExecSQL;

adoquery2.Open;

whilenotadoquery2.Eofdo

begin

ComboBox2.Items.Append(adoquery2.FieldValues['班级']);//符合就调用班级表的字段班级

adoquery2.Next;

end;

end;

procedureTForm11.ComboBox2Select(Sender:

TObject);

begin

adoquery4.Close;

adoquery4.SQL.Clear;

adoquery4.SQL.Add('select*fromkechengwhere班级='+''''+ComboBox2.Text+'''');//查询课程表中字段班级是否符合,符合就调到

adoquery4.ExecSQL;//DBgiid1

adoquery4.Open;

end;

procedureTForm11.ComboBox3Select(Sender:

TObject);

begin

adoquery4.Close;

adoquery4.SQL.Clear;

adoquery4.SQL.Add('select*fromkechengwhere班级='+''''+ComboBox2.Text+'''and学期='+''''+ComboBox3.Text+'''');//判断学期是否符合

adoquery4.ExecSQL;

adoquery4.Open;

end;

procedureTForm11.SpeedButton1Click(Sender:

TObject);

begin

whilenotadoquery4.Eofdo

begin

if(adoquery4.FieldValues['课程号']=adoquery3.FieldValues['课程号'])and(adoquery4.FieldValues['班级']=Combobox2.Text)and(adoquery4.FieldValues['学期']=Combobox3.Text)then

break;

adoquery4.Next;

end;

ifadoquery4.Eofthen

begin

adoquery4.Insert;//把选课内容添加到选课表中。

adoquery4.FieldValues['课程号']:

=adoquery3.FieldValues['课程号'];

adoquery4.FieldValues['班级']:

=Combobox2.Text;

adoquery4.FieldValues['课程名']:

=adoquery3.FieldValues['课程名'];

adoquery4.FieldValues['学期']:

=Combobox3.Text;

adoquery4.Post;

end

else

begin

showmessage('本课程此班级已经选过');//如果已经选过,弹出对话框“本课程此班级已经选过”

end;

end;

procedureTForm11.SpeedButton2Click(Sender:

TObject);

begin

ifnotadoquery4.Eofthen

adoquery4.Delete;

end;

end.

课程管理:

procedureTForm9.FormCreate(Sender:

TObject);

begin

ADOQuery3.Close;//关闭数据库

ADOQuery3.SQL.Clear;//清空

ADOQuery3.SQL.Add('select*fromkechengbiao');

ADOQuery3.ExecSQL;

ADOQuery3.Open;

dbedit1.DataField:

='课程号';

dbedit2.DataField:

='课程名';

dbedit3.DataField:

='课时';

dbedit4.DataField:

='学分';

//DBComboBox1.DataField:

='学期';

DBComboBox2.DataField:

='类型';

end;

procedureTForm9.SpeedButton1Click(Sender:

TObject);

begin

ifSpeedButton1.Caption='添加'then

begin

adoquery3.Insert;//添加到课程表

SpeedButton1.Caption:

='确定';

SpeedButton4.Enabled:

=true;

SpeedButton2.Enabled:

=false;

SpeedButton3.Enabled:

=false;

end

else

ifSpeedButton1.Caption='确定'then

begin

ifdbedit1.Text=''then

begin

showmessage('请输入课程号!

');//如果课程号没输入,弹出对话框

end

else

begin

adoquery3.Post;

SpeedButton1.Caption:

='添加';

SpeedButton4.Enabled:

=false;

SpeedButton2.Enabled:

=true;

SpeedButton3.Enabled:

=true;

end;

end;

end;

procedureTForm9.SpeedButton2Click(Sender:

TObject);

begin

ifadoquery3.Eofthen

begin

SpeedButton2.Enabled:

=false;

SpeedButton3.Enabled:

=false;

end;

ifSpeedButton2.Caption='删除'then

begin

SpeedButton2.Caption:

='确定';

SpeedButton4.Enabled:

=true;

SpeedButton1.Enabled:

=false;

SpeedButton3.Enabled:

=false;

end

else

begin

adoquery3.Delete;//从数据表中删掉所选记录

SpeedButton2.Caption:

='删除';

SpeedButton4.Enabled:

=false;

SpeedButton1.Enabled:

=true;

SpeedButton3.Enabled:

=true;

end;

end;

 

procedureTForm9.SpeedButton4Click(Sender:

TObject);

begin

adoquery3.Cancel;

SpeedButton1.Caption:

='添加';

SpeedButton2.Caption:

='删除';

SpeedButton3.Caption:

='修改';

SpeedButton4.Enabled:

=false;

SpeedButton1.Enabled:

=true;

SpeedButton2.Enabled:

=true;

SpeedButton3.Enabled:

=true;

end;

procedureTForm9.SpeedButton3Click(Sender:

TObject);

begin

ifSpeedButton3.Caption='修改'then

begin

adoquery3.Edit;//修改课程表中的记录

SpeedButton3.Caption:

='确定';

SpeedButton4.Enabled:

=true;

SpeedButton2.Enabled:

=false;

SpeedButton1.Enabled:

=false;

end

else

begin

adoquery3.Post;

SpeedButton3.Caption:

='修改';

SpeedButton4.Enabled:

=false;

SpeedButton2.Enabled:

=true;

SpeedButton1.Enabled:

=true;

end;

end;

procedureTForm9.Label1DblClick(Sender:

TObject);

begin

form11:

=tform11.Create(application);

form11.ShowModal;

end;

end.

课程查询部分:

procedureTform4.ComboBox1Select(Sender:

TObject);

begin

edit1.Text:

='';

button1.Enabled:

=false;

end;

procedureTform4.Button1Click(Sender:

TObject);

begin

ifCheckBox1.Checked=truethen

begin

ADOQuery1.Close;//先将数据库关闭

ADOQuery1.SQL.Clear;//清空ADOQuery1内的SQL值清空

ADOQuery1.SQL.Add('select*fromkechengwhere'+ComboBox1.text+'='+''''+edit1.Text+'''and学期='+''''+ComboBox2.Text+'''');//合并查询,符合的话在DBGrid中显示出来

ADOQuery1.ExecSQL;

ADOQuery1.Open;

end

else

begin

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select*fromkechengwhere'+ComboBox1.text+'='+''''+edit1.Text+'''');//单个条件查询

ADOQuery1.ExecSQL;

ADOQuery1.Open;

end;

end;

procedureTform4.N2Click(Sender:

TObject);

begin//开启其他管理界面

form2.show;

form4.Close;

end;

procedureTform4.N3Click(Sender:

TObject);

begin

form3.show;

form4.Close;

end;

procedureTform4.N4Click(Sender:

TObject);

begin

form5.show;

form4.Close;

end;

procedureTform4.N6Click(Sender:

TObject);

begin

form1.show;

form4.Close;

end;

procedureTform4.N7Click(Sender:

TObject);

begin

form4.Close;

end;

procedureTform4.Edit1KeyPress(Sender:

TObject;varKey:

Char);

begin

button1.Enabled:

=true;//当输入条件后,“确定”按钮为有效状态

end;

procedureTform4.CheckBox1Click(Sender:

TObject);

begin

ComboBox2.Enabled:

=CheckBox1.Checked;//把查询到的数据放在DBGrid上显示出来

end;

end.

 

四、学校学生管理信息系统的使用说明

本系统分为学生用户和管理用户,如果你不是管理员,那只能进行查询,对数据没有修改权力。

只能进行查询,里面有各个方面的,如成绩查询,课程查询,班级查询,学籍查询。

各个界面都简单明了,只要输入你所需要的条件,系统自动调出数据。

管理员登陆点系统,点系统,输入管理员用户及密码,跟数据库的用户表比较。

如果通过

则能进行课程,学籍,成绩,班级的管理。

 

五、结束语

学生信息管理系统有利于学校对学生资料的查询,具有可使用性和可维护性,利于学校在需要之时快速了解学生的情况。

并可以让具有最高权限的管理员更新、修改信息,已经具备了一定的功能。

但由于时间关系和其它原因,本系统还有些不足之处,如本系统没有实现报表打印的功能等等,还有待于完善。

在张波尔老师的指导下,经过一段时间的讨论和上机的不断调试,我顺利的完成了开发任务。

在开发过程中,我不仅增强了自学的能力和开发软件的能力。

对一些软件开发模式有了更加深刻的认识,对应用软件的熟练程度有所提高,已经能运用这项开发过程,学会了如何进行小组式的开发一个综合系统。

还从张老师身上学到了很多东西。

张老师认真负责的态度严谨治治学精神都使我收益非浅。

在此我特向给了很多指导和提供我们开发小组宝贵意见的张波尔老师表示感谢!

因为本系统所涉及的内容非常广泛并且比较复杂,加上时间的仓促,尽管我竭尽全力来保证系统的可靠性,但是肯定还有不足之处,恳请用户批评指正。

谢谢!

参考文献:

(1)Delphi6数据库系统开发实例子导航人民邮电出版社

(2)程序设计从入门到精通科学出版社

(3)Delphi6.0程序设计教程冶金工业出版社

(4)Delphi数据库开发自学教程人民邮电出版社

 

各模块主要代码

1、成绩管理模块

⑴成绩管理

procedureTForm8.Button1Click(Sender:

TObject);

var

i:

boolean;

begin

i:

=false;

ADOQuery2.Close;

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add('select*frompjcjwhere'+edit2.Text+'');

ADOQuery2.ExecSQL;

ADOQuery2.Open;

ifnotADOQuery2.Eofthen(判断是否数据库最后一项)

i:

=true;

ifithen

begin

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('select*fromdkcjwhere学号='+''''+ADOQuery2.FieldValues['学号']+'''');(使用SQL进行查询)

ADOQuery1.ExecSQL;

ADOQuery1.Open;

button1.Enabled:

=false;

end

else

begin

showmessage('没有符合查询条件的记录!

!

');(如果没有符合条ComboBox1.Text:

='';

ComboBox2.Text:

='';件的,显示该语句)

ComboBox3.Text:

='';

edit1.Text:

='';

edit2.Text:

='';

adoquery1.Close;

adoquery2.Close;

ComboBox1.Enabled:

=true;

end;

dbedit6.DataField:

='学号';

dbedit7.DataField:

='姓名';

dbedit8.DataField:

='班

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2