1、实验三+表的基本操作实验三 表的基本操作一、实验目的1 掌握表建立的方法以及修改表结构的方法。2 掌握表中数据输入的方法。3 掌握记录指针的移动方法。4 掌握表的基本操作:追加、插入、修改、显示、删除和恢复记录。5 掌握表中的数据访问控制方式。6 掌握表的排序和索引及使用。7 掌握多个工作区和多表的操作方法。二、实验内容和步骤1.创建自由表。(1)创建学生情况表(xsqk.dbf)表结构如下:字段名 类型 宽度 小数位 索引 null学号 C 8 姓名 C 8 性别 C 2 专业 C 12 出生日期 D 8 入学分数 N 3 0 团员 L 1 备注 M 4 照片 G 4 在D盘创建学生管理文件
2、夹,选择“工具/选项/文件位置”把该文件夹设为VFP的默认工作目录。 选择“文件/新建/表/新建文件”,在“创建”对话框中的输入表名文本框输入“xsqk”,单击“保存”按钮。 进入图1所示的表设计器,依次设置表的所有字段名字、类型、宽度和小数位数。最后单击“确定”按钮。 系统提示现在录入记录吗,单击“是”,录入下面两条记录。 录入两条记录完毕,选择“显示/浏览”命令查看录入的两条记录。 选择“显示/追加方式”命令,继续输入以下三条记录。 选择“显示/表设计器”命令,或在命令窗口输入“MODIFY STRUCTURE”,打开表设计器,修改表结构,在性别后加一字段籍贯(c,20)。(2)创建课程表
3、(kc.dbf) 表结构如下:字段名 类型 宽度 小数位 索引 null课程号 C 4 课程名 C 12 学分 N 1 0 先修课 C 10 表结构建立完毕,输入以下记录:(3)创建成绩表(cj.dbf) 表结构如下:字段名 类型 宽度 小数位 索引 null学号 C 8 课程号 C 4 学期 C 1 成绩 N 3 0 在表中输入以下记录:建好的表,请截图展示:2.打开表并查看表中记录。(1)显示学生情况表(xsqk.dbf)中的记录。菜单操作:选择“文件/打开”命令,在打开对话框中把文件类型设为“表(*.dbf)”,如图2所示。 选定“xsqk.dbf”,单击“确定”按钮,即打开xsqk表,
4、观察主窗口中状态栏的变化。 选择“显示/浏览”命令,即可浏览查看xsqk表中的记录。命令法:1 打开表: USE xsqk2 浏览记录:BROWSE3 关闭表:USE(2)用菜单操作和命令两种方法显示课程表(kc.dbf)中的记录。(3)用菜单操作和命令两种方法显示成绩表(cj.dbf)中的记录。3.表中记录定位。(1)打开学生情况表(xsqk.dbf),将记录指针指向第1记录,并测试函数recno(),eof(),bof()的结果。菜单操作:1 打开xsqk.dbf,选择“显示/浏览”命令,浏览表中记录。2 选择“表/转到记录/第一个”命令。3 在命令窗口输入命令:?recno(),eof(
5、),bof()4 显示结果为:1 .F. .F.命令法:1 打开表: USE xsqk2 定位记录:GO 13 测试函数结果:?recno(),eof(),bof()(2)分别用菜单法和命令法进行下列操作,然后把测试结果填入表中。 移动记录指针测试函数的值定位记录指针RECN()的值EOF()的值BOF()的值定位第1条记录后,执行SKIP-11FF第3条记录3FF第5条记录5FF定位最后一条记录5FF定位最后一条记录后,执行SKIP+16TF(3)条件定位1 打开表: USE xsqk2 查找姓名为张晓伟的记录。命令:LOCATE FOR 姓名=张晓伟3 在命令窗口用found()函数和Eo
6、f()函数测试是否找到该记录。Found()函数的值是:T分析结果:找到了就是真Eof()函数的值是:F分析结果:Eof是文件尾,找到为假,找不到为真。4.修改表中记录。把课程表中所有3学分改为4学分。(1)用手工方式修改表中记录。1 选择“文件/打开”命令,打开课程表(kc.dbf)。2 选择“显示/浏览”命令,浏览表。3 移动记录指针到学分为3的地方,直接输入4即可。注意:修改时一定要小心谨慎。(2)批量修改记录。把课程表中所有4学分重新改为3学分。菜单操作:1 选择“文件/打开”命令,打开课程表(kc.dbf)。2 选择“显示/浏览”命令,浏览表。3 选择“表/替换字段”命令,打开图3所
7、示“替换字段”对话框。4 把所有学分为4的课程的学分改为3。图4 替换字段对话框 命令法:1 打开表: USE kc2 把所有学分为4的课程的学分重新改为3。命令:REPLACE ALL kc.学分 WITH 3 FOR kc.学分=45.删除与恢复表中记录。(1)逻辑删除学生情况表(xsqk.daf)中专业为“市场营销”的所有记录。菜单操作:1 选择“文件/打开”命令,打开学生情况表(xsqk.dbf)。2 选择“显示/浏览”命令,浏览表。3 选择“表/删除记录”命令,打开图5所示“删除”对话框。4 在“删除”对话框设置删除专业为“市场营销”的记录。5 单击“确定”按钮,所有“市场营销”专业
8、的记录打上了黑色删除标记。图5 删除对话框命令法:1 打开表:USE xsqk2 逻辑删除专业为“市场营销”的记录。命令:DELETE ALL FOR xsqk.专业=市场营销(2)物理删除记录和恢复记录 去掉张晓伟所打的删除标记,彻底删除其他打上删除标记的记录。菜单操作:1 选择“文件/打开”命令,打开学生情况表(xsqk.dbf)。2 选择“显示/浏览”命令,浏览表。3 用鼠标单击记录张小伟前的黑色删除标记,即可去掉删除标记。也可选择“表/恢复记录”命令去掉删除标记。4 选择“表/彻底删除”命令可以物理删除已打上删除标记的记录。命令法:1 打开表:USE xsqk2 恢复张小伟这条记录。命
9、令:RECALL ALL FOR xsqk.姓名=张晓伟3 物理删除其它打上删除标记的记录。命令:PACK6.表的排序与索引。(1)表的排序 对学生情况表(xsqk.daf)按入学分数从高到低排序生成表文件rxfs.dbf,并检查排序结果。命令:use xsqksort to rxfs on 入学分数/d(2)建立表的索引对学生情况表(xsqk.dbf)建立以学号为主关键字的候选索引xh。菜单操作:1 选择“文件/打开”命令,打开学生情况表(xsqk.dbf)。2 选择“显示/表设计器”命令,打开表设计器。3 在“索引”区域选择升序或降序。4 单击“索引”选项卡,打开如图6所示的建立索引对话框
10、,在索引名处输入“xh”,类型设为“候选索引”,单击“确定”按钮。图6 建立索引命令法:1 打开表: USE xsqk2 建立索引:INDEX ON 学号 TAG xh CANDIDATE 参照以上两种方法对学生情况表建立以下索引:1 以姓名为关键字建立普通索引xm。2 以出生日期为关键字建立普通索引csrq。3 以入学分数为关键字建立普通索引rxfs且降序排列。命令:USE xsqkINDEX ON 姓名 TAG xm index on 出生日期 tag csrqindex on 入学分数 tag rxfs desc参照以上两种方法对成绩表cj.dbf建立以下索引:1 以学号为关键字建立普通
11、索引xh;2 以课程号为关键字建立普通索引kch;3 以学号+课程号为关键字建立候选索引(xhkc)命令:use cjindex on 学号 tag xhindex on 课程号 tag kchindex on 学号+课程号 tag xhkc cand(3)索引查询的使用。按姓名查询张晓伟的情况,并测试是否找到,如果找到显示结果。1 打开学生情况表(xsqk.dbf):USE xsqk2 把姓名为关键字建立的普通索引xm作为主控索引:SET ORDER TO TAG xm 3 索引查找: SEEK ”张晓伟”4 测试查找结果:?RECNO(),FOUND() 4 .T.5 显示查找结果:DIS
12、PLAY参照上述步骤查找学号为“20070105”的学生情况,并测试是否找到,如果找到显示结果。写出命令序列:USE xsqkset order to tag xhseek 20070105?RECNO(),FOUND()DISPLAY参照上述步骤查找出生日期为“12/01/88”的学生情况,并测试是否找到,如果找到显示结果。写出命令序列:use xsqkset order to tag csrqseek1988/12/01?RECNO(),FOUND()DISPLAY7.多个工作区操作。(1)练习在多个工作区打开多个表。菜单操作:1 选择“窗口/数据工作期”命令,打开数据工作期对话框。2 依
13、次选择“打开”按钮,打开xsqk,kc,cj三个表,如图7所示。3 选中工作表,单击“关闭”按钮可以依次关闭所有表。图7 数据工作期窗口命令法:1 在1区打开学生情况表:SELECT 1USE xsqk2 在 2区打开课程表:SELECT 2USE kc3 在3区打开成绩表:SELECT 3USE cj4 关闭所有打开的表:CLOSE TABLES(2)多表数据查询。列出李小霞所选的课程号及成绩。1 在1区打开学生情况表(xsqk.dbf)定位李小霞。命令:SELE 1USE XSQKset order to tag xmSEEK 李小霞display2 在2区打开成绩表(cj.dbf),显示
14、成绩表中和1区学号相同的记录就是李小霞的成绩。(要求:最后显示的字段有学号,姓名,课程号,成绩)命令:SELE 1USE XSQKset order to tag xmSEEK 李小霞sele 2use cjset order to tag xhseek 20070101display(3)表的关联创建学生情况表(xsqk.dbf)和成绩表(cj.dbf)的一对多关联,并显示关联结果。菜单操作:1 选择“窗口/数据工作期”命令,打开数据工作期对话框。2 依次打开表xsqk和cj。3 选中cj表,单击“属性”命令按钮,把cj表的索引顺序选为xh。4 选中xsqk表,单击“关系”按钮,然后单击cj
15、表,在图8所示的“表达式生成器”对话框中选择“学号”字段,单击“确定”按钮。两表已经建立关联。5 单击“一对多”按钮,为两表建立一对多关联。6 在命令窗口输入命令“BROWSE FIELDS 姓名,cj.课程号,cj.成绩”,显示一对多关联后结果,如图9所示。图8 表达式生成器窗口图9 一对多关联后结果命令法:1 选择工作区1打开学生情况表(xsqk.dbf)。命令:sele 1 Use xsqk 2 选择工作区2打开成绩表(cj.dbf),并把按学号字段建立的索引作为主索引。命令:use cj Index on 学号 tag xh 3 重新回到工作区1,建立表xsqk和cj的关联。命令:sele 1 Set relation to 学号 into cj4 建立一对多关联:命令:set skip to cj5 在命令窗口执行“BROWSE FIELDS 姓名,cj.课程号,cj.成绩”显示一对多关联后结果和图9一致。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1