学生信息管理系统毕业设计_第1页
学生信息管理系统毕业设计_第2页
学生信息管理系统毕业设计_第3页
学生信息管理系统毕业设计_第4页
学生信息管理系统毕业设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、毕业设计任务书学生姓名 学号060223f01029班级计算机应用班指导教师姓名 职称副教授、助教课题名称学生信息管理系统设计任务1、 用户登录、用户管理和密码修改功能;2、 信息输入、浏览、修改、删除和查询功能;3、 数据库备份和还原功能。设计环境条件1、 后台数据库:access2000或者 sql server 20002、 数据库开发工具:delphi 7完成形式1、 提交设计文档。文档的内容至少包含需求分析、总体设计(即系统层次模块图、模块设计和数据库设计)和详细设计(项目文件及主界面设计和各个模块设计),最后总结。2、 提交程序。程序能运行(附加光盘)。摘要本系统是一个单机的学生信

2、息管理系统。它具有录入、查询和修改信息的功能,并且形象直观、简洁易用,但该系统没有用户权限的设置。本系统采用delphi7作为开发工具,object pascal为开发语言,采用access建立后台数据库,先在access中设计并制作各部分需要调用的数据库,并进行初始数据的输入,再进行delphi7工程中界面的设计和事件代码的编写。access作为该系统后台数据库的设计软件,具有设计简单,使用方便的特点,通过adoconnection就可进行数据库的连接。该系统主要用到的组件有:dbedit、adotable、datasource、dbgrid、dbnavigator、text、dbmemo、

3、dbradiogroup、radiogroup等。dbgrid用于产生数据表格,导入数据库中的表,dbnavigator是用来对记录进行查看、浏览等操作。其他一些如dbtext、dbmemo、dblookupcombobox等都是数据库感知组件,可进行数据库的连接。本系统的最大特点是所有的数据表的关联都是通过组件的属性设置(adotable的 mastersource、masterfeild属性,dbtext等数据库感知组件的datasource、datafeild)加上sql语句来完成。本系统在设计过程中,事件程序代码的编写十分重要。但界面属性设置也很重要,特别是涉及到表的查询时的属性设置。

4、关键词 学生信息 查询 修改 删除 用户管理 身份登录目录第一章 需求分析31.1功能分析31.2 性能需求31.3 运行要求32.1 功能模块划分42.3 数据库设计5第三章 详细设计73.1 系统项目文件和公共文件73.2 主界面设计:main.pas73.3公共模块:data.pas93.4用户登录窗体模块:login.pas103.5用户管理模块的窗体设计:user.pas133.6 密码修改模块的窗体设计:passwordchange.pas163.7添加 /修改/删除学生信息模块的窗体设计:19添加学生信息模块的窗体设计:xinxiadd.pas19学生信息修改:xinxichan

5、ge.pas.21学生信息删除:xinxidel.pas.233.8姓名查询模块的窗体设计:frmnamechaxun243.9学号查询模块的窗体设计:frmxuehaochaxun263.10 数据管理设计273.11帮助文件的设计和调用29总结30参考文献 30致谢31第一章 需求分析学生管理系统是一个管理学生信息的应用程序,它维护着一个数据库,存储着学生信息、用户信息等。delphi程序负责对数据库进行输入和输出的维护。主要功能包括学生信息管理、用户管理和学生信息查询等功能。1.1功能分析 1、系统管理模块:系统管理模块为我们提供学生信息的管理功能.我们可以对其信息进行进行添加、删除、修

6、改等操作。 添加:添加新的管理用户。 删除:删除已经存在的管理用户。 修改:更改已经存在管理用户权限、密码等。 2、学生管理模块:学生管理模块提供学生信息管理功能。我们可以对学生信息进行添加、删除、修改等操作。 添加:录入新的学生信息,在添加新学生信息候应填写完整的信息。 删除:删除已有的学生信息。 修改:更改有的学生信息。3、信息查询模块:信息查询模块提供查询当前学生的功能。我们可以方便、快速地查询到想要的学生信息。 按姓名:根据所输入的姓名条件,查询相应的学生资料。 按学号:根据所输入的学号条件,查询相应的学生资料。 4、数据库管理:对现有数据库进行备份和还原操作。 5、用户管理:新增、删

7、除、更新用户。 6、密码修改:修改用户的密码。1.2 性能需求 硬件环境需求:ibm兼容机,具有80486 50mhz以上的处理器。 32mb以上的内存。 足够的硬盘空间。 软件环境需求:windows xp,access2000,delphi 7。1.3 运行要求 系统属于软件系统,代码使用delphi编码,数据库管理系统采用access2000 数据库管理系统,运行在windows系统下。第二章 总体设计 2.1 功能模块划分2.2系统流程图2.3 数据库设计 本系统是通过对象模型ado来访问数据库。采用microsoft access为后台数据库。根据系统功能设计的要求以及功能的划分,对

