学生信息管理系统论文范文_计算机毕业设计论文范文_优秀毕业论文范文_第1页
学生信息管理系统论文范文_计算机毕业设计论文范文_优秀毕业论文范文_第2页
学生信息管理系统论文范文_计算机毕业设计论文范文_优秀毕业论文范文_第3页
学生信息管理系统论文范文_计算机毕业设计论文范文_优秀毕业论文范文_第4页
学生信息管理系统论文范文_计算机毕业设计论文范文_优秀毕业论文范文_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、1 系统技术及运行环境1.1 Visual Foxpro 6.0 简介Visual Foxpro 6.0 是计算机优秀的数据管理系统软件之一,正如其名称中的“Visual一样,它采用了可视化的、面向对象的程序设计方法,大大简化了应用系统的开发过程,并提高了应用系统的开发过程,并提高了系统的模块性和紧凑型。是新一代的小型数据库管理系统的杰出代表,它以其强大的性能、完整而又丰富的工具、较高的处理速度、友好的界面以及较完备的兼容性,备受广大用户的欢迎。面前,Visual Foxpro 6.0 是用户收集信息、查询数据、创建集成数据库系统、进行应用系统开发较为理想的微机数据库管理系统。1.2 系统开发

2、及运行环境该运行环境的规定是保证本需求说明的功能得到实际真正体现的基础。(1)运行环境Windows98或更高版本的操作系统数据库系统:Microsoft Visual Foxpro 6.0( 2)开发环境:开发工具:Microsoft Visual Foxpro 6.0数据库系统:Microsoft Visual Foxpro 6.02 系统分析2.1 需求分析21 世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社

3、会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。(一)教育系统学生管理现状分析学校工作流程分析学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。(二)学校具体需求分析学生:对各科成绩的查询任课老师:输入并维护所教科目的学生成绩教务处:学校全体成员的信息管理,并对任课老师,班主任等输入的信息进行存库,对学生的信息进行必要的维护。通过研究调查,

4、本系统需以下功能:综合学生信息、学生成绩以及信息查询等信息。方便用户了解和管理学生的全面动态信息。良好的界面设计,更人性化的设计理念,使用户拥有更轻松的使用心情。2.2 可行性分析目的:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能解决。经济性:由于学校等中小型管理系统并不复杂,且Visual Foxpro 6.0 本身要求的运行环境不高,所以一般Windows 2000以上的系统环境都可以使用。实用性:本学生信息管理系统管理系统无太多复杂的操作要求,也没有过分花哨的装饰品,人性化的设计界面可以使操作者轻易运用自如3 总体设计3.1 设计目标本系统可以能减少很多不必要的资源,不用

5、象以前那样用冗余的纸张式的管理。大节省了学校能源。并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。为学校增加了财富。数据库分析用户需求具体有学籍管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。3.2 项目规划学生

6、管理系统是各大中专院校不可缺少的一部分,是一个VF 数据库开发应用程序,它主要包括用户登录、学生信息输入修改、学生信息查询以及学生成绩输入、学生成绩查询、系统用户管理等几个页面,因而该系统具有较强的实用性。173.3系统功能图4系统详细设计4.1数据库设计(1) deandma.dbf,见表 1表1字段名数据类型备注班级Char (8)主键 Not null系Char (10)Not null专业Char (14)Not null(2) grade.dbf ,见表 2表2字段名数据类型备注学号Char (8)主键 Not null班级Char (10)Not null课程Char (18)No

7、t null成绩Int (5)Not null学期Char (2)Not null备注MemoNull(3) stduents.dbf ,见表 3表3字段名数据类型备注班级Char (8)主键 Not null学号Char (8)Not null姓名Char (8)Not null性别Char (6)Not Null出生日期DatetimeNull政治面貌Char (8)Null身份证号码Char (16)Null入学时间DatetimeNull籍贯Char (16)Null家庭住址Char (28)Null邮政编码Char (6)Null照片GeneralNull备注MemoNull.dbf

