Visual FoxPro 课程设计实验报告.docx
《Visual FoxPro 课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《Visual FoxPro 课程设计实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
VisualFoxPro课程设计实验报告
中国最大的商务办公文档下载基地:
╔------------------------------------------------------------------------╗
┆项目方案调查报告可研分析广告策划案例分析┆
┆商业计划项目管理电子商务财税管理法律文书┆
┆战略管理企业文化行政管理人力资源管理制度┆
┆合同文本个人简历年终总结公文写作视频讲座┆
╚------------------------------------------------------------------------╝
中国文案:
中国商务办公文案的下载基地......
娱乐中国:
免费电影下载在线电影观看......
办公休闲小游戏:
超多FLASH游戏免费玩......
以下为文案正文:
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周
六.设计主要流程
流程图:
用户登陆
logo.scx
管理员
登陆
普通用户
登陆
选择用户类型
查询
维护
退出
统计
退出
查询
统计
成绩信息
课程信息
学生信息
成绩信息
课程信息
学生信息
个人统计
课程统计
成绩信息
课程信息
学生信息
课程统计
个人统计
(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),单击“,确定”,查看右侧文本框中的数据是否正确。
以相同方法检查“课程统计”选项。
然后单击“退出”。
点击“维护”(当用户为管理员时),选择选项按钮组中的“学生信息”选项,然后单击列表,检查能否修改(正常应当无法修改);然后单击“进行修改”按钮,在检查列表能否修改(正常应当可以修改);单击“确定”确认修改,在查看列表能否修改(正常应当无法修改)。
以此方法检查“课程信息”、“成绩信息”选项。
七.系统实现的功能
查询、统计、维护(添加、删除、修改)
八.设计中遇到的主要问题,解决方法
主要问题:
代码编写问题、数据表的关联、数据环境
解决方法:
注意中英文输入法切换;注意主索引的设置;添加数据表。
九.心得体会
符号输入不可用中文输入法
出现错误时从使用“挂起”,查看代码何处发生错误,查看控件属性。
十.系统需要改善之处,改善方法的构思
该系统比较简单,功能较少;
可添加报表功能、用户注册功能、修改密码功能;
可使用菜单。
美文欣赏
1、走过春的田野,趟过夏的激流,来到秋天就是安静祥和的世界。
秋天,虽没有玫瑰的芳香,却有秋菊的淡雅,没有繁花似锦,却有硕果累累。
秋天,没有夏日的激情,却有浪漫的温情,没有春的奔放,却有收获的喜悦。
清风落叶舞秋韵,枝头硕果醉秋容。
秋天是甘美的酒,秋天是壮丽的诗,秋天是动人的歌。
2、人的一生就是一个储蓄的过程,在奋斗的时候储存了希望;在耕耘的时候储存了一粒种子;在旅行的时候储存了风景;在微笑的时候储存了快乐。
聪明的人善于储蓄,在漫长而短暂的人生旅途中,学会储蓄每一个闪光的瞬间,然后用它们酿成一杯美好的回忆,在四季的变幻与交替之间,散发浓香,珍藏一生!
3、春天来了,我要把心灵放回萦绕柔肠的远方。
让心灵长出北归大雁的翅膀,乘着吹动彩云的熏风,捧着湿润江南的霡霂,唱着荡漾晨舟的渔歌,沾着充盈夜窗的芬芳,回到久别的家乡。
我翻开解冻的泥土,挖出埋藏在这里的梦,让她沐浴灿烂的阳光,期待她慢慢长出枝蔓,结下向往已久的真爱的果实。
4、好好享受生活吧,每个人都是幸福的。
人生山一程,水一程,轻握一份懂得,将牵挂折叠,将幸福尽收,带着明媚,温暖前行,只要心是温润的,再遥远的路也会走的安然,回眸处,愿阳光时时明媚,愿生活处处晴好。
5、漂然月色,时光随风远逝,悄然又到雨季,花,依旧美;心,依旧静。
月的柔情,夜懂;心的清澈,雨懂;你的深情,我懂。
人生没有绝美,曾经习惯漂浮的你我,曾几何时,向往一种平实的安定,风雨共度,淡然在心,凡尘远路,彼此守护着心的旅程。
沧桑不是自然,而是经历;幸福不是状态,而是感受。
6、疏疏篱落,酒意消,惆怅多。
阑珊灯火,映照旧阁。
红粉朱唇,腔板欲与谁歌?
画脸粉色,凝眸着世间因果;未央歌舞,轮回着缘起缘落。
舞袖舒广青衣薄,何似院落寂寞。
风起,谁人轻叩我柴扉小门,执我之手,听我戏说?
7、经年,未染流殇漠漠清殇。
流年为祭。
琴瑟曲中倦红妆,霓裳舞中残娇靥。
冗长红尘中,一曲浅吟轻诵描绘半世薄凉寂寞,清殇如水。
寂寞琉璃,荒城繁心。
流逝的痕迹深深印骨。
如烟流年中,一抹曼妙娇羞舞尽半世清冷傲然,花祭唯美。
邂逅的情劫,淡淡刻心。
那些碎时光,用来祭奠流年,可好?
8、缘分不是擦肩而过,而是彼此拥抱。
你踮起脚尖,彼此的心就会贴得更近。
生活总不完美,总有辛酸的泪,总有失足的悔,总有幽深的怨,总有抱憾的恨。
生活亦很完美,总让我们泪中带笑,悔中顿悟,怨中藏喜,恨中生爱。
9、海浪在沙滩上一层一层地漫涌上来,又一层一层地徐徐退去。
我与你一起在海水中尽情的戏嬉,海浪翻滚,碧海蓝天,一同感受海的胸怀,一同去领略海的温情。
这无边的海,就如同我们俩无尽的爱,重重的将我们包裹。
10、寂寞的严冬里,到处是单调的枯黄色。
四处一片萧瑟,连往日明净的小河也失去了光彩,黯然无神地躲在冰面下恹恹欲睡。
有母女俩,在散发着丝丝暖意的阳光下,母亲在为女儿梳头。
她温和的把头发理顺。
又轻柔的一缕缕编织着麻花辫。
她脸上写满笑意,似乎满心的慈爱永远装不下,溢到嘴边。
流到眼角,纺织进长长的。
麻花辫。
阳光亲吻着长发,像散上了金粉,闪着飘忽的光辉。
女儿乖巧地依偎在母亲怀里,不停地说着什么,不时把母亲逗出会心的微笑,甜美的亲情融化了冬的寒冷,使萧索的冬景旋转出春天的美丽。
11、太阳终于伸出纤纤玉指,将青山的柔纱轻轻褪去。
青山那坚实的肌胸,挺拔的脊梁坦露在人们的面前,沉静而坚毅。
不时有云雾从它的怀中涌起,散开,成为最美丽的语言。
那阳光下显得凝重的松柏,那苍茫中显现出的点点殷红,那散落在群山峰顶神秘的吻痕,却又增添了青山另外的神秘。
12、原野里那郁郁葱葱的植物,叫我们丝毫感受不到秋天的萧索,勃勃生机与活力仍在田间高山涌动。
谷子的叶是墨绿的,长而大的谷穗沉甸甸地压弯了昨日挺拔的脊梁;高粱仍旧那么苗条,满头漂亮的红缨挥洒出秋的风韵;那纵横原野的林带,编织着深绿浅黄的锦绣,抒写出比之春夏更加丰富的生命色彩。
13、终于,心痛,心碎,心成灰。
终于选择,在月光下,被遗忘。
百转千回,早已物是人非;欲说还休,终于咫尺天涯;此去经年,你我终成陌路。
爱你,终是一朵花开至荼糜的悲伤,一只娥飞奔扑火的悲哀。
14、世界这么大,能遇见,不容易。
心若向阳,何惧忧伤。
人只要生活在这个世界上,就有很多烦恼,痛苦或是快乐,取决于你的内心。
人不是战胜痛苦的强者,便是屈服于痛苦的弱者。
再重的担子,笑着也是挑,哭着也是挑。
再不顺的生活,微笑着撑过去了,就是胜利。
15、孤独与喧嚣无关,摩肩接踵的人群,演绎着身外的花开花谢,没谁陪你挥别走远的流年。
孤独与忙碌迥异,滚滚红尘湮没了心境,可少了终点的奔波,人生终究一样的苍白。
当一个人成长以后,在他已经了解了世界不是由鲜花和掌声构成之后,还能坚持自己的梦想,多么可贵。
16、生活除却一份过往和爱情外,还是需要几多的遐思。
人生并不是单单的由过往和爱情符号所组成的,过往是人生对所有走过岁月的见证;因为简单,才深悟生命之轻,轻若飞花,轻似落霞,轻如雨丝;因为简单,才洞悉心灵之静,静若夜空,静似幽谷,静如小溪。