8、于系统用户数据库(名称:student)包含下列数据表。1、数据表名称:管理表 数据来源:用户管理模块,密码修改模块和用户登录模块. 表结构: 2、 数据表名称:学生表 数据来源:添加/修改用户组界面模块、添加用户组模块、修改用户组界面。 表结构: 第三章 详细设计 根据已经有的需求信息和总体设计,可以进行系统的详细设计和实现.为此,建立一个delphi 工程.系统设计和实现如下:3.1 系统项目文件和公共文件 1、项目文件:studentmis.pas3.2 主界面设计:main.pas主界面主要实现对模块的调用和显示工作,本系统的主界面提供了菜单和按钮两种调用各个子模块方式,主要工作如下:

9、1、设计好菜单和各个组件的布局2、设置各个菜单和组件的属性。3、给出各个菜单和组件的name值。4、设计各个功能模块的空白窗体,定好窗体名(name值)5、在主界面添加显示各个窗体模块的代码。6、调试运行主界面。 主界面添加显示各个窗体模块显示状态栏的代码如下:var frmmain: tfrmmain; userstr:string; date:string; time:string;implementationuses data,login, namechaxun,xuehaochaxun, xinxiadd, xinxichage, xinxidel, passwordchange,us

10、er;$r *.dfmprocedure tfrmmain.formshow(sender: tobject);begin application.createform(tfrmlogin,frmlogin); frmlogin.showmodal; frmlogin.free;end;procedure tfrmmain.nxingmingclick(sender: tobject);beginfrmnamechaxun.show;end; 。详情请看光盘。procedure tfrmmain.ncloseclick(sender: tobject);beginapplication.ter

11、minate;end;procedure tfrmmain.nxinxiaddclick(sender: tobject);begin frmxinxiadd.show;end;procedure tfrmmain.nxinxichageclick(sender: tobject);begin frmxinxichange.show;end;procedure tfrmmain.nxinxidelclick(sender: tobject);begin frmxinxidel.show;end;procedure tfrmmain.npasswordclick(sender: tobject)

12、;begin frmpasswordchange.show;end;procedure tfrmmain.nuserclick(sender: tobject);beginif frmuser=nil then frmuser:=tfrmuser.create(nil); frmuser.showmodal;end;end.。详情请看光盘。3.3公共模块:data.pas公共模块图如下: 创建方法:filenewdata module所有组件及其属性:组件name属性adoconnetionadoconnetionstringd(与后台的access数据库连接)adoqueryaqconnet

13、ion(ado)3.4用户登录窗体模块:login.pas组件及其属性表组件name值itemsflat学生管理系统用户登录frmlogincomboboxcmbusername管理员、用户editedtpasswordspeedbuttonspeedbutton1true功能:用户身份验证输入:用户名和密码处理:1、用户登录窗体启动;2、从操作人员表中读取操作人员的名称信息,并写入用户名下拉框中,以方便登录。3、用户选择用户名并输入密码。4、从操作人员表中检查是否有相应的用户名和密码。5、如果用户名或密码错误,进行提示,并被3次登录机会。6、如果输入的用户名和相应的密码正确,则根据该用户的权

14、限类别进行权限设置。7、进入主界面。 用户登录模块的窗体设计。 用户登录模块的代码添加。 (1)该单元使用其他单元文件:data,main (2)其他代码和事件代码添加。代码如下 : 单击【确定】按钮,判断密码框里的内容是否与数据库里设置的密码一致,如果一致就进入管理主界面,否则退出系统。代码如下:procedure tfrmlogin.button1click(sender: tobject);begin with dm.aq do begin close; sql.clear; sql.add(select * from 管理表 where username=:a and password

15、=:b); parameters.parambyname(a).value:=cmbusername.text; parameters.parambyname(b).value:=edtpassword.text; open; end; if dm.aq.recordcount0 then begin userstr:=dm.aq.fieldbyname(username).asstring; close; if dm.aq.fieldbyname(class).asinteger=0 then begin frmmain.nxuehao.enabled:=true; frmmain.nxin

16、gming.enabled:=true; frmmain.bbtnxingming.enabled:=true; frmmain.bbtnxuehao.enabled:=true; frmmain.nxuehao.enabled:=true; frmmain.nxinxiadd.enabled:=true; frmmain.nxinxichage.enabled:=true; frmmain.nxinxidel.enabled:=true; frmmain.npassword.enabled:=true; frmmain.nbeifen.enabled:=true; frmmain.nhuan