8、 ,见表4表4用户信息表字段名数据类型备注姓名Char (8)主键 Not null密码Char (6)Not null标识LogicalNot null4.2登陆界面设计进入取消“进入”按钮的click事件添加如下的代码:sele yonghuif allt(thisform.text1.value尸二”"为空,请输入!messagebox(left(allt(thisform.label1.caption),6)+",64,"提示")thisform.text1.setfocus elseif allt(thisform.text2.value)=&

9、quot;"messagebox("密码为空,请输入!",64,"提示")thisform.text2.setfocus elsen=n+1locate for allt(姓名尸allt(thisform.text1.value);.and. allt( 密码 )=allt(thisform.text2.value)if found()if thisform.check1.value=1 .and. 标识checked=1thisform.releasedo menu.mprelseif thisform.check1.value=1.and.

10、! 标识messagebox("你不是管理员! ",48,"警告")thisform.check1.value=0elsechecked=0cyonghu=allt( 姓名 )cmima=allt( 密码 )thisform.releasedo menu.mprendifendifelseif n>=3messagebox("你不是合法用户,请与管理员联系! ”,48,"警告”) thisform.releaseclear eventquitelsemessagebox(left(allt(thisform.label1.cap

11、tion),6)+"或密码错误,请重新输入! ",64," 提示 ")thisform.text1.value=""thisform.text1.setfocusthisform.text2.value=""endifendifendifendif“取消”按钮的 click 事件添加如下的代码nr=messagebox(" 你选择了退出登录,是否退出?",68," 用户登录")if nr=6thisform.releasequit endif4.3学生信息录入“增加”按钮的c

