版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Changan UniversityDelphi高级编程双语课程设计报告题 目: 学生信息管理系统专 业: 电子信息工程班 级: 学 号: 26姓 名: 李健指导教师: 李珊珊 张晓博日 期: 2011.6.202011.7.1一、 课程设计目的:a) 要求学生熟练掌握Delphi高级编程语言的基本知识和基本的编程技能;b) 掌握结构化和面向对象程序设计的基本思路和方法;c) 能够熟练应用常用的Delphi的组件,实现应用程序的编写、编译和发行。d) 掌握大型应用开发的步骤; 二、 课程设计题目(问题)描述和要求:题目:学生信息管理系统本系统的主要功能是收集学生的个人信息,以便向教师提供每个学
2、生在校的情况。系统的功能有: 学生个人信息输入,包括:学号、姓名、性别、出生年月、籍贯、生源所在地等; 学生流动情况的输入,包括:转系、休学、复学、退学、毕业; 学生奖惩情况的输入; 学生个人信息的查询和修改,包括流动情况和奖罚情况。 基本要求:1) 画出系统功能模块图;2) 画出系统数据流程图;3) 进行数据库设计,写出所设计的数据库表的结构;4) 系统有友好的交互界面;5) 记录信息的录入、插入、删除、修改、查询或排序;6) 特定记录信息的输出显示(打印报表等)。7) 注意程序的实用性、安全性;8) 随时记录设计情况(备查,也为编写设计说明书作好准备);9) 设计成果:设计说明书一份(附录
3、:设计说明书格式及要求);源程序(能编译、正常运行)及其它相关文档。三、 系统分析与设计:1、系统需求分析:数据分析:学生信息管理系统中需要以下数据:j、学生的基本信息,包括:学号、姓名、性别、出生年月、籍贯、生源所在地、学生所受的奖惩情况。k、学生的流动信息,包括:学号、姓名、转系情况、休学情 况、复学情况、退学情况、毕业情况。 l、管理员的账号、密码信息。 m、用户的登录信息:用户名、密码。功能分析:学生信息管理系统需要完成以下功能: j、学生基本信息的显示、查询、添加、删除和修改。 k、学生流动信息的显示、查询、添加、删除和修改。 l、用户登录密码的修改。 m、管理员用的创建、删除和管理
4、员密码的修改。 n、学生登录后只能浏览、查询学生信息,和修改自己的密码,而学生信息的修改、删除和添加,需要管理员的账户和密码。 o、学生信息的报表生成。2、系统设计: 总体框图:附加说明:数据管理模块只有拥有管理号和密码的管理员才能进入,并对学生数据进行添加、删除和修改等基本管理。在每个管理中有细分了对学生基本信息的管理和对学生流动信息的管理。另外在数据管理模块中还有创建新的管理员和删除已有管理员的功能项,但这些都是在可以进入数据管理界面的前提下进行的。3、数据库设计:数据库的ER图,关联图和数据库表的结构:学生基本信息表:字段名称数据类型字段大小字段说明学号Char10不允许为空姓名Char
5、10不允许为空性别Char10不允许为空出生年月Datatime10允许为空籍贯Char20允许为空生源所在地Char20允许为空奖惩情况Char30允许为空学生流动信息表:字段名称数据类型字段大小字段说明学号Char10不允许为空姓名Char10不允许为空转系情况Char30允许为空休学情况Char30允许为空复学情况Char30允许为空退学情况Char30允许为空毕业情况Char30允许为空登录信息表:字段名称数据类型字段大小字段说明学号Char10不允许为空密码Char10允许为空姓名Char10允许为空管理信息表:字段名称数据类型字段大小字段说明TeacherIdChar10不允许为空
6、PasswdChar10允许为空NameChar10允许为空学生基本信息表:学生流动信息表:登录信息表:管理员信息表:系统主要代码分析: “登录”代码: procedure TForm1.Button1Click(Sender: TObject);begin query1.Close; query1.SQL.Clear; query1.SQL.Add(select * from users where 学号=+edit1.Text+and +密码=+edit2.Text+ ); /利用SQL语言从已建好的登录信息表users中查询输入的用户名和密码是否已存在 query1.Open; if q
7、uery1.Eof then begin showmessage(用户号或密码不正确); /若在users表中找不到输入的用户名和密码则提示! end else begin form1.Close; form2.showmodal; /若在users表中找到输入的用户名和密码则关闭当前页面转向主页面 end; end;“查询”代码:procedure TForm7.Button1Click(Sender: TObject); begin with form7.table1 dobeginclose;indexfieldnames:=s; /定义字段名:学号或是姓名open;if findkey
8、(edit1.text) then /利用Findkey()在查找在表中是否存在输入的信息begin label2.Caption:=查找成功!; /若有则显示“查找成功!”并在下面的DBGrid中显示出来. end else begin ShowMessage(查找失败!); label2.Caption:=; /若没有则提示“查找失败!” end;end;“添加”代码:procedure TForm9.Button1Click(Sender: TObject);beginif Length(Edit1.Text)=0 thenshowmessage(请输入学号!)elseif Length
9、(Edit7.Text)=0 thenshowmessage(请输入学号!) /判断是否输入学号elseif Length(Edit2.Text)=0 thenshowmessage(请输入姓名!)elseif Length(Edit8.Text)=0 thenshowmessage(请输入姓名!) /判断是否输入姓名elseif Edit1.TextEdit7.Text thenshowmessage(两次输入学号不同,请重新输入!)elseif Edit2.TextEdit8.Text thenshowmessage(两次输入姓名不同,请重新输入!) /判断两次输入的信息是否相同elseb
10、eginForm5.Table1.Active:=False;Form5.Table1.ReadOnly:=False;Form5.Table1.Active:=True; /将要添加信息的表打开Form5.Table1.InsertRecord(Edit1.Text,Edit2.Text, Edit3.Text,Edit4.Text,Edit5.Text,Edit6.Text,Memo1.Text); /向表中添加记录Form5.Table1.Active:=False;Form5.Table1.ReadOnly:=True;Form5.Table1.Active:=True; /关闭添加过
11、信息的表Form6.Table1.Active:=False;Form6.Table1.ReadOnly:=False;Form6.Table1.Active:=True;Form6.Table1.InsertRecord(Edit7.Text,Edit8.Text,Edit9.Text,Edit10.Text,Edit11.Text,Edit12.Text,Edit13.Text);Form6.Table1.Active:=False;Form6.Table1.ReadOnly:=True;Form6.Table1.Active:=True;Table3.Active:=False;Tabl
12、e3.ReadOnly:=False;Table3.Active:=True;Table3.InsertRecord(Edit1.Text,Edit14.Text,Edit2.Text);Table3.Active:=False;Table3.ReadOnly:=True;Table3.Active:=True;Edit1.Text:=;Edit2.Text:=;Edit3.Text:=;Edit4.Text:=;Edit5.Text:=;Edit6.Text:=;Edit7.Text:=;Edit8.Text:=;Edit9.Text:=;Edit10.Text:=;Edit11.Text:
13、=;Edit12.Text:=;Edit13.Text:=;Edit14.Text:=;Memo1.Text:=;showmessage(添加成功!) /信息添加完毕后清空所有Edit并提示成功信息end;end;“直接删除”代码:procedure TForm10.Button1Click(Sender: TObject);beginif Length(Edit1.Text)=0 thenshowmessage(请输入要删除的学号!) /判断是否输入学号elsebeginForm5.Table1.Active:=False;Form5.Table1.ReadOnly:=False;Form5
14、.Table1.Active:=True; /打开要删除数据的表格Form5.Table1.IndexFieldNames:=学号; /设置字段名Form6.Table1.Active:=False;Form6.Table1.ReadOnly:=False;Form6.Table1.Active:=True;Form6.Table1.IndexFieldNames:=学号;Table3.Active:=False;Table3.ReadOnly:=False;Table3.Active:=True;Table3.IndexFieldNames:=学号;if Form5.Table1.FindK
15、ey(Edit1.Text) thenif Form6.Table1.FindKey(Edit1.Text) thenif Table3.FindKey(Edit1.Text) then /按设置的字段名查找表中是否存在beginif MessageDlg(你确定要删除吗?,mtConfirmation,mbYes,mbNo,0)=mrYes thenbeginForm5.Table1.Delete; Form5.Table1.Active:=False;Form5.Table1.ReadOnly:=True;Form5.Table1.Active:=True; /若存在的删除表中相应信息并关
16、闭表格Form6.Table1.Delete;Form6.Table1.Active:=False;Form6.Table1.ReadOnly:=True;Form6.Table1.Active:=True;Table3.Delete;Table3.Active:=False;Table3.ReadOnly:=True;Table3.Active:=True;Edit1.Text:=;endelsebeginForm5.Table1.Active:=False;Form5.Table1.ReadOnly:=True;Form5.Table1.Active:=True;Form6.Table1.
17、Active:=False;Form6.Table1.ReadOnly:=True;Form6.Table1.Active:=True;Table3.Active:=False;Table3.ReadOnly:=True;Table3.Active:=True; /关闭表格end;endelsebeginTable3.Active:=False;Table3.ReadOnly:=True;Table3.Active:=True; /关闭表格endelsebeginForm6.Table1.Active:=False;Form6.Table1.ReadOnly:=True;Form6.Table
18、1.Active:=True; /关闭表格endelsebeginshowmessage(没有记录!);Form5.Table1.Active:=False;Form5.Table1.ReadOnly:=True;Form5.Table1.Active:=True; /若在表中没有查到则提示“没有记录”,并关闭表格end;end;end;“浏览删除”代码:beginTable1.IndexFieldNames:=teacherid;Table2.IndexFieldNames:=学号;if Table1.FindKey(DBEdit1.Text) thenif Table2.FindKey(D
19、BEdit1.Text) then /设置要查找的关键字段名beginif MessageDlg(你确定要删除吗?,mtConfirmation,mbYes,mbNo,0)=mrYes thenbeginTable1.Delete;Table2.Delete; /在表中找到该字段名则删除相应数据endelsebeginend;end;end;“修改”代码:procedure TForm11.Button4Click(Sender: TObject);beginTable1.Edit; /是表格处于可以编辑的状态Table1.Post; /将修改后的信息添加到原来的表中Form5.Table1.
20、Refresh; /更新修改后表的信息以便于显示DBEdit1.ReadOnly:=True;DBEdit2.ReadOnly:=True;DBEdit3.ReadOnly:=True;DBEdit4.ReadOnly:=True;DBEdit5.ReadOnly:=True;DBEdit6.ReadOnly:=True;DBMemo1.ReadOnly:=True;showmessage(修改成功!)end;四、 系统调试出现的问题及解决方法: 1、每次调试后要运行看看效果时,总是提示无法创建工程。 解决方法:打开任务管理器在其中会找到还在运行的工程,结束进程后就可以再次运行了。 2、按照书
21、本上的删除程序完成删除功能后,实验时总是跳到数据表的第一项删除。 解决方法:按照书上的程序在每次调用表的时候都要打开表,结束后关闭表。 五、 系统运行报告: 实现功能的展示 用户登录界面: 说明:所有拥有登录号码和密码的用户都可以登录,包括学生和老师。 例:学生用户名和密码: 26 管理员用户和密码:01 10主界面:说明:系统中包括数据显示、数据查询、数据管理和打印报表等功能,另外菜单项下有修改登录密码和管理员密码的选项。学生基本信息显示:学生流动信息显示:学生基本信息查询:说明:学生信息查询可以按学号和按姓名查询,下面的学生流动信息查询也是一样。学生流动信息查询:生成的基本信息表:生成流动
22、信息表:菜单中修改密码的界面:管理员登录界面:数据管理主界面:说明:数据管理中包括学生信息数据的添加、删除和修改,另外在菜单中还有新建管理员和删除已有管理员的功能。添加数据界面:删除数据界面:数据修改界面:窗体名称:窗体名称:对应名称:Form1用户登录界面Form2系统的主界面Form3管理员登录界面Form4数据管理主界面Form5学生基本信息显示界面Form6学生流动信息显示界面Form7学生基本信息查询界面Form8学生流动信息查询界面Form9学生信息添加界面Form10学生信息删除界面Form11学生信息修改界面Form17修改登录密码界面Form18修改管理密码界面Form19新建管理员界面Form20删除管理员界面FrmBaoBiao1学生基本信息的报表FrmBaoBiao2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年工程勘察设计行业知识管理现状
- 2026年增强现实(AR)广告互动体验设计
- 2026年PMO如何引入并推广项目管理工具
- 胸痹护理应急预案与演练
- 战略地图绘制与战略评估合同协议
- 2026届高考作文话题预测及主题素:诗意的生命
- 2026年平安建设工作基础知识手册
- 聚焦战略2026年数据共享协议
- 2026年民族服饰与特殊面料清洗技术培训
- 线上企业培训平台运营合同
- 【答案】《以案说法》(中南财经政法大学)章节作业慕课答案
- 云南省2025年普通高中学业水平合格性考试历史试题
- 小小科学家《物理》模拟试卷A(附答案)
- 如何加快发展新质生产力
- 四川省安全员《A证》考试题库及答案
- 雷达探测介绍课件
- 易普拉格科研管理系统
- 成品仓年终总结
- GB/T 39844-2021可靠性增长统计试验和评估方法
- GB/T 20641-2014低压成套开关设备和控制设备空壳体的一般要求
- GB/T 13454.2-2013塑料粉状三聚氰胺-甲醛模塑料(MF-PMCs)第2部分:试样制备和性能测定
评论
0/150
提交评论