17、yuan.enabled:=true; frmmain.nuser.enabled:=true; frmmain.sbadd.enabled:=true; frmmain.sbdel.enabled:=true; frmmain.sbuser.enabled:=true; frmmain.sbpassword.enabled:=true; end; 。详情请见光盘 if dm.aq.fieldbyname(class).asinteger=1 then begin frmmain.nxuehao.enabled:=true; frmmain.nxingming.enabled:=true; f

18、rmmain.bbtnxingming.enabled:=true; frmmain.bbtnxuehao.enabled:=true; frmmain.nxuehao.enabled:=true; frmmain.nxinxiadd.enabled:=true; frmmain.nxinxichage.enabled:=true; frmmain.nxinxidel.enabled:=true; end; if dm.aq.fieldbyname(class).asinteger=1 then begin end; else begin application.messagebox(对不起,

19、您无权使用本系统。,提示,0+64); application.terminate ;。详情请见光盘 end; end;end;end.3.5用户管理模块的窗体设计:user.pas组件及其属性表组件captionname值passwordchar其他属性form用户管理frmusercomboboxcombobox1dbeditdbedit1*dbeditdbedit2dmraiogroupdmraiogroup1itemsline1:0line2:1lable说明:0:为管理员 1:为用户lable3datasourcedatasource1dataset为atadotableatconn

20、etion为dm。adodbgriddbgrid1datasource为datasource1button添加sbaddbutton修改sbchangebutton删除sbdelbutton保存sbsavebutton取消speedbutton1button退出sbquit功能 :负责对操作人员基本信息的建立,对操作人员的权限进行基本维护,不同权限的操作人员使用的模块不一样。功能树:用户管理添加新的操作人员编辑操作人员权限删除指定操作人员修改删除添加添加新的操作人员的处理1、点击添加按钮。2、输入用户名称、密码等用户信息,设置权限类别。3、点击保存按钮,保存操作4、完成对数据库中操作人员表的相

21、应操作。修改操作人员信息的处理1、选择要编辑的用户,点击修改按钮。2、修改相应的用户信息3、点击保存按钮,保存操作4、完成对数据库中操作人员表的相应操作。删除指定操作人员的处理1、选择要删除的用户。2、点击删除按钮,弹出个提示,点击“ok”删除,点击“cancel”则取消。3、完成对数据库中操作人员表的相应操作。用户管理模块的代码添加1、该单元使用其他单元文件:data,main2、对变量date进行定义:date:string;3、其他代码和事件代码添加。4、该模块使用了其他的函数: 双击删除按钮代码如下: procedure tfrmuser.sbdelclick(sender: tobj

22、ect);beginif messagedlg(确实要删除当前记录吗?,mtinformation,mbok,mbcancel,0)=mrok then at.delete;end;双击添加按钮代码如下:procedure tfrmuser.sbaddclick(sender: tobject);if at.canmodify thenbegindbedit1.setfocus;at.append;endelse showmessage(添加用户失败!);end; 。详情请见光盘双击修改按钮代码如下:procedure tfrmuser.sbchangeclick(sender: tobjec

23、t);if at.canmodify thenbegin dbedit1.enabled:=true; sbsave.enabled:=true; at.edit; 。详情请见光盘procedure tfrmuser.speedbutton1click(sender: tobject);beginif at.canmodify then at.cancel; sbadd.enabled:=true;end;双击保存按钮代码如下:procedure tfrmuser.sbsaveclick(sender: tobject);if at.canmodify thenbegin at.post; s

24、badd.enabled:=true; sbchange.enabled:=true; sbsave.enabled:=false; dbedit1.enabled:=false; showmessage(用户保存成功!);endelsebegin showmessage(当前数据不能保存);end; 。详情请见光盘end.双击保存按钮代码如下:procedure tfrmuser.sbquitclick(sender: tobject);beginclose;end;3.6 密码修改模块的窗体设计:passwordchange.pas组件及其属性表组件captionname值password

