Visual+FoxPro6.docx

上传人:b****5 文档编号:3409012 上传时间:2022-11-22 格式:DOCX 页数:49 大小:624.86KB
下载 相关 举报
Visual+FoxPro6.docx_第1页
第1页 / 共49页
Visual+FoxPro6.docx_第2页
第2页 / 共49页
Visual+FoxPro6.docx_第3页
第3页 / 共49页
Visual+FoxPro6.docx_第4页
第4页 / 共49页
Visual+FoxPro6.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

Visual+FoxPro6.docx

《Visual+FoxPro6.docx》由会员分享,可在线阅读,更多相关《Visual+FoxPro6.docx(49页珍藏版)》请在冰豆网上搜索。

Visual+FoxPro6.docx

Visual+FoxPro6

目录

第一部分专题实验1

试验一项目、数据库及表的创建1

实验二完整性设置3

实验三表记录操作5

实验四查询设计器、视图设计器的使用7

实验五SQL命令和VFP命令的应用9

实验六程序与表单的应用13

实验七报表的应用18

实验八菜单应用与连编应用程序20

第二部分综合应用22

第一套22

第二套22

第三套24

第四套25

第五套25

第六套27

第七套28

第八套29

第九套29

第十套30

第十一套32

第十二套33

第十三套34

第十四套35

第十五套35

第十六套37

第十七套38

第十八套39

第十九套40

第二十套41

第一部分专题实验

试验一项目、数据库及表的创建

【实验目的】

1.掌握设置工作目录的方法。

2.掌握创建相应文件的方法。

3.掌握不同字段类型的设置及作用。

【实验内容】

1.在“D:

\”盘新建一个文件夹“成绩管理”。

2.设置工作目录到新建的文件中。

3.创建“成绩管理”项目文件。

4.创建“成绩管理”数据库文件。

5.创建“学生”数据库表。

表结构如下:

字段名

类型

宽度

学号

字符型

11

姓名

字符型

10

性别

字符型

2

出生日期

日期型

民族

字符型

10

政治面貌

字符型

4

职务

字符型

10

简历

备注型

照片

通用型

入学成绩

数值型

宽度6,小数位数2

专业号

字符型

2

年级

字符型

4

6.创建“课程”数据库表。

表结构如下:

字段名

类型

宽度

课程号

字符型

4

课程名

字符型

40

周学时

数值型

宽度1,小数位数0

学分

数值型

宽度3,小数位数1

课程性质

字符型

10

开课学期

数值型

宽度1,小数位数0

7.创建“成绩”数据库表。

表结构如下:

字段名

类型

宽度

学号

字符型

11

课程号

字符型

4

成绩

整型

8.创建“院系”数据库表。

表结构如下:

字段名

类型

宽度

院系号

字符型

2

院系名

字符型

20

院系主任

字符型

10

9.创建“专业”数据库表。

表结构如下:

字段名

类型

宽度

专业号

字符型

2

专业名

字符型

20

院系号

字符型

2

10.练习“项目管理器”中新建、添加、修改、关闭、移去按钮的应用操作。

11.随意的将某些表的名字、字段名、字段类型等进行修改、删除等操作。

练习当相应文件创建出错时该如何进行修改。

最后改回到前面要求的正确结果状态,以备后续的实验使用。

【实验总结】

1.数据库的创建可以单独创建,也可以在项目中创建。

2.表的创建可以单独创建,也可以在项目中创建,还可以在数据库设计器中创建。

实验二完整性设置

【实验目的】

1.掌握域完整性的含义及设置方法。

2.掌握实体完整性的含义及设置方法。

3.掌握参照完整性的含义及设置方法。

【实验内容】

域完整性设置:

1.将“学生”表的“学号”、“专业号”,“成绩”表的“学号”、“课程号”,“课程”表的“课程号”,“院系”表的“院系号”,“专业”表的“专业号”、“院系号”这些字段的“输入掩码”分别输入多个数字“9”。

“9”的个数分别和每个字段的宽度数相同。

2.将“学生”表的“出生日期”、“民族”、“政治面貌”、“职务”、“简历”、“照片”、“入学成绩”这些字段都设置成可以为空。

3.将“学生”表的“性别”字段的字段有效性规则设置为“性别="男"or性别="女"”,信息提示为“性别只能为男或者女!

”,默认值设置为“男”。

将“民族”字段默认值设置为“汉”。

将“政治面貌”字段的字段有效性规则设置为“"群众"$政治面貌.OR."党员"$政治面貌.OR."团员"$政治面貌”,信息提示为“只能输入群众、团员或党员”,默认值设置为“群众”。

