Visual FoxPro 课程设计实验报告.docx
- 文档编号:12652675
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:15
- 大小:246.38KB
Visual FoxPro 课程设计实验报告.docx
《Visual FoxPro 课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《Visual FoxPro 课程设计实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
VisualFoxPro课程设计实验报告
以下为文案正文:
VisualFoxPro课程设计实验报告
——“学生信息管理系统”
国贸2班
200204074224
佘楷
一.设计题目
学生信息管理系统
二.开发软件
VFP6.0
三.课题要求
(1)掌握课堂讲授的基本数据库知识和VFP的基本技巧:
1.数据库管理系统合数据库应用系统;
2.VFP的界面组成与操作;
3.VFP的工作方式;
4.标的基本操作(表的建立与修改、表达式、维护命令);
5.表的查询与统计(排序与索引,SELECT-SQL查询,数据库于视图);
6.程序设计初步(程序文件,程序的控制,多模块程序)。
(2)自学部分书本关于VFP的内容:
1.菜单设计;
2.表单设计;
3.表单控件设计;
4.实例:
汽车修理管理系统的开发。
(3)要求能够独立设计。
完成一个简单的学生信息管理系统,此系统必须有如下基本功能:
1.数据的查询;
2.记录的增加,删除,修改等功能;
3.系统界面良好;
4.操作方便,运行稳定。
四.目的
掌握基本的数据库知识,熟悉VFP的使用。
学习VFP数据库应用系统开发的一般步骤:
1.需求分析
2.数据库设计
3.应用程序设计
4.软件的运行测试
通过简单的系统设计、开发,激发学生的学习兴趣和动手能力。
五.设计时间
第12周——第19周
六.设计主要流程
流程图:
(1)数据库设计
根据此系统需要建立数据库sexxdb.dbc,数据库中有如下几个数据表:
student.dbf、course.dbf、score.dbf、password.dbf、passwordm.dbf。
student..dbf记录的是学生的个人信息,如:
学号、姓名、性别、民族、出生日期、所在专业、籍贯。
Course.dbf记录的是有关课程的信息,如:
课程编号、课程名称、学分、任课老师。
Score.dbf记录的是每个同学不同科目的考试成绩,有以下这些内容:
课程编号、课程名称、学号、成绩。
Password.dbf记录系统普通用户的用户名和密码。
Passwordm.dbf记录系统管理员的用户名和密码。
(2)应用程序设计
由于本系统是多用户登陆,当是管理员登陆时此系统的所有功能都可能用,当是普通用户登陆时此系统时将无法使用系统的维护功能。
下面就各个表单功能和使用作如下简述:
1.用户登录
先选择用户类型:
普通用户、管理员,输入密码,按确定键进入(按重写键重新填写;按退出键退出系统)。
主要代码如下:
optiongroup1.click事件:
docase
casethis.value=0
bo1.rowsource=""
casethis.value=1
bo1.rowsource="password.用户名"
casethis.value=2
bo1.rowsource="passwordm.管理员"
endcase
“确定”键command1.click事件:
publicguest
privatePassword1
docase
casethisform.optiongroup1.value=1
selectpassword
password1=alltrim(thisform.text1.value)
locateforalltrim(用户名)==alltrim(bo1.value)
iffound()andpassword1==alltrim(密码)
guest=2
thisform.release
doformmain.scx
else
=messagebox("用户名或密码错误,请重新输入!
")
thisform.text1.setfocus
endif
casethisform.optiongroup1.value=2
selectpasswordm
password1=alltrim(thisform.text1.value)
locateforalltrim(管理员)==alltrim(bo1.value)
iffound()andpassword1==alltrim(密码)
guest=1
thisform.release
doformmain.scx
else
=messagebox("用户名或密码错误,请重新输入!
")
thisform.text1.setfocus
endif
endcase
在此代码中定义了公共变量guest,是为了判断用户类型以确定进入系统界面后“维护”键是否可用。
“重写”键command2.click事件:
bo1.value=""
thisform.text1.value=""
thisform.text1.setfocus
“退出”键command3.click事件:
thisform.release
2.系统界面
当使用者是普通用户时,系统界面中的“维护”键是不可用的。
当管理员登陆时则可以使用“维护”键。
“维护”键可否使用是通过form.activate来实现的:
ifguest=1
thisform.Command2.enabled=.t.
else
thisform.Command2.enabled=.f.
endif
“查询”、“维护”、“统计”、“退出”键的click代码分别为:
doformchaxun.scx
doformweihu.scx
doformstatistic.scx
thisform.release
doformlogo
3.查询界面
用户可以在此查询学生信息、课程信息和成绩信息。
查询学生信息时“确定”键的代码是:
thisform.pageframe1.page1.grid1.recordsource=""
XH=alltrim(thisform.pageframe1.page1.text1.value)
thisform.pageframe1.page1.grid1.recordsource="selectstudent.学号,student.姓名,student.性别,student.民族,student.出生日期,student.专业,student.籍贯fromstudentwherealltrim(学号)==XHoralltrim(姓名)==XHintocursortemp"
thisform.pageframe1.page1.text1.value=""
查询课程信息时的代码为:
kcmc=alltrim(thisform.pageframe1.page2.text1.value)
thisform.pageframe1.page2.grid1.recordsource="selectcourse.课程编号,course.课程名称,course.学分,course.任课老师fromcoursewherealltrim(课程名称)=kcmcoralltrim(课程编号)=kcmcintocursortemp"
thisform.pageframe1.page2.text1.value=""
查询成绩信息时的代码为:
xh=alltrim(thisform.pageframe1.page3.text1.value)
thisform.pageframe1.page3.grid1.recordsource="selectstudent.学号,student.姓名,course.课程名称,score.成绩fromstudent,course,scorewherealltrim(score.学号)==xhandalltrim(student.学号)==alltrim(score.学号)andalltrim(course.课程编号)==alltrim(score.课程编号)intocursortemp"
thisform.pageframe1.page3.text1.value=""
4.维护界面
只有管理员才能进入此界面。
进入此界面后,选择组合框里的一项可以查询此项的数据,但不能修改,只有按下“进行修改”键后才能进行修改,修改后按“确定”键确认修改。
按“退出”键退出此界面。
此界面中optiongroup1的click事件代码为:
docase
casethisform.optiongroup1.option1.value=1
thisform.grid1.recordsource="student"
thisform.grid1.refresh
casethisform.optiongroup1.option2.value=1
thisform.grid1.recordsource="course"
thisform.grid1.refresh
casethisform.optiongroup1.option3.value=1
thisform.grid1.recordsource="score"
thisform.grid1.refresh
endcase
mand1.enabled=.t.
mand2.enabled=.t.
mand3.enabled=.t.
“进行修改”键的click代码为:
thisform.grid1.enabled=.t.
thisform.grid1.readonly=.f.
thisform.grid1.allowaddnew=.t.
thisform.grid1.setfocus
mand1.enabled=.f.
“确定”键的click代码为:
use
thisform.grid1.enabled=.t.
thisform.grid1.allowaddnew=.f.
thisform.grid1.readonly=.t.
&&thisform.grid1.recordsource=""
thisform.grid1.refresh
mand1.enabled=.t.
mand2.enabled=.f.
mand3.enabled=.f.
5.统计界面
通过选择组合框中的选项,可以统计个人成绩或某一课程的成绩。
此界面中optiongroup1的click事件代码为:
Docase
Casethis.value=0
Tbo1.rowsource=""
Casethis.value=1
Tbo1.rowsource="student.学号"
Casethis.value=2
Tbo1.rowsource="course.课程名称"
Endcase
“确定”键的click代码为:
docase
casethisform.optiongroup1.value=1
xh=alltrim(bo1.value)
selectscore
calculatemax(成绩),min(成绩),avg(成绩),cnt();
for学号=xhtoa1,a2,a3,a4
&&显示统计结果
Thisform.text1.value=alltrim(str(a1))
Thisform.text2.value=alltrim(str(a2))
Thisform.text3.value=alltrim(str(a3))
Thisform.text4.value=alltrim(str(a4))
Casethisform.optiongroup1.value=2
Kcmc=alltrim(bo1.value)
Selectcourse
Locatefor课程名称=kcmc
Selectscore
Calculatemax(成绩),min(成绩),avg(成绩),cnt();
For课程名称=kcmctoa1,a2,a3,a4
&&显示统计结果
Thisform.text1.value=alltrim(str(a1))
Thisform.text2.value=alltrim(str(a2))
Thisform.text3.value=alltrim(str(a3))
Thisform.text4.value=alltrim(str(a4))
Endcase
(3)程序测试
登陆系统,选择选项按钮组中的“普通用户”,在组合框中选择用户(如用“王仪”登陆,密码为111111),查看能否登陆。
以此相同方法查看“管理员”选项。
查看“重写”、“退出”按钮是否有效。
进入系统界面,查看“维护”键是否可用(用户为管理员时才可用);点击“查询”键进入查询界面,点击页框的“学生信息”一项,在文本框中输入学号或姓名(如1或王仪),单击“确定”,查看列表框中是否显示相应的信息。
依此方法查看“课程信息”、“成绩信息”。
然后单击“退出”。
点击“统计”进入统计界面,选择选项按钮组中的“个人统计”选项,在组合框中选择学号(如1),单击“,确定”,查看右侧文本框中的数据是否正确。
以相同方法检查“课程统计”选项。
然后单击“退出”。
点击“维护”(当用户为管理员时),选择选项按钮组中的“学生信息”选项,然后单击列表,检查能否修改(正常应当无法修改);然后单击“进行修改”按钮,在检查列表能否修改(正常应当可以修改);单击“确定”确认修改,在查看列表能否修改(正常应当无法修改)。
以此方法检查“课程信息”、“成绩信息”选项。
七.系统实现的功能
查询、统计、维护(添加、删除、修改)
八.设计中遇到的主要问题,解决方法
主要问题:
代码编写问题、数据表的关联、数据环境
解决方法:
注意中英文输入法切换;注意主索引的设置;添加数据表。
九.心得体会
符号输入不可用中文输入法
出现错误时从使用“挂起”,查看代码何处发生错误,查看控件属性。
十.系统需要改善之处,改善方法的构思
该系统比较简单,功能较少;
可添加报表功能、用户注册功能、修改密码功能;
可使用菜单。
使用说明(使用时删除):
《合同条件》是根据《中华人民共和国合同法》,对双方权利义务作出的约定,除双方协商同意对其中的某些条款作出修改、补充或取消外,都必须严格履行。
《协议条款》是按《合同条件》的顺序拟定的,主要是为《合同条件》的修改、补充提供一个协议的格式。
双方针对工实际情况,把对《合同条件》的修改、补充和对某些条款不予采用的一致意见按《协议条款》的格式形成协议。
《合同条件》和《协议条款》是双方统一意愿的体现,成为合同文件的组成部分。
甲方乙方日期要素内容权利及义务
以上使用说明内容在实际下载后使用时可以删除,作者自行选择。
甲方
乙方
日期
要素
内容
权利
义务
违约责任
不可抗力
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual FoxPro 课程设计实验报告 课程设计 实验 报告