25、charform密码修改frmpasswordchangecomboboxcombobox1editedit1*editedit2*editedit3*button确定button1button取消button2 功能:用来修改用户密码 处理过程:1、选择用户名2、输入原来的密码3、输入新密码4、再次输入新密码5、确认,完成对数据库中操作人员表的相应操作 密码修改模块的代码添加1、该单元使用其他单元文件:data,main2、其他代码和事件代码添加。 在该窗体的onactivate事件中添加代码如下:procedure tfrmpasswordchange.formactivate(sende

26、r: tobject);begin combobox1.clear; try with dm.aq do begin close; sql.clear;待添加的隐藏文字内容2 sql.add(select username from 管理表 ); messagedlg(连接数据库出错!,mterror,mbok,0); end; end;procedure tfrmpasswordchange.edit1exit(sender: tobject);begin with dm.aq do begin close; sql.clear; sql.add(select * from 管理表 wher

27、e username=:a); parameters.parambyname(a).value := trim(combobox1.text) ; open; end; if dm.aq.recordcount 0 then if edit1.textdm.aq.fieldbyname(password).asstring then begin messagedlg(原密码不正确,请重新输入,mterror,mbok,0); edit1.text:=; edit1.setfocus; end else edit2.setfocus;end;。详情请见光盘end; 双击【确定】按钮,添加如下代码

28、:procedure tfrmpassword.speedbutton1click(sender: tobject);beginwith dm.aq do begin close; sql.clear; sql.add(select * from 管理表 where username=:a); parameters.parambyname(a).value := trim(combobox1.text) ; open; end; if dm.aq.recordcount 0 then if edit2.textedit3.text then begin messagedlg(两次输入的秘密不一

29、致,请重新输入,mterror,mbok,0); end else begin dm.aq.edit; dm.aq.fieldbyname(password).asstring:=edit2.text; dm.aq.post; showmessage(密码修改成功); cus; end;。详情请见光盘end; 双击【取消】按钮,添加如下代码:procedure tfrmpassword.speedbutton2click(sender: tobject);beginclose;end; 3.7添加 /修改/删除学生信息模块的窗体设计: 添加学生信息模块的窗体设计:xinxiadd.pas组件及

30、其属性表组件captionname值passwordcharform学生信息添加frmadd1button添加sbaddbutton保存sbsavebutton取消sbcancelbutton退出sbquitdatasourcedatasource1dataset(atxinxiadd)dbeditdbedit1-8dbedit1-8datasource(datasource1)adotableatconnection(dm.ado)active(true) 功能:添加新的分组或对相应的分组信息进行修改、删除操作。 处理过程:l 该单元使用其他单元文件: data,main; 双击添加按钮,添

31、加如下代码:procedure tfrmxinxiadd.sbaddclick(sender: tobject);beginlabel9.caption:=请输入学生的信息;if atxinxiadd.canmodify then atxinxiadd.append; sbadd.enabled:=false; sbsave.enabled:=true;begin。详情请见光盘双击保存按钮,添加如下代码:procedure tfrmxinxiadd.sbsaveclick(sender: tobject);beginsbsave.enabled:=true;if atxinxiadd.canm

32、odify thenatxinxiadd.post; sbadd.enabled:=true; showmessage(添加成功!); sbadd.enabled:=false; end else showmessage(当前数据库不能保存!);end;。详情请见光盘双击取消按钮,添加如下代码:procedure tfrmxinxiadd.sbcancelclick(sender: tobject);beginif atxinxiadd.canmodify thenbeginatxinxiadd.cancel; sbadd.enabled:=true; sbsave.enabled:=fals

33、e;end;。详情请见光盘双击退出按钮,添加如下代码:procedure tfrmxinxiadd.sbquitclick(sender: tobject);beginclose;end;end. 学生信息修改:xinxichange.pas 学生信息修改的界面如图:组件及其属性表组件captionname值datasourcedatafieldform学生信息修改frmxinxichangedbeditdbedit1-6datasource与前面的lable相对应dbmemodbmemo1datasource奖罚情况dbimagedbimage1datasource相片bitbtn修改sbc

34、hangebitbtn保存sbsavebitbtn取消sbcancelbitbtn退出sbquitdatasourcedatasource1dataset(at)adotableatconnection (dm.ado)true(active)select * from user_type(sql) 该单元使用其他单元文件:data,main在主界面上双击【修改】按钮,其代码如下:procedure tfrmxinxichange.sbchangeclick(sender: tobject);beginif atxinxichange.canmodify thenend;。详情请见光盘end;

35、在主界面上双击【保存】按钮,其代码如下:procedure tfrmxinxichange.sbsaveclick(sender: tobject);beginsbsave.enabled:=true;if atxinxichange.canmodify then。详情请见光盘end;在主界面上双击【取消】按钮,其代码如下:procedure tfrmxinxichange.sbcancelclick(sender: tobject);beginif atxinxichange.canmodify then。详情请见光盘end;在主界面上双击【退出】按钮,其代码如下:procedure tfr