将“入学成绩”字段的字段有效性规则设置为“入学成绩=>0.AND.入学成绩<=750”,信息提示为“您输入了一个无效的入学成绩!

”,默认值为“0”。

4.将“成绩”表的“成绩”字段的字段有效性规则设置为“成绩>=0and成绩<=100”,信息提示为“您输入了一个无效的成绩!

”,默认值为“0”。

5.将“课程”表的“周学时”字段的有效性规则设置为“周学时>0.AND.周学时<=8”,信息提示为“周学时必须大于0或者小于等于8”,无默认值。

将“学分”字段有效性设置为“学分>0”,信息提示为“学分值必须大于零!

”,无默认值。

将“课程性质”字段有效性规则设置为“"专业必修"$课程性质.OR."专业选修"$课程性质.OR."公共必修"$课程性质.OR."全院选修"$课程性质”,信息提示设置为“只能输入专业必修、专业选修、公共必修或全院选修”,无默认值。

将“开课学期”字段的有效性规则设置为“开课学期=>1.AND.开课学期<=8”,信息提示为“开课学期只能输入1~8的数字”,无默认值。

将“课程”表的记录有效性规则设置为“周学时>=学分”,信息提示为“周学时必须大于等于学!

”。

实体完整性设置:

6.将“学生”表的“学号”字段设置为主索引,索引名和索引表达式均为“学号”。

将“姓名”、“出生日期”、“入学成绩”、“专业号”字段分别设置为普通索引,索引名和索引表达式均和字段名相同。

7.将“成绩”表的“学号”和“课程号”连接起来作为主索引,索引名为“main”。

将“学号”、“课程号”、“成绩”字段分别设置为普通索引,索引名和索引表达式均和字段名相同。

8.将“课程”表的“课程号”字段设置为主索引,索引名和索引表达式均为“课程号”。

将“课程名”、“课程性质”、“开课学期”字段分别设置为普通索引,索引名和索引表达式均和字段名相同。

9.将“院系”表的“院系号”字段设置为主索引,索引名和索引表达式均为“院系号”。

10.将“专业”表的“专业号”字段设置为主索引,索引名和索引表达式均为“专业号”。

将“院系号”字段设置为普通索引,索引名和索引表达式均为“院系号”。

参照完整性设置:

11.将“院系”表和“专业”表通过“院系号”字段创建永久性联院系,并将更新规则设置为“级联”,删除规则设置为“限制”,插入规则设置为“限制”。

12.将“专业”表和“学生”表通过“专业号”字段创建永久性联院系,并将更新规则设置为“级联”,删除规则设置为“限制”,插入规则设置为“限制”。

13.将“学生”表和“成绩”表通过“学号”字段创建永久性联院系,并将更新规则设置为“级联”,删除规则设置为“限制”,插入规则设置为“限制”。

14.将“课程”表和“成绩”表通过“课程号”字段创建永久性联院系,并将更新规则设置为“级联”,删除规则设置为“限制”,插入规则设置为“限制”。

【实验总结】

1.域完整性设置限制以后输入记录时,输入的值必须满足字段要求。

2.实体完整性设置主要是为了提高查询速度,其次限制以后输入记录时,输入的记录必须满足与其它记录之间的关院系,再次设置表之间的关院系必须要创建相应索引。

3.参照完整性设置是限制输入的记录必须满足两个之间的参照要求。

4.在实际的数据库设计时应该把所有要求的完整性设置好后,再进行数据的输入、查询、输出等操作。

实验三表记录操作

【实验目的】

1.掌握表记录的新增、更新、删除等操作。

2.掌握Excel表格数据的导入操作。

3.理解完整性设置在表记录操作中的影响。

【实验内容】

1.通过VisualFoxPro“文件”菜单中的“导入”功能将配套光盘中的模拟数据文件夹中的Excel文件中的内容分别导入到相应的VisualFoxPro表中。

注意导入的顺序必须先导入“院系”、再导入“专业”、再导入“学生”、再导入“课程”、最后导入“成绩”。

“院系”导入操作流程简单提示:

文件导入导入向导文件类型选择MicrosoftExcel5.0和97(XLS)源文件定位到光盘提供的模拟数据文件“院系.xls”目标文件定位到VFP中现有的数据库表“院系.dbf”中,进入下一步将“导入起始行”修改为2,其它不变,进入下一步设置Excel表中字段与VFP中的字段的对应关系。

当两个类型的表中对应的名称完全相同时系统能自动正确对应,否则就必须手动选择对应关系。

