delphi 课程设计.docx
《delphi 课程设计.docx》由会员分享,可在线阅读,更多相关《delphi 课程设计.docx(15页珍藏版)》请在冰点文库上搜索。
delphi课程设计
信息工程学院课程设计任务书
题目:
学生信息管理系统的设计与实现
学号:
姓名:
专业:
课程:
Delphi程序设计
指导教师:
燕孝飞职称:
讲师
完成时间:
2011年6月----2011年7月
枣庄学院信息科学与工程学院制
2011年7月10日
课程设计任务书及成绩评定
课程设计的任务和具体要求
本系统主要完成对学生各类信息的管理,包括录入、添加、修改、删除,查询,打印信息等方面。
系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。
系统的核心是添加、修改和删除三者之间的联系,每一个表的修改都将联动的影响其它的表,当完成添加或删除操作时系统会自动地完成学生成绩的修改。
指导教师签字:
日期:
指导教师评语
成绩:
指导教师签字:
日期:
课程设计所需软件、硬件等
Delphi软件鼠标键盘计算机打印机等
课程设计进度计划
起至日期
工作内容
备注
12.6——12.7
选题并完成开题报告,系统概要设计
12.7——12.8
界面设计,编码
12.10——12.15
内部模块测试
12.16——12.20
系统调试及试运行,完善程序系统
参考文献、资料索引
序号
文献、资料名称
编著者
出版单位
1](美)steveteixeira,xavierpacheco.Delphi6开发人员指南[M].北京:
电子工业出版社,2005.
[2]NedSnell.中文版MicrosoftOffice97自学通[M].北京:
机械工业出版社,2001.
[3]CraigEddy,TimothyBuchanan.中文Access200024学时教程[M].北京:
机械工业出版社,2003.
[4]王春红.Delphi7程序设计[M].北京:
清华大学出版社,北京交通大学出版社,2004.
[5]夏邦贵,郭胜.Delphi数据库开发入门与范例解析[M].北京:
机械工业出版社,2004.
[6]尹立民.Delphi6数据库开发典型实例[M].北京:
电子工业出版社,2002.
[7]东方人华.Delphi7入门与提高[M].北京:
清华大学出版社,2003.
[8]蒋方帅.Delphi程序设计[M].北京:
清华大学出版社,2002.
摘要:
本系统采用MicrosoftAccess做后台数据库,利用ADO技术对数据库进行访问,使用工具Delphi进行软件开发,能够对学校学生的信息信息,包括学生基本信息、学生成绩、学生课程等进行管理、输入、输出、查找的操作,使散乱的学籍能够具体化、直观化、合理化。
它适用于教育界,实现了对学生信息信息的科学化管理。
随着科学技术的发展,计算机领域不断取得新的研究成果。
计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在工业方面而且在日常生活中也越来越离不开计算机。
尤其是在学校里,要处理大量的学生数据。
在数字化的今天,为了加快学校学籍管理必须依靠计算机,以及使学校对学生数据的管理更加简单、到位,基于上述种种原因,开发一套学籍管理系统迫在眉捷,我结合本次毕业设计的题目开发了学籍管理系统。
本文是对基于计算机对学校里的大量数据进行加工并处理的研究。
本系统是在管理信息系统的理论和方法指导下、数据库技术支持下完成的。
本文在结构上首先论述了毕业设计选题的背景、目的和意义。
然后叙述了开发平台和数据库技术和各自的优点,接着用了较多篇幅阐述了系统的需求分析、总体设计、实现以及实施的任务、技术和工具。
最终系统能够完成信息的输入、输出,数据的修改、查询和统计以及打印报表等功能,使用户操作起来简便快捷。
因此,开发这样一套管理软件成为很有必要的事情。
系统管理主要功能:
1.学籍信息管理
2.班级信息管理
3.课程信息管理
4.成绩信息管理
(1)学籍信息管理
每年的大量新生入学,老生毕业都需要处理大量的学生信息。
通过这一模块,可以实现学生基本情况的添加、删除、更新。
还能查询各个学生的情况,姓名、家庭电话、家庭住址、学号等各个消息
(2)班级信息管理
实现班级的添加、删除、更新。
查询班级的所在系别,辅导员等。
(3)课程信息管理
每个学期都会增加一些新的科目,通过本模块可以轻松的添加以及更新课程。
可以根据
学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的选择,并对值的输入,可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作。
该项管理对课程的属性进行了具体化的分类,比如可以分辨是考试科还是考察课,而且根据条件的选择大大得提高了对各学期课程数据的记录操作,很大得帮助了教工们工作效率的提高。
(4)成绩信息管理
本模块实现了成绩的输入、删除、更新。
还能查询到平均成绩以及单科最高最低成绩以及个人成绩。
把成绩统计这个繁琐的工作简单化,为学生成绩的管理方面提高工作效率。
窗体设计:
班级管理(banjigl.dfm)
班级查询(banjicx.dfm)
学籍管理(xuejigl.dfm)
学籍查询(xuejicha.dfm)
课程管理(kechenggl.dfm)
课程查询(kechengcha.dfm)
成绩管理(chengjigl.dfm)
成绩查询(chengjicha.dfm)
系统流程图:
课程管理部分的代码:
选课管理:
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;
.
学校学生管理信息系统的使用说明:
本系统分为学生用户和管理用户,如果你不是管理员,那只能进行查询,对数据没有修改权力。
只能进行查询,里面有各个方面的,如成绩查询,课程查询,班级查询,学籍查询。
各个界面都简单明了,只要输入你所需要的条件,系统自动调出数据。
管理员登陆点系统,点系统,输入管理员用户及密码,跟数据库的用户表比较。
如果通过
则能进行课程,学籍,成绩,班级的管理。
运行界面截图:
总结:
学生信息管理系统有利于学校对学生资料的查询,具有可使用性和可维护性,利于学校在需要之时快速了解学生的情况。
并可以让具有最高权限的管理员更新、修改信息,已经具备了一定的功能。
但由于时间关系和其它原因,本系统还有些不足之处,如本系统没有实现报表打印的功能等等,还有待于完善。
在燕孝飞老师的指导下,经过一段时间的讨论和上机的不断调试,我顺利的完成了开发任务。
在开发过程中,我不仅增强了自学的能力和开发软件的能力。
对一些软件开发模式有了更加深刻的认识,对应用软件的熟练程度有所提高,已经能运用这项开发过程,学会了如何进行小组式的开发一个综合系统。
还从燕老师身上学到了很多东西。
张老师认真负责的态度严谨治治学精神都使我收益非浅。
在此我特向给了很多指导和提供给我宝贵意见的燕孝飞老师表示感谢!
因为本系统所涉及的内容非常广泛并且比较复杂,加上时间的仓促,尽管我竭尽全力来保证系统的可靠性,但是肯定还有不足之处,恳请用户批评指正。
谢谢!