36、mxinxichange.sbquitclick(sender: tobject);beginclose;end;学生信息删除:xinxidel.pas学生信息删除的界面如下图: 组件及其属性表组件captionname值datasourcedatafieldform添加用户组frmtianjiauserdbeditdbedit1-6datasource1与前面的lable相对应dbmemodbmemodatasource1奖罚情况dbimagedbimagedatasource1相片dbgriddbgrid1datasource1bitbtn删除sbchangebitbtn退出sbquitd

37、atasourcedatasource1dataset (atxinxidel)tadoquety atxinxidelconnection ( dm.ado)active(true) 该单元使用其他单元文件:data,main在弹出“学生信息删除”界面后,单击【退出】按钮,退出该界面;代码如下:procedure tfrmxiugaiuser.bitbtn1click(sender: tobject);beginclose;end;对学生信息进行删除操作。在这里,将会提示您是否真的要删除该用户组,单击【确定】按钮将删除用户组信息。在主界面上单击【删除】按钮,然后输入代码,其代码如下: pro

38、cedure tfrmxinxidel.sbdelclick(sender: tobject);begin if messagedlg(确实要删除当前记录吗?,mtinformation,mbok,mbcancel,0)=mrok then atxinxidel.delete;end;3.8姓名查询模块的窗体设计:frmnamechaxun组件及其属性表组件captionname值datasourceform姓名查询frmnamechaxunbutton查询button1button退出button2true(flat)datasourcedatasource1dataset(aqname)d

39、bgriddbgrid1datasource1adoqueryaqnameconnection (dm.ado)active (true)u 功能:方便大家查找到要找的用于成员信息。u 输入:在文本框中输入所要查找的学的姓名。u 处理:1、启动姓名查询窗体。2、在文本框中输入所要查找的学生姓名。3、用户进行查找和退出工作。u 输出:显示查询出来的成员信息。u 该单元使用的其他单元文件:data,main;u 姓名查询模块的主要代码: 在【查询】按钮中添加如下代码:procedure tfrmnamechaxun. button1click(sender: tobject);beginaqnam

40、e.close;aqname.sql.clear;aqname.sql.text:= select * from 学生表 where 姓名= +edit1.text+ ;aqname.open;。详情请看光盘。end;在【退出】按钮中添加如下代码:procedure tfrmnamechaxun. button2click(sender: tobject);beginclose;end;3.9学号查询模块的窗体设计:frmxuehaochaxun组件及其属性表组件captionname值datasourceform学号查询frmxuehaochaxunbutton查询button1button

41、退出button2datasourcedatasource1datase(aqxuehao)dbgriddbgrid1datasource1tadoqueryaqxingmingconnection (dm.ado)active (true)u 功能:方便大家查找到要找的用于成员信息。u 输入:在文本框中输入所要查找的成员学号。u 处理:1、启动学号查询窗体。2、在文本框中输入所要查找的成员学号。3、用户进行查找和退出工作。u 输出:显示查询出来的成员信息。u 该单元使用的其他单元文件:data,main;u 学号查询模块的主要代码: 在【查询】按钮中添加如下代码:procedure tfrm

42、xuehaochaxun.button1click(sender: tobject);aqxuehao.close;aqxuehao.sql.clear;aqxuehao.sql.text:=select * from 学生表 where 学号=+edit1.text+;aqxuehao.open;在【退出】按钮中添加如下代码:procedure tfrmxuehaogchaxun. button2click(sender: tobject);beginclose;end;3.10 数据管理设计数据管理包括数据库备份和数据库还原工作,通过这些工作来维护数据库的安全和高效。 数据库备份的代码:p

43、rocedure tfrmmain.nbeifenclick(sender: tobject);var dbname,dbsourcename: string;beginif dm.ado.connected = true then dm.ado.connected := false; dbname := extractfilepath(application.exename)+ datastudent.bak; dbsourcename:=extractfilepath(application.exename)+ datastudent.mdb; if fileexists(dbname)

44、then deletefile(dbname); copyfile(pchar(dbsourcename),pchar(dbname),true); if fileexists(dbname) then begin showmessage(备份文件是:+dbname); messagebox(handle, 数据库备份成功!, 提示, mb_iconinformation + mb_ok); end; if dm.ado.connected = false then dm.ado.connected := true;end; 数据库还原的代码:procedure tfrmmain.nhuanyuanclick(sender: tobject);var dbname, dbbname: string;beginif dm.ado.connected = true then dm.ado.connected := false; dbname := extractfilepath(application.exename)+ datastudent.mdb; dbbname := extractfilepath(application.exename)+ datastudent.bak; if not fileexists(dbbname) then mess

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论