进入下一步设置货币、数字分隔符、日期的转换格式。

若转换的表中无这些类型的字段,保持默认值即可完成。

其它表的导入完全类似,不再赘述。

2.打开“学生”表,任意对其中某些学生的简历字段进行随意的修改。

3.打开“学生”表,任意对其中某些学生的照片字段插入随意的照片。

4.尝试向“学生”表中插入一条记录,将该记录对应的专业号字段输入一个“01”~“18”之外的值,是否可行?

为什么?

5.尝试将“学生”表中第一条记录对应学号字段的值改成和第二条记录对应的学号相同的情况,是否可行?

为什么?

6.将“学生”表中第一条记录对应的学号改成一个与其它所有记录对应的学号值都不相同的情况,查看“成绩”表中原来与修改前学号字段相同的记录,修改之后是否有变化?

为什么?

7.尝试删除“学生”表中的第一条记录,是否可行?

为什么?

8.尝试修改“学生”表中某记录对应的政治面貌字段值,是否可以任意修改成其它的值?

为什么?

9.尝试向“成绩”表中插入一条记录,想想插入的记录应该满足什么条件?

10.尝试将“课程”表中的某条记录的周学时改成大于和它同行的学分字段值,是否可行?

为什么?

11.逻辑删除“成绩”表中“成绩”字段小于60的记录。

12.恢复“成绩”表中已经被逻辑删除的记录中“成绩”字段大于等于50的记录。

13.利用菜单中的“字段替换”功能,将“学生”表中所有记录民族字段对应的值后连接上一个“族”字。

14.利用菜单中的“字段替换”功能,将“学生”表中所有汉族学生对应的民族字段值后的“族”字去除。

【实验总结】

1.数据的导入在实际的数据库设计应用中经常出现。

一般一个企业要开发一个计算机应用软件系统,都是已经有了大量的数据存在了,充分利用这些数据,而无需重复数据录入等操作,可以大大节省企业的投入成本。

2.对设置了参照完整性规则的表格进行数据录入时,一定是先对父表进行录入操作,在对子表进行录入操作。

否则会出现不能录入的现象。

3.要完全领会参照完整性设置及其它完整性设置所起的作用和意义。

实验四查询设计器、视图设计器的使用

【实验目的】

1.掌握查询设计器的使用。

2.掌握视图设计器的使用。

【实验内容】

1.创建查询“院系专业人数统计.qpr”,统计各系各专业的学生人数,结果包括院系名、院系主任、专业名、专业学生人数。

2.创建视图“院系专业人数统计”,统计各系各专业的学生人数,结果包括院系名、院系主任、专业名、专业学生人数。

要求通过视图可以修改专业表中的专业名字段。

3.查询统计每个学生所选的课程成绩的平均分、单科最高分、单科最低分,并按平均分降序排列,最后将查询的结果保存到“学生成绩统计.dbf”表中。

查询结果包括学号、姓名、平均分、单科最高分、单科最低分字段,查询保存为“学生成绩统计.qpr”。

4.创建视图,查询统计每个学生所选的课程成绩的平均分、单科最高分、单科最低分,并按平均分降序排列。

查询结果包括学号、姓名、平均分、单科最高分、单科最低分字段,视图保存为“学生成绩统计”。

要求通过视图可以修改学生表中的姓名字段。

5.统计学生表中各少数名族的学生人数,结果包括民族、人数两个字段,并按人数降序排序,将查询结果保存到文本文件“少数民族学生统计.txt”中,查询保存为“少数民族学生统计.qpr”。

6.创建视图,统计学生表中各少数名族的学生人数,结果包括民族、人数两个字段,并按人数降序排序,视图保存为“少数民族学生统计”。

7.查询每个学生的选课信息,结果包括学号、姓名、课程名、学分、课程性质,查询保存为“选课信息.qpr”,查询结果输出为“选课信息.dbf”。

8.创建视图,查询每个学生的选课信息,结果包括学号、姓名、课程名、学分、课程性质,视图保存为“选课信息”。

要求通过视图可以修改课程表中的课程名字段。

9.查询既选修了“旅游学概论”,又选了“旅游管理学基础”两门课程的学生的学号、姓名,查询保存为“指定课程查询.qpr”。

10.创建视图,查询既选修了“旅游学概论”,又选了“旅游管理学基础”两门课程的学生的学号、姓名,视图保存为“指定课程查询”。

要求通过视图可以修改学生表中的姓名字段。

11.试着用至少3中不同的筛选条件,查询年龄为20和21的学生人数。

查询保存为“指定年龄查询人数.qpr”。

