您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Delphi课设―学生信息管理系统
Chang’anUniversityDelphi高级编程双语课程设计报告题目:学生信息管理系统专业:电子信息工程班级:24030801学号:26姓名:李健指导教师:李珊珊张晓博日期:2011.6.20—2011.7.1一、课程设计目的:a)要求学生熟练掌握Delphi高级编程语言的基本知识和基本的编程技能;b)掌握结构化和面向对象程序设计的基本思路和方法;c)能够熟练应用常用的Delphi的组件,实现应用程序的编写、编译和发行。d)掌握大型应用开发的步骤;二、课程设计题目(问题)描述和要求:题目:学生信息管理系统本系统的主要功能是收集学生的个人信息,以便向教师提供每个学生在校的情况。系统的功能有:学生个人信息输入,包括:学号、姓名、性别、出生年月、籍贯、生源所在地等;学生流动情况的输入,包括:转系、休学、复学、退学、毕业;学生奖惩情况的输入;学生个人信息的查询和修改,包括流动情况和奖罚情况。基本要求:1)画出系统功能模块图;2)画出系统数据流程图;3)进行数据库设计,写出所设计的数据库表的结构;4)系统有友好的交互界面;5)记录信息的录入、插入、删除、修改、查询或排序;6)特定记录信息的输出显示(打印报表等)。7)注意程序的实用性、安全性;8)随时记录设计情况(备查,也为编写设计说明书作好准备);9)设计成果:设计说明书一份(附录:设计说明书格式及要求);源程序(能编译、正常运行)及其它相关文档。三、系统分析与设计:1、系统需求分析:数据分析:学生信息管理系统中需要以下数据:、学生的基本信息,包括:学号、姓名、性别、出生年月、籍贯、生源所在地、学生所受的奖惩情况。、学生的流动信息,包括:学号、姓名、转系情况、休学情况、复学情况、退学情况、毕业情况。、管理员的账号、密码信息。、用户的登录信息:用户名、密码。功能分析:学生信息管理系统需要完成以下功能:、学生基本信息的显示、查询、添加、删除和修改。、学生流动信息的显示、查询、添加、删除和修改。、用户登录密码的修改。、管理员用的创建、删除和管理员密码的修改。、学生登录后只能浏览、查询学生信息,和修改自己的密码,而学生信息的修改、删除和添加,需要管理员的账户和密码。、学生信息的报表生成。2、系统设计:总体框图:附加说明:数据管理模块只有拥有管理号和密码的管理员才能进入,并对学生数据进行添加、删除和修改等基本管理。在每个管理中有细分了对学生基本信息的管理和对学生流动信息的管理。另外在数据管理模块中还有创建新的管理员和删除已有管理员的功能项,但这些都是在可以进入数据管理界面的前提下进行的。3、数据库设计:数据库的E-R图,关联图和数据库表的结构:学生基本信息表:字段名称数据类型字段大小字段说明学号Char10不允许为空姓名Char10不允许为空性别Char10不允许为空出生年月Datatime10允许为空籍贯Char20允许为空生源所在地Char20允许为空奖惩情况Char30允许为空学生流动信息表:字段名称数据类型字段大小字段说明学号Char10不允许为空姓名Char10不允许为空转系情况Char30允许为空休学情况Char30允许为空复学情况Char30允许为空退学情况Char30允许为空毕业情况Char30允许为空登录信息表:字段名称数据类型字段大小字段说明学号Char10不允许为空密码Char10允许为空姓名Char10允许为空管理信息表:字段名称数据类型字段大小字段说明TeacherIdChar10不允许为空PasswdChar10允许为空NameChar10允许为空学生基本信息表:学生流动信息表:登录信息表:管理员信息表:系统主要代码分析:“登录”代码:procedureTForm1.Button1Click(Sender:TObject);beginquery1.Close;query1.SQL.Clear;query1.SQL.Add('select*fromuserswhere学号='+''''+edit1.Text+''''+'and'+'密码='+''''+edit2.Text+'''');//利用SQL语言从已建好的登录信息表—users中查询输入的用户名和密码是否已存在query1.Open;ifquery1.Eofthenbeginshowmessage('用户号或密码不正确');//若在users表中找不到输入的用户名和密码则提示!endelsebeginform1.Close;form2.showmodal;//若在users表中找到输入的用户名和密码则关闭当前页面转向主页面end;end;“查询”代码:procedureTForm7.Button1Click(Sender:TObject);beginwithform7.table1dobeginclose;indexfieldnames:=s;//定义字段名:学号或是姓名open;iffindkey([edit1.text])then//利用Findkey()在查找在表中是否存在输入的信息beginlabel2.Caption:='查找成功!';//若有则显示“查找成功!”并在下面的DBGrid中显示出来.endelsebeginShowMessage('查找失败!');label2.Caption:='';//若没有则提示“查找失败!”end;end;“添加”代码:procedureTForm9.Button1Click(Sender:TObject);beginifLength(Edit1.Text)=0thenshowmessage('请输入学号!')elseifLength(Edit7.Text)=0thenshowmessage('请输入学号!')//判断是否输入学号elseifLength(Edit2.Text)=0thenshowmessage('请输入姓名!')elseifLength(Edit8.Text)=0thenshowmessage('请输入姓名!')//判断是否输入姓名elseifEdit1.TextEdit7.Textthenshowmessage('两次输入学号不同,请重新输入!')elseifEdit2.TextEdit8.Textthenshowmessage('两次输入姓名不同,请重新输入!')//判断两次输入的信息是否相同elsebeginForm5.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;//关闭添加过信息的表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;Table3.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:='';Edit12.Text:='';Edit13.Text:='';Edit14.Text:='';Memo1.Text:='';showmessage('添加成功!')//信息添加完毕后清空所有Edit并提示成功信息end;end;“直接删除”代码:procedureTForm10.Button1Click(Sender:TObject);beginifLength(Edit1.Text)=0thenshowmessage('请输入要删除的学号!')//判断是否输入学号elsebeginForm5.Table1.Active:=False;Form5.Table1.ReadOnly:=False;Form5.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:='学号';ifForm5.Table1.FindKey([Edit1.Text])thenifForm6.Table1.FindKey([Edit1.Text])thenifTable3.FindKey([Edit1.Text])then//按设置的字段名查找表中是否存在beginifMessageDlg('你确定要删除吗?',mtConfirmation,[mbYes,mbNo],0)=mrYesthenbeginForm5.Table1.Delete;Form5.Table1.Active:=False;Form5.Table1.ReadOnly:=True;Form5.Table1.Active:=True;//若存在的删除表中相应信息并关闭表格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.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
本文标题:Delphi课设―学生信息管理系统
链接地址:https://www.777doc.com/doc-3868236 .html