12、lick事件添加如下的代码:if this.caption=" 增加"if(bo3.displayvalue="(选 择)").or.(alltrim(thisform.text1.value)=""); .or.(alltrim(thisform.text2.value)="") messagebox("班级、学号和姓名必须填充! !",64,"提示")else locate for alltrim(thisform.text1.value)=alltrim(student

13、s.学号)if !eof() =messagebox("此学号已经存在,请重新输入!",64,"提示")thisform.text1.value="" thisform.text1.setfocus else sele students append blank replace 班 级 with alltrim(bo3.value), 学 号 with alltrim(thisform.text1.value);姓名 with alltrim(thisform.text2.value),出生日期 withctod(alltrim(th

14、isform.text4.value); 入学时间 with ctod(alltrim(thisform.text6.value),籍贯 withalltrim(thisform.text7.value);家 庭 住 址 with alltrim(thisform.text8.value),身 份 证 号 码 withalltrim(thisform.text8.value);备 注 with alltrim(thisform.edit1.value),邮 政 编 码 withalltrim(thisform.text3.value)if alltrim(bo4.value)="&q

15、uot;replace 性别with alltrim(bo4.displayvalue)elsereplace 性别with alltrim(bo4.value)endifif alltrim(bo5.value)=""replace 政治面貌with alltrim(bo5.displayvalue)elsereplace 政治面貌with alltrim(bo5.value)endif&& if .not.alltrim(thisform.label17.caption)=""if !pictemp=""wait

16、windows " 正在导入相片,请等待!" at 100,40 timeout 2 nowait&& pictemp=thisform.label17.captionappend general students. 照片 from "&pictemp"endifpictemp=""this.caption=" 继续 "endifendifelsemand2.clickthis.caption=" 增加 " endif4.4 学生信息修改选择率' 专业.班级系:计

17、算机学与 专业:|计算机网络投班级: | MIL网络制“修改”按钮的click事件添加如下的代码:ith thisformsele studentslocate for allt(学号尸allt(.textl.value)if allt( 学号)=allt(.text1.value)replace 学号 with allt(.textl.value), 姓名 with allt(.text2.value),邮政编码 with allt(.text3.value),;出生日期 with .text4.value, 入学时间 with .text6.value, 籍贯 with allt(.tex

18、t7.value),;家庭住址 with allt(.text8.value),身份证号码 with allt(.text9.value),性别 with allt(.combo4.value),;政治面貌 with allt(.combo5.value), 备注 with allt(.edit1.value)if !pictemp=""wait windows ”正在导入相片,请等待! " at 100,40 timeout 2 nowaitappend general 照片 from "&pictemp”endifendifsele lslo

19、cate for allt(学号尸allt(.text1.value)if allt( 学号)=allt(students. 学号)replace 学号 with students. 学号,姓名 with students. 姓名,邮政编码 with students.邮政编码,;出生日期with students.出生日期,入学时间with students.入学时间,籍贯 with students. 籍贯,;家庭住址with students.家庭住址,身份证号码with students.身份证号码, 性别 with students.性别,;政治面貌 with students.政治

20、面貌,备注 with students. 备注,照片 withstudents.照片endifpictemp=""this.enabled=.f.endwith4.5 学生信息查询./学生猾息堂询返回输入学号或姓名:定位查沟“定位查询”按钮的click事件添加如下的代码选择系.专业、班嫌宗丽福 刁专业:计苴机网痣按班级:|胃:网箔yiif allt(thisform.text1.value尸二”"messagebox("请输入学号或姓名!",64,"提示")thisform.textl.setfocus elsesele s

21、tulslocate for allt(学号尸allt(thisform.text1.value);.or.allt(姓名尸allt(thisform.text1.value)if found()go recn()elsewait window at 18,38 nowait '没有找到你要查询的信息!endifendifthisform.gridl.refresh thisform.refresh“第一个"按钮的click事件添加如下的代码 sele stulsskip -1 if bof() this.enabled=.f.mand3.enabled=.f. messag

22、ebox("已经到第一条记录了!",64,"提示")go top elsego recn()endifmand2.enabled=.t.mand4.enabled=.t.“单个查询”按钮的click事件添加如下的代码nxx=1do form xxxg4.6系管理表单设计“增加”按钮的click事件添加如下的代码set order to tagset safety offif alltrim(thisform.text1.value)=""messagebox("系名为空,请输入!",64,"提示"

23、;)thisform.text1.setfocuselselocate for deandma. 系 =alltrim(thisform.text1.value)if .not.eof()messagebox("系名已经存在,请重新输入!”,48,"提示”)thisform.text1.value=""thisform.text1.setfocuselseappend blankreplace deandma. 系 with alltrim(thisform.text1.value)thisform.text1.value=""thi

24、sform.text1.setfocusendifthisform.list1.clearthisform.list1.init && 重新显示list 列表thisform.list1.value=""endif“删除”按钮的 click 事件添加如下的代码Set safety offif this.caption=" 取消 "thisform.text2.value=""thisform.text2.enabled=.f.thisform.label3.enabled=.f.this.caption="

25、删除 "mand1.enabled=.t.mand2.caption=" 修改 "elseif alltrim(thisform.text1.value)=""messagebox("缺少完整信息,无法删除!",0+48,"警告")thisform.text1.setfocuselsethisform.list1.value=alltrim(thisform.text1.value)nn=messagebox("是否确定删除此系单位,其所属的专业班级的数据库都将删除! ",1+48,&

26、quot; 警告 ")if nn=1t=0use datadeandmago topdo while .not.eof()if alltrim( 系 )=alltrim(thisform.text1.value)deletepackt=1endifskipenddoif t=0messagebox("将删除的内容不存在,请重新输入。”,60,"提示”)thisform.text1.setfocusendifendifthisform.text1.value=""thisform.list1.requerythisform.list1.clear

27、thisform.list1.init && 重新显示List 列表thisform.text1.value=alltrim(thisform.list1.value)endifendifthisform.refresh4.7班级管理“增加”按钮的click事件添加如下的代码set order to tagset safety offif alltrim(thisform.text1.value尸=”"messagebox("班级名为空,请输入!”,64,"提示")thisform.textl.setfocuselselocate for

28、 deandma.班级=alltrim(thisform.text1.value)if .not.eof()messagebox("班级名已经存在,请重新输入! ”,48,"提示")thisform.text1.value=""thisform.text1.setfocuselselocate for deandma. 专业=alltrim(bo2.value)if alltrim(deandma.班级)=""replace deandma. 班级 with alltrim(thisform.text1.value)else

29、append blankreplace deandma. 系 with alltrim(bo1.value)replace deandma. 专业 with alltrim(bo2.value)replace deandma. 班级 with alltrim(thisform.text1.value) endifthisform.text1.value=""thisform.text1.setfocusendifbo2.click && 重新显示list 列表thisform.list1.value=""endif“删除”按钮的 clic

30、k 事件添加如下的代码Set safety offif this.caption=" 取消 "thisform.text2.value=""thisform.text2.enabled=.f.thisform.label5.enabled=.f.this.caption=" 删除 "mand1.enabled=.t.mand2.caption=" 修改 " elseif alltrim(thisform.text1.value)=""=messagebox("缺少完整信息,无法删除!&

31、quot;,0+48,"警告")thisform.text1.setfocuselseuse deandma exclusivethisform.list1.value=alltrim(thisform.text1.value)",1+48,"nn=messagebox("是否确定删除此班级,与其相关的数据都将删除!警告 ) if nn=1t=0locate for alltrim(deandma. 班级 )=alltrim(thisform.text1.value) deletepackt=1if t=0messagebox("将删

32、除的内容不存在,请重新输入。”,64,"提示”)thisform.text1.setfocusendifendifthisform.text1.value=""thisform.list1.requerybo2.click && 重新显示List 列表thisform.text1.value=alltrim(thisform.list1.value)endif endif thisform.refresh4.8学生成绩录入“确定”按钮的click事件添加如下的代码xuehao=allt(thisform.text1.value) banji=all

33、t(bo3.value) kecheng=allt(bo4.value) xueqi=allt(bo5.value) chengji=allt(thisform.text2.value) sele grade if chengji=""tt=messagebox("想输入单科成绩吗? ",4+32,"提示") if tt=6thisform.text2.setfocuselse endif else*locate for allt( 学号尸xuehao*if eof()locate for allt(课程)=kechengif all

34、t( 学号)="".and.allt(班级)=banjirepl 学号 with xuehao repl 成绩 with val(chengji) repl 学期 with xueqielse* append blank* repl学号withxuehao* repl班级withbanji* repl课程withkecheng* repl成绩withval(chengji)* repl学期withxueqi*endif*elselocate for allt( 学号 )=xuehao .and. allt( 课程 )=kecheng .and. allt( 学 期 )=xu

35、eqiif eof()append blankrepl学号with xuehaorepl班级with banjirepl课程with kechengrepl成绩with val(chengji)repl学期with xueqielsett=messagebox(" 该科的成绩已存在,是否覆盖?",4+32+256," 提示 ")if tt=6repl 成绩 with val(chengji)endifendifendifthisform.Command2.clickmand3.enabled=.f.endif“查询”按钮的 click 事件添加如下的代码

36、 sele lsif allt(thisform.text3.value)=""messagebox("请输入学号或姓名! ",64,"提示")elselocate for 学 号 =allt(thisform.text3.value).or.姓 名=allt(thisform.text3.value)if eof()messagebox("该班级没有此人! ! ",64,"提示")thisform.text3.value=""thisform.text3.setfocusg

37、o nhereelsethisform.text1.value= 学号endifendif4.9修改学生成绩“快速查询”按钮的click事件添加如下的代码sele lsbjif allt(thisform.text1.value)=""messagebox("请输入学号或姓名!",16,"提示")thisform.textl.setfocus elselocate for 学 号 =allt(thisform.text1.value).or.姓 名=allt(thisform.text1.value) if eof()messageb

38、ox("本班级没有此人,请重新输入!”,64,"提示")thisform.text1.value=""thisform.text1.setfocus elsexuehao=allt(学号)thisform.label8.caption=姓名thisform.label9.caption=学号bo4.clickendifendif“下一位”按钮的 click 事件添加如下的代码mand2.enabled=.t.mand4.enabled=.t.if !allt(bo3.value)=""sele lsbjskip 1if eo

39、f()this.enabled=.f.mand5.enabled=.f.messagebox("已经到最后一条记录了!",48,"提示")go bottomendifxuehao=allt( 学号 )thisform.label8.caption=allt(姓名)thisform.label9.caption=allt(学号)“补考统计”按钮的click事件添加如下的代码if allt(bo3.value尸=”"messagebox("请选择班级!",64,"提示")elsebkbj=bo3.valueb

40、kxq=bo4.valuedo form bukaoendif“定位查询”按钮的click事件添加如下的代码if allt(thisform.text1.value尸二”"messagebox("请输入学号或姓名! ",64,"提示")thisform.text1.setfocuselselocate for allt(students. 学号)=allt(thisform.text1.value).or.;allt(students.姓名尸allt(thisform.text1.value)if found()lsxh=allt(studen

41、ts.学号)lsxm=allt(students.姓名)buxq=allt(bo4.value)do form dgcjelsemessagebox("没有此人,请重新输入",64,"提示")endifendif4.11用户管理Listl的init事件中添加的代码如下sele yonghuthis.additem("管理员") locate for标识二.T.do while found()this.additem("-"+ 姓名)continueenddogo toplocate for标识二.F.this.ad

42、ditem("普通用户")do while found() this.additem("-"+ 姓名) continueenddo“注册”按钮的click事件添加如下的代码21Set safety offsele yonghuif alltrim(thisform.text1.value)=""messagebox("用户名不能为空!”,0+48,"警告")thisform.text1.setfocuselselocate for 姓名 =alltrim(thisform.text1.value)if(.

43、not. eof()messagebox("此用户已存在,请重新输入!",64,"警告")thisform.text1.value=""thisform.text1.setfocuselseif alltrim(thisform.text2.value)=""messagebox("密码不能为空!",0+48," 警告")thisform.text2.setfocuselseif (thisform.text2.value)=(thisform.text3.value)app

44、end blankrepl 姓名 with alltrim(thisform.text1.value),;密码 with alltrim(thisform.text2.value)if thisform.check1.value=1repl 标识with .T.elserepl 标识with .F.endifthisform.text1.value=""thisform.text2.value=""thisform.text3.value=""thisform.text1.setfocusthisform.text3.enabled=

45、.f.thisform.label4.enabled=.f.thisform.list1.clearthisform.list1.initelsett=messagebox(" 确认密码错误,请重新输入!",0+48," 警告 ")if tt=1thisform.text3.enabled=.t.thisform.label4.enabled=.t.thisform.text3.value=""thisform.text3.setfocusendifendifendifendifendif“删除”按钮的 click 事件添加如下的代码

46、if allt(thisform.text1.value)=""messagebox("请选择或输入用户名",64,"提示")thisform.text1.setfocuselseuse yonghulocate for 姓名 =allt(thisform.text1.value);.and. 密码 =allt(thisform.text2.value)if eof()messagebox("请选择或输入正确的用户名",64,"提示")thisform.text1.value="&qu

47、ot;thisform.text2.value=""thisform.text1.setfocuselsett=messagebox(" 一定要删除吗?",4+48," 删除确认")if tt=6deletepackendifthisform.list1.clearthisform.list1.initthisform.list1.clickendifendif4.12修改用户密码“修改”按钮的click事件添加如下的代码sele yonghuif allt(thisform.text1.value尸二”"thisform.textl.setfocuselselocate for allt(姓名尸allt(thisform.textl.value)if eof()messagebox("此用户不存在,请重新输入!",64,"提示")thisform.text1.value=""thisform.text1.setfoc

温馨提示

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

评论

0/150

提交评论