查询结果包括年龄段、人数两个字段,查询结果只有一条记录。

对应年龄段字段的值为“20~21”。

12.创建视图,试着用至少3中不同的筛选条件,查询年龄为20和21的学生人数。

视图保存为“指定年龄查询人数”。

查询结果包括年龄段、人数两个字段,查询结果只有一条记录。

对应年龄段字段的值为“20~21”。

13.查询各姓氏(假定只有单姓)人数在20以上的统计信息,并按姓氏升序排序,结果包括姓氏、人数两个字段。

查询保存为“姓氏人数统计.qpr”。

14.创建视图,查询各姓氏(假定只有单姓)人数在20以上的统计信息,并按姓氏升序排序,结果包括姓氏、人数两个字段。

视图保存为“姓氏人数统计”。

15.查询获学分最低的10个学生的信息,结果包括学号、姓名、学分,查询保存为“学分统计.qpr”。

16.创建视图,查询获学分最低的10个学生的信息,结果包括学号、姓名、学分,视图保存为“学分统计”。

要求通过视图可以修改学生表中的姓名字段。

17.查询课程名中包含“旅游”两个字的课程信息,结果和课程表结构相同。

查询保存为“旅游课程信息查询.qpr”。

18.创建视图,查询课程名中包含“旅游”两个字的课程信息,结果和课程表结构相同。

视图保存为“旅游课程信息查询”。

要求通过视图可以修改课程表中的课程名字段。

【实验总结】

1.查询和视图都是从大量的数据中查找满足条件的数据。

2.查询和视图都可以从表中查找数据也可以从视图中查找数据。

3.查询出来的数据只能看,不能修改,而视图可以指定某些字段可以修改原表中的数据。

4.查询设计器有输出设置,无更新条件;而视图设计器中有更新条件,无输出设置。

5.查询保存的不是结果数据,而是查询语句;视图不会有文件生成,而是存在于数据库中。

实验五SQL命令和VFP命令的应用

【实验目的】

1.掌握SQL常用命令。

2.掌握VisualFoxPro常用命令。

【实验内容】

项目、数据库及表的创建:

1.在D盘创建一个文件夹“D:

\成绩管理2”。

mdd:

\成绩管理2

2.将VFP的默认工作目录设置到新建的文件夹“成绩管理2”中。

setdefaulttod:

\成绩管理2

3.创建“成绩管理”项目文件。

createproject成绩管理

4.创建“成绩管理”数据库文件。

createdatabase成绩管理

5.创建试验一中的“学生”表。

createtable学生(学号C(11),姓名C(10),性别C

(2),出生日期D,民族C(10),政治面貌c(4),职务c(10),简历m,照片g,入学成绩n(6,2),专业号c

(2),年级c(4))

6.将“学生”表从数据库中移出。

removetable学生

7.将“学生”表添加到“成绩管理”数据库中。

addtable学生

8.删除“学生”表。

droptable学生

9.重新创建试验一中的所有表:

学生、课程、成绩、系、专业。

域完整性设置:

10.将“学生”表的“出生日期”、“民族”、“政治面貌”、“职务”、“简历”、“照片”、“入学成绩”这些字段都设置成可以为空。

altertable学生alter出生日期nullalter民族nullalter政治面貌nullalter职务nullalter简历nullalter照片nullalter入学成绩null

11.将“学生”表的“性别”字段的字段有效性规则设置为“性别="男"or性别="女"”,信息提示为“性别只能为男或者女!

”,默认值设置为“男”。

将“民族”字段默认值设置为“汉”。

将“政治面貌”字段的字段有效性规则设置为“"群众"$政治面貌.OR."党员"$政治面貌.OR."团员"$政治面貌”,信息提示为“只能输入群众、团员或党员”,默认值设置为“群众”。

将“入学成绩”字段的字段有效性规则设置为“入学成绩=>0.AND.入学成绩<=750”,信息提示为“您输入了一个无效的入学成绩!

”,默认值为“0”。

altertable学生alter性别setcheck性别="男"or性别="女"error"性别只能为男或者女!

"

altertable学生alter性别setdefault"男"

altertable学生alter民族setdefault"汉"

altertable学生alter政治面貌setcheck"群众"$政治面貌.OR."党员"$政治面貌.OR."团员"$政治面貌error"只能输入群众、团员或党员"

altertable学生alter政治面貌setdefault"群众"

altertable学生alter入学成绩setcheck入学成绩=>0.AND.入学成绩<=750error"您输入了一个无效的入学成绩!

"

altertable学生alter入学成绩setdefault0

