学生档案管理
- 格式:doc
- 大小:37.50 KB
- 文档页数:4
前言:学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管
理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询
手段。
学生档案管理系统是典型的信息管理系统(MIS)〖本文来自论文路上,www.lw63.com,专业毕
业设计〗经过分析如此情况,我们用Visual Foxpro 6.0开发工具,利用其提供的各种面向对
象的开发工具和功能强大的SQL(结构化查询语言),尤其是数据窗口这一能方便而简洁操
纵数据库的智能化对象,在开发阶段设计利用的数据库是Microsoft Visual FoxPro Drivers对
DBC数据库进行开发,具有很强的移植性。
关键字:面向对象(Object)、数据窗口(DataWindow)、信息管理系统(Mis)、学生档案。
一、系统需求分析
1.1 编写目的
本需求的编写目的在于研究学生档案管理系统软件的开发途径和应用方法。
1.2 背景及范围
本项目的名称:学生档案管理系统。
本毕业设计基本上能具体化、合理化的管理学生的学籍档案,用结构化的思维方式去了
解计算机的基本工作原理和高级程序设计语言。
1.3 功能
主要功能:班级设置、课程设置、学生基本信息录入、学生成绩录入、学生信息和成绩修改、
查询成绩。
1.4用户活动图
1.5系统数据
(1)、数据字典
字段名 类型 说明
系名 Char(14) 关键字
系主任 Char(8)
字段名 类型 说明
系名 Char(14) 关键字
班级 Char(20)
字段名 类型 说明
学号 Char(10) 主关键字
姓名 Char(8)
性别 Char(2)
出生日期 Date
班级 Char(20) 外部关键字(班级信息)
联系电话 Char(11)
入校时间 Date
寝室号 Char(10)
家庭地址 Char(30)
注释 memo
字段名 类型 说明
课程表名 Char(30) 表名由”系+班级+学期”构成
字段名 类型 说明
系名 Char(14)
成绩表名 Char(30)
字段 类型 说明
学号 Char(10) 关键字
姓名 Char(8) 候选键
课程 Char(14)
成绩 Num(5,1)
二、概念设计
根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后
面的逻辑结构设计打下基础.这些实体包括各种具体信息,通过相互之间的作用形成数据的流
动.
本毕业设计的实体有:学生实体,系实体,班级实体,课程实体,学生成绩实体。
2.2 各实体之间的联系
三、详细设计
此系统是在Visual FoxPro6.0开发的,利用“项目管理器”创建,共有三个数据库student、
course、grade;一个主程序main.prg;一个主菜单和35个表单组成。
1、菜单设计如下:
2、流程图
①查询流程图:
3、源代码
在项目管理器中,可以打开任何一个表单查看它的详细代码。下面给出了程序一部分的源代
码:
①主程序main.prg源程序:
set talk off
set escape off
set clock status
_screen.caption="学生档案管理系统"
_screen.picture="back.jpg"
_screen.icon="picture\xt.ico" &&指定应用程序图标
_screen.windowstate=2 &&设置启动时应用程序为全屏显示
public pot
pot=0
mypath=left(sys(16),rat("\",sys(16))) &&返回路径
set defa to &mypath
do form login.scx &&调用登录对话框
read events
modi windows screen close &&恢复主窗口的关闭能力
set sysmenu to defa &&恢复VFP的默认菜单
close all
release all
return
② 查询源代码
Form1对象 Init事件
功能:将查询的字段添加到列表框中
public tiaojian,backtj,ftype
tiaojian="select * from student!学生基本信息 where "
backtj=tiaojian
open database data\student
use 学生基本信息
for i=1 to fcount()-1
thisform.pageframe1.page1.combo1.additem(fields(i))
endfor
thisform.pageframe1.page1.combo2.enabled=.f.
thisform.pageframe1.page1.text1.readonly=.t.
thisform.pageframe1.page1.optiongroup1.enabled=.f.
Thisfrom.pageframe1.page1对象 Click事件
tiaojian="select * from student!学生基本信息 where "
backtj=tiaojian
thisform.pageframe1.page1.edit1.value=""
close database
open database data\student
use 学生基本信息
for i=1 to fcount()-1
thisform.pageframe1.page1.combo1.additem(fields(i))
endfor
thisform.pageframe1.page1.combo1.enabled=.t.
thisform.pageframe1.page1.combo2.enabled=.f.
thisform.pageframe1.page1.text1.readonly=.t.
thisform.pageframe1.page1.optiongroup1.enabled=.f.
thisform.pageframe1.page1.combo1对象 Click事件
功能:选择查询的字段
tiaojian=backtj
if len(alltrim(this.value))=0
ret=messagebox("字段不能为空!",16,"查询")
else
thisform.pageframe1.page1.combo2.enabled=.t.
tiaojian=backtj+alltrim(this.value)
thisform.pageframe1.page1.edit1.value=tiaojian
endif
thisform.pageframe1.page1.combo2对象 Click事件
功能:选择查询条件
this.enabled=.f.
ziduan=alltrim(thisform.pageframe1.page1.combo1.value)
ftype=type("&ziduan")
do case
case ftype="C"
tiaojian=tiaojian+'"'+'"'
case ftype="N"
tiaojian=tiaojian
case ftype="D"
tiaojian=tiaojian+"ctod()"
endcase
backtj=tiaojian
thisform.pageframe1.page1.text1对象 InteractiveChange事件
功能:获得查询的值
do case
case ftype="C"
tiaojian=stuff(backtj,len(backtj),0,alltrim(thisform.pageframe1.page1.text1.value))
endcase
thisform.pageframe1.page1.edit1.value=tiaojian
Command1查询按钮 Click事件
功能:查询满足条件的记录,并将结果赋于表单的表格中
create sql view xsst1 as &tiaojian
thisform.pageframe1.page1.grid1.recordsource="xsst1"
drop view xsst1
thisform.pageframe1.page1.combo1.enabled=.t.