数据库专业实践一VFP系统设计选题.docx
- 文档编号:15261903
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:29
- 大小:270.42KB
数据库专业实践一VFP系统设计选题.docx
《数据库专业实践一VFP系统设计选题.docx》由会员分享,可在线阅读,更多相关《数据库专业实践一VFP系统设计选题.docx(29页珍藏版)》请在冰点文库上搜索。
数据库专业实践一VFP系统设计选题
(此文档为word格式,下载后您可任意编辑修改!
)
VFP课程设计选题
利用项目管理器组织、设计并连编一个学生成绩管理系统应用程序。
要求如下:
1.系统由数据库、表单、报表、菜单和程序组成;
2.系统中有一个数据库,数据库中包括三个数据表:
学生表、课程表、成绩表,学生表中包括4个班,每个班3—5名学生,课程表中包括4门课程,成绩表至少有20条记录;
3.系统能够通过菜单实现数据维护、浏览、查询、报表、退出等基本功能;可以自行设计使系统具有更强的功能;
4.要求应用程序主窗口拥有非VFP系统默认的标题和图标,进入系统时应设置具备口令检查功能的主界面,该口令在进入系统后可以通过菜单中的相关命令来修改;
5.项目中所有文件名均应冠以自己的姓名(中文或拼音均可),以免与其他同学混淆。
附:
数据库要求一览表
(1)建立三张数据表,其要求如下表所示:
表名
字段名
字段类型
与长度
字段规则与说明
默认值
标题
学生表
XH
C(8)
学号
XM
C(8)
姓名
XB
C
(2)
"性别只能是男或女"
"女"
性别
CSRQ
D
"年龄在18至22岁之间"
出生年月
BJ
C(10)
班级
课程表
KCH
C(4)
课程编号
KCM
C(14)
课程名称
XF
N(3,1)
"学分大于0"
1
学分
JS
C(8)
任课教师
成绩表
XH
C(8)
学号
KCH
C(4)
课程号
CJ
N(5,1)
"成绩大于0"
60
成绩
(2)建立索引:
数据表名称
索引名称
索引类型
索引表达式
学生表
No
主索引
XH
Name
普通索引
XM
课程表
Sub_No
主索引
KCH
Sub_name
普通索引
KCM
成绩表
Student
主索引
XH+KCH+STR(CJ,4,1)
Mark
普通索引
CJ
(3)建立学生表与成绩表、课程表与成绩表的关联,关键字是分别是XH字段和KCH字段。
VFP课程设计指导
VFP课程设计难点分析之一
——主界面和退出表单的设计
一.主界面的设计
1.主界面的组成对象:
(1)主表单:
其主要属性的设置如下:
Name="Form1"
Caption="主界面"
Picture="sj128.bmp"
Icon="大自然.ico"
Height=454
MaxButton=.F.
WindowType=0
AutoCenter=.T.
Width=633
MinButton=.F.
WindowState=0
Closable=.F.
(2)命令按钮:
共有三个命令按钮,其属性分别如下:
Name="Command1"
Name="Command2"
Name="Command3"
Caption="开始"
Caption="确定"
Caption="退出"
Visible=.F.
(3)文本框:
1个,用来接受口令,其主要属性为:
Name="Text1"
PasswordChar="*"
(4)标签:
共2个,一个显示设计者,一个用来提示输入口令,其主要属性分别为:
Name="Label1"
Name="Label2"
Caption="DesignedbyShiJun"
Caption="请输入口令:
"
Visible=.F.
(5)时钟控件:
共3个,Timer1用来控制Image2和Image3的移动,另2个用来控制Lablel1的颜色变化。
Name="Timer1"
Name="Timer2"
Name="Timer3"
Interval=200
Interval=1230
Interval=843
(6)图象控件:
共3个,Image1是图片显示的主标题,另2个是欢迎图片。
Name="Image1"
Name="Image2"
Name="Image3"
Picture="标题.bmp"
Picture="welcome.bmp"
Picture="welcome.bmp"
(7)多媒体控件:
在主界面表单运行过程中用来播放背景音乐。
Name="SoundPlayer1"
SoundFile="D:
\SJR\VFP课程设计\FIVE.MID"
2.事件代码:
command1的Click事件
THISFORM.LABEL3.VISIBLE=.T.
THISFORM.TEXT1.VISIBLE=.T.
THISFORM.COMMAND1.VISIBLE=.F.
THISFORM.COMMAND2.VISIBLE=.T.
command2的Click事件
IFUPPER(THISFORM.TEXT1.VALUE)=passw
DO主菜单.MPR
THISFORM.RELEASE
ELSE
MessageBox("口令不对,您无权使用本系统!
",0+16+0,"设置口令")
THISFORM.REFRESH
ENDIF
command3的Click事件
clearevents
setsysmenutodefa
THISFORM.RELEASE
timer1的Timer事件
ifthisform.image2.left<0
thisform.image2.visible=.f.
thisform.image3.visible=.t.
thisform.image3.left=thisform.image3.left+10
ifthisform.image3.left>thisform.width-thisform.image3.width
thisform.image3.visible=.f.
thisform.image2.visible=.t.
thisform.image3.left=0
thisform.image2.left=thisform.width-thisform.image2.width
endif
else
thisform.image2.left=thisform.image2.left-10
endif
timer2的Timer事件
timer3的Timer事件
二.退出表单的设计
1.退出表单的组成对象:
(1)表单:
其主要属性的设置如下:
Name="Form1"
Caption="退出系统"
Picture="sj038.bmp"
Icon="大自然.ico"
Height=454
MaxButton=.F.
WindowType=0
AutoCenter=.T.
Width=633
MinButton=.F.
WindowState=0
Closable=.F.
(2)标签:
共7个,属性如下:
Name=
"Label1"
"Label2"
"Label3"
"Label4"
"Label5"
"Label6"
"Label7"
Caption=
"欢"
"迎"
"您"
"再"
"次"
"使"
"用"
Visible=.F.
(3)时钟控件:
1个,控制标签的依次出现。
Name="Timer1"
Interval=600
(4)图象控件:
1个,控制表单的退出,起退出按钮的作用。
Name="Image1"
Picture="D:
\SJR\VFP课程设计\quitcmdr.bmp"
2.事件代码:
表单的Activate事件
publici,j
i=1
Image1的Click事件
nA=MessageBox("真想退出本系统吗?
",4+32+0,'退出系统')
ifnA=6
clearevents
quit
else
thisform.release
endif
Label1的Click事件
ifi=8
fork=1to7
j=str(k,1)
thisform.label&j..visible=.f.
endfor
i=1
else
j=str(i,1)
thisform.label&j..visible=.t.
dowhilei<8
i=i+1
exit
enddo
endif
Timer1的Timer事件
thisform.label1.click
VFP课程设计难点分析之二
——浏览成绩表单的设计
一.表单的组成对象
本表单由一个包含3个页面的页框组成,主要用来浏览成绩表中的统计信息。
1.表单主要属性为:
Name="browecj"
Caption="浏览成绩情况"
Icon="大自然.ico"
AutoCenter=.T.
2.页框主要属性为:
Name="Pageframe1"
PageCount=3
Page1.Name="Page1"
Page2.Name="Page2"
Page3.Name="Page3"
Page1.Caption="学生成绩概况"
Page2.Caption="按班级浏览"
Page3.Caption="按课程浏览"
(1)页面1的组成:
(2)页面2的组成
(3)页面3的组成
此页面中组合框的主要属性为:
Name="Combo1"
RowSourceType=1
RowSource="计算机,英语,体育,大学语文"
二.事件代码
页框pageframe1中Page1的
Activate事件
dosumcj.prg
thisform.pageframe1.page1.text1.value=c1
thisform.pageframe1.page1.text2.value=c2
thisform.pageframe1.page1.text3.value=c3
thisform.pageframe1.page1.text4.value=c4
thisform.pageframe1.page1.text5.value=c5
thisform.pageframe1.page1.text6.value=c6
thisform.pageframe1.page1.text7.value=c7
page2中组合框combo1的
InteractiveChange事件
cc1=this.value
doclacj.prg
thisform.pageframe1.page2.text2.value=cc2
thisform.pageframe1.page2.text3.value=cc3
thisform.pageframe1.page2.text4.value=cc4
docla_cj.qpr
thisform.pageframe1.page2.grid1.recordsource="class_cj"
thisform.pageframe1.page2.refresh
page3中组合框combo1的
InteractiveChange事件
sc1=this.value
dosubcj.prg
thisform.pageframe1.page3.text2.value=sc2
thisform.pageframe1.page3.text3.value=sc3
thisform.pageframe1.page3.text4.value=sc4
dosub_cj.qpr
thisform.pageframe1.page3.grid1.recordsource="sub_cj"
thisform.pageframe1.page3.refresh
三.程序文件和查询文件的内容
sumcj.prg
closedata
publicc1,c2,c3,c4,c5,c6,c7
opendata数据test
usexscj
calculateavg(cj)toc1
calculateavg(cj)forxb="男"toc3
calculateavg(cj)forxb="女"toc4
calculateavg(cj)forbj="99英教2"toc2
calculateavg(cj)forbj="99英语"toc5
calculateavg(cj)forbj="99英教1"toc7
calculateavg(cj)forbj="99日语"toc6
use
clacj.prg
closedata
publiccc2,cc3,cc4
opendata数据test
usexscj
setfiltertobj=cc1
calculateavg(cj)tocc2
calculateavg(cj)forxb="男"tocc3
calculateavg(cj)forxb="女"tocc4
setfilterto
use
cla_cj.qpr
SELECT表cj.kchAS课程号,表kc.kcmAS课程名称,;
表kc.jsAS任课教师,表kc.xfAS学分,AVG(表cj.cj)as平均分,;
MAX(表cj.cj)as最高分,MIN(表cj.cj)as最低分;
FROM数据test!
表xsINNERJOIN数据test!
表cj;
INNERJOIN数据test!
表kc;
ON表kc.kch=表cj.kch;
ON表xs.xh=表cj.xh;
WHERE表xs.bj=CC1;
GROUPBY表cj.kch;
ORDERBY表cj.kch;
INTOTABLEclass_cj.dbf
subcj.prg
closedata
publicsc2,sc3,sc4
opendata数据test
usexscj
setfiltertokcm=sc1
calculateavg(cj)tosc2
calculatemax(cj)tosc3
calculatemin(cj)tosc4
setfilterto
use
sub_cj.qpr
SELECT表xs.bjAS班级名称,COUNT(表xs.xh)as班级人数,;
AVG(表cj.cj)as平均分,MAX(表cj.cj)as最高分,;
MIN(表cj.cj)as最低分;
FROM数据test!
表xsINNERJOIN数据test!
表cj;
INNERJOIN数据test!
表kc;
ON表kc.kch=表cj.kch;
ON表xs.xh=表cj.xh;
WHERE表kc.kcm=SC1;
GROUPBY表xs.bj;
ORDERBY表xs.bj;
INTOTABLEsub_cj.dbf
VFP课程设计难点分析之三
——浏览学生表单的设计
一.表单的组成对象
本表单由一个包含2个页面的页框组成,主要用来浏览成绩表中的统计信息。
1.表单主要属性为:
Name="browexs"
Caption="浏览学生情况"
Icon="大自然.ico"
AutoCenter=.T.
2.页框主要属性为:
Name="Pageframe1"
PageCount=2
Page1.Name="Page1"
Page2.Name="Page2"
Page1.Caption="全体学生概况"
Page2.Caption="各班学生基本情况"
(1)页面1的组成:
(2)页面2的组成:
此页面中组合框的主要属性为:
Name="Combo1"
RowSourceType=1
RowSource="99英语,99日语,99英教1,99英教2"
二.事件代码
pageframe1中Page1的Activate事件
Page2中combo1的InteractiveChange事件
dosumstud.prg
thisform.pageframe1.page1.text1.value=s1
thisform.pageframe1.page1.text2.value=s2
thisform.pageframe1.page1.text3.value=s3
thisform.pageframe1.page1.text4.value=s4
thisform.pageframe1.page1.text5.value=s5
thisform.pageframe1.page1.text6.value=s6
thisform.pageframe1.page1.text7.value=s7
cs1=this.value
doclastud.prg
thisform.pageframe1.page2.text2.value=cs2
thisform.pageframe1.page2.text3.value=cs3
thisform.pageframe1.page2.text4.value=cs4
dostudent.qpr
thisform.pageframe1.page2.grid2.recordsource="xs"
thisform.pageframe1.page2.refresh
三.程序文件和查询文件的内容
sumstud.prg
clastud.prg
student.qpr
closedata
publics1,s2,s3,s4,s5,s6,s7
opendata数据test
use表xs
counttos1
countforxb="男"tos3
countforxb="女"tos4
countforbj="99英教2"tos2
countforbj="99英语"tos5
countforbj="99英教1"tos7
countforbj="99日语"tos6
use
closedata
publiccs2,cs3,cs4
opendata数据test
use表xs
setfiltertobj=cs1
counttocs2
countforxb="男"tocs3
countforxb="女"tocs4
setfilterto
use
SELECT表xs.xhas学号,;
表xs.xmas姓名,;
表xs.xbas性别,;
表xs.csrqas出生日期,;
表xs.bjas班级;
FROM数据test!
表xs;
WHERE表xs.bj=cs1;
ORDERBY表xs.xh;
INTOTABLExs
VFP课程设计难点分析之四
——设置口令表单集的设计
1.表单集Formset1的组成对象:
(1)检查密码表单:
其主要属性的设置如下:
Name="Formcheck"
Caption="检查密码"
Icon="大自然.ico"
Height=210
WindowState=0
AutoCenter=.T.
Width=380
Visible=.T.
形状:
1个,主要属性为:
Name="Shape1"Curvature=20
文本框:
1个,用来接受所输入的密码,其主要属性为:
Name="Text1"PasswordChar="*"
标签:
1个,主要属性为:
Name="Label1"Caption="请输入系统密码:
"
命令按钮:
2个,“确定”按钮的功能调用“修改表单”来修改系统中的所有表单,
“修改”按钮的功能是调用“授权修改”表单来修改系统密码:
Name="CMDcheckconfirm"
Name="CMDchange"
Caption="确定"
Caption="修改"
(2)授权修改表单:
其主要属性的设置如下:
Name="Formaw"
Caption="授权修改"
Icon="大自然.ico"
Height=210
Visible=.F.
AutoCenter=.T.
Width=380
WindowState=0
形状:
1个,主要属性为:
Name="Shape1"Curvature=20
文本框:
1个,用来接受所输入的密码,其主要属性为:
Name="Text1"PasswordChar="*"
标签:
1个,主要属性为:
Name="Label1"Caption="请输入授权密码:
"
命令按钮:
1个,其功能是调出修改密码表单,Name="CMDawconfirm"Caption="确定"
(3)修改密码表单:
其主要属性的设置如下:
Name="Formchange"
Caption="修改密码"
Icon="大自然.ico"
Height=250
AutoCenter=.T.
Visible=.F.
Width=375
WindowState=0
标签:
2个,分别为:
Name="Label1"
Name="Label2"
Caption="请输入新的系统密码:
"
Caption="请确认所输入的密码:
"
形状:
1个,主要属性为:
Name="Shape1"Curvature=20
文本框:
2个,用来接受所输入的新密码,其主要属性为:
Name="Text1"
Name="Text2"
PasswordChar="*"
PasswordChar="*"
命令按钮:
2个,“确定”按钮的功能是将新密码写入密码表,
“返回”按钮的功能是退回到第一张表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 专业 实践 VFP 系统 设计 选题