12.将“成绩”表的“成绩”字段的字段有效性规则设置为“成绩>=0and成绩<=100”,信息提示为“您输入了一个无效的成绩!

”,默认值为“0”。

altertable成绩alter成绩setcheck成绩>=0and成绩<=100error"您输入了一个无效的成绩!

"

altertable成绩alter成绩setdefault0

13.将“课程”表的“周学时”字段的有效性规则设置为“周学时>0.AND.周学时<=8”,信息提示为“周学时必须大于0或者小于等于8”,无默认值。

将“学分”字段有效性设置为“学分>0”,信息提示为“学分值必须大于零!

”,无默认值。

将“课程性质”字段有效性规则设置为“"专业必修"$课程性质.OR."专业选修"$课程性质.OR."公共必修"$课程性质.OR."全院选修"$课程性质”,信息提示设置为“只能输入专业必修、专业选修、公共必修或全院选修”,无默认值。

将“开课学期”字段的有效性规则设置为“开课学期=>1.AND.开课学期<=8”,信息提示为“开课学期只能输入1~8的数字”,无默认值。

将“课程”表的记录有效性规则设置为“周学时>=学分”,信息提示为“周学时必须大于等于学!

”。

altertable课程alter周学时setcheck周学时>0.AND.周学时<=8error"周学时必须大于0或者小于等于8"alter学分setcheck学分>0error"学分值必须大于零!

"

altertable课程alter课程性质setcheck"专业必修"$课程性质.OR."专业选修"$课程性质.OR."公共必修"$课程性质.OR."全院选修"$课程性质error"只能输入专业必修、专业选修、公共必修或全院选修"

altertable课程alter开课学期setcheck开课学期=>1.AND.开课学期<=8error"开课学期只能输入1~8的数字"

altertable课程setcheck周学时>=学分error"周学时必须大于等于学!

"

实体完整性设置:

14.将“学生”表的“学号”字段设置为主索引,索引名和索引表达式均为“学号”。

将“姓名”、“出生日期”、“入学成绩”、“专业号”字段分别设置为普通索引,索引名和索引表达式均和字段名相同。

altertable学生addprimarykey学号tag学号

use学生&&select学生

indexon姓名tag姓名

indexon出生日期tag出生日期

indexon入学成绩tag入学成绩

indexon专业号tag专业号

15.将“成绩”表的“学号”和“课程号”连接起来作为主索引,索引名为“main”。

将“学号”、“课程号”、“成绩”字段分别设置为普通索引,索引名和索引表达式均和字段名相同。

altertable成绩addprimarykey学号+课程号tagmain

use成绩&&select成绩

indexon学号tag学号

indexon课程号tag课程号

indexon成绩tag成绩

16.将“课程”表的“课程号”字段设置为主索引,索引名和索引表达式均为“课程号”。

将“课程名”、“课程性质”、“开课学期”字段分别设置为普通索引,索引名和索引表达式均和字段名相同。

17.将“院系”表的“院系号”字段设置为主索引,索引名和索引表达式均为“院系号”。

18.将“专业”表的“专业号”字段设置为主索引,索引名和索引表达式均为“专业号”。

将“院系号”字段设置为普通索引,索引名和索引表达式均为“院系号”。

表记录操作

19.将“成绩管理”文件夹中各表的数据记录,复制到“成绩管理2“文件夹中的相应表中。

use院系

APPENDFROMd:

\成绩管理\院系.dbf

use专业

APPENDFROMd:

\成绩管理\专业.dbf

use学生

APPENDFROMd:

\成绩管理\学生.dbf

use课程

APPENDFROMd:

\成绩管理\课程.dbf

use成绩

APPENDFROMd:

\成绩管理\成绩.dbf

20.将学生表中的简历字段值都该为“简历介绍”四个字的内容。

update学生set简历="简历介绍"&&SQL命令

use学生&&或者select学生

replaceall简历with"简历介绍"&&VFP命令

21.将少数名族学生的入学成绩都在原来的基础上加上10分。

update学生set入学成绩=入学成绩+10where民族<>"汉"&&SQL命令

use学生

replaceall入学成绩with入学成绩+10for民族<>"汉"&&VFP命令

22.将“学生”表中所有汉族学生对应的民族字段值后添加一个“族”字。

update学生set民族=alltrim(民族)+"族"where民族="汉"

23.在成绩表中插入一条新的记录("20101200111","1096",90)。

insertinto成绩values("20101200110","1096",90)

24.在学生表中插入一条新的记录学号:

"20101200111",姓名:

"张

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1