VF上机指导.docx

上传人:b****6 文档编号:3282827 上传时间:2022-11-21 格式:DOCX 页数:31 大小:156.23KB
下载 相关 举报
VF上机指导.docx_第1页
第1页 / 共31页
VF上机指导.docx_第2页
第2页 / 共31页
VF上机指导.docx_第3页
第3页 / 共31页
VF上机指导.docx_第4页
第4页 / 共31页
VF上机指导.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

VF上机指导.docx

《VF上机指导.docx》由会员分享,可在线阅读,更多相关《VF上机指导.docx(31页珍藏版)》请在冰豆网上搜索。

VF上机指导.docx

VF上机指导

实验1 自由表的创建、打开及关闭

6.1实例说明

在本实例中,以学生统计表(Xstj.dbf)为操作对象,其表结构信息如表6.1所示:

表6.1 xstj.dbf表结构信息

字段名

学号

姓名

性别

年龄

出生日期

简历

字段类型

C

C

L

N

D

M

字段宽度

4

6

2

小数位数

0

它的记录内容如表6.2所示:

表6.2 xstj.dbf表记录内容

0001

张晓明

T

18

10/14/84

Memo

0002

江红

F

19

03/26/83

Memo

0003

赵欣

T

17

09/09/85

Memo

0004

袁久平

T

19

12/20/83

Memo

0005

李立

T

18

11/12/84

Memo

0006

王俊杰

T

17

07/19/85

Memo

注:

T表示为男,F表示为女。

6.2实例目的

在本实例中,要求熟练掌握如下内容:

1)自由表结构的创建及表记录的输入;

2)自由表的打开与关闭。

6.3实例步骤

6.3.1表结构的创建

创建xstj.dbf表结构,实现步骤如下:

1)选择“文件”菜单下的

菜单项,或单击常用工具栏中的

按钮,在弹出的“新建”对话框中选中

项,然后单击

按钮;

2)弹出“创建”对话框,在

中输入xstj.dbf后,单击

按钮;

3)弹出表设计器对话框,在该窗口中,按表6.1提供的信息建立表结构。

4)表结构建好后,单击表设计器右边的

按钮,系统提示是否立即输入数据,选择

按钮,表示以后再输入数据。

在命令窗口中输入Create或CreateXSTJ两条命令,观察各自实现什么操作?

_________________________________________________。

6.3.2表的关闭与打开及表记录的输入

先关闭xstj.dbf自由表,再打开它,然后输入记录,实现步骤如下:

1)在命令窗口中执行Use或CloseAll或ClearAll命令后,查看“显示”菜单下有_________________菜单项;

2)单击“文件”菜单下的

菜单项,在弹出的打开对话框中选中xstj.dbf表后,单击

按钮,或在命令窗口中直接执行UseXSTJ命令。

再查看“显示”菜单下有___________________________菜单项;

如果打开对话框中没有xstj.dbf表,首先检查

下拉框中是否为“表(*.dbf)”项;如果还没有,则应检查路径是否正确。

3)选择“显示”菜单下的

菜单项,打开Xscj.dbf表的浏览窗口。

再查看“显示”菜单下___________________________________

________菜单项;

在浏览窗口中输入数据,能定位光标吗?

________________。

4)单击“显示”菜单下的

菜单项,打开编辑窗口,按表6.2的内容输入。

5)输入完毕后,单击浏览窗口右上角的

按钮,再查看“显示”菜单的变化。

6)在命令窗口中执行Use或CloseAll或ClearAll命令后,再查看“显示”子菜单的变化。

6.4再想一想

建立表结构实质就是定义表中各字段的属性,怎样确定各个字段的属性?

实验2 表结构或表记录内容的显示

7.1实例说明

在本实例中,以学生统计表(Xstj.dbf)为操作对象。

7.2实例目的

在本实例中,要求熟练显示Xstj.dbf表的结构信息和记录内容。

7.3实例步骤

  7.3.1显示表结构

显示表的结构,可使用List/DisplayStructure[ToPrint]来实现。

请在命令窗口中依次输入下列各条命令语句,并观察其结果。

ClearAll

UseXSTJ

ListStructure

CloseAll

UseXSTJ

DisplayStructure

ClearAll

Display和List命令的区别是___________________________________。

  7.3.2显示表记录内容

显示表记录内容,可使用List/Display [范围][Fields<字段名表>][For/While<条件>][Off][ToPrint]实现。

在命令窗口中输入如下语句,并观察其操作结果。

1)试显示Xstj.dbf自由表的全部记录内容。

CloseAll

UseXSTJ

List

Clear

Display

List和Display所显示的结果是否相同?

____________。

缺省范围时,Display是针对_________记录操作,而List是针对________记录操作。

怎样才能使Display同List的显示结果相同呢?

_____________________________________。

Clear

DisplayAll

CloseAll

2)显示Xstj.dbf表中第4号记录内容。

UseXSTJ

DisplayRecord4  &&可等价表示为______________________。

Go4        &&定位到第4号记录

Display       &&此处能等价为List吗?

__________________。

CloseAll

3)试显示Xstj.dbf表中第4号记录到最后一条记录的内容。

UseXSTJ

Go4

ListRest    &&可等价表示为______________________。

CloseAll

4)试显示Xstj.dbf表中第4、5、6三条连续的记录内容。

UseXSTJ

Go4

DisplayNext3      &&可等价表示为______________________。

Clear

Clear命令的作用是____________________;关闭了Xstj.dbf表没有?

_______;如果还处于打开状态,就可直接对数据表进行相关操作。

5)试显示Xstj.dbf表中所有年龄不小于18岁的男同学的记录内容,显示时仅显示学号、姓名、性别和年龄四个字段的数据。

ListFields学号,姓名,性别,年龄For年龄>=18And性别=.T.

Clear

GoTop

ListFields学号,姓名,性别,年龄While年龄>=18And性别=.T.

上面两条命令的显示结果相同吗,如果不同,想想为什么?

____________________。

如果去掉GoTop命令,又会是什么结果?

____________________。

6)试显示Xstj.dbf表中所有出生日期在84年国庆之后的女同学记录,仅显示姓名、性别和出生日期三个字段,显示时不显示记录号。

Clear

ListFields姓名,性别,出生日期 For出生日期>=CTOD(“10/01/84”);

And性别=.F.Off

SetStrictTo0

ListFields姓名,性别,出生日期For出生日期>={10/01/84};

And性别=.F.Off

两显示命令的操作结果相同吗?

________。

希望通过上述例子学会如何来构造各种类型的条件表达式。

CloseAll

  7.3.3以窗口形式显示记录内容

用List/Display显示记录内容时,其操作结果显示在VFP6.0主窗口的工作区中。

在VFP6.0中,还提供了“浏览窗口”和“编辑窗口”两种显示形式。

请在命令窗口中输入如下命令,仔细比较每个操作的结果。

UseXSTJ

Browse&&或单击“显示”→

来实现

Edit&&或单击“显示”→

来实现

比较浏览窗口和编辑窗口在显示记录内容时两者之间的区别?

_______________________________________。

BrowseFields学号,姓名,性别,年龄For年龄>=18And性别=.T.

BrowseFields姓名,性别,出生日期;

For出生日期>={10/01/84}And性别=.F.

Go4

BrowseRest

只显示第4号记录之后的记录内容吗?

___________________________________。

Browse能带Fields和<条件>子句,但不能带范围子句。

ClearAll

7.4再想一想

  如何构造算术型、字符型、逻辑型和日期型等字段的条件表达式,请举例说明。

实验3 记录指针的定位

.

实例说明

本实例以Xstj.dbf表为操作对象,表中共有八条记录。

.2实例目的

在本实例中,要求熟练掌握如下内容:

1)用命令或菜单两种方式完成记录指针的绝对定位和相对定位操作;

2)能熟练使用Recno()、Eof()、Bof()和Reccount()四个测试函数。

.3实例步骤

.3.1绝对定位操作

可用Go命令实现记录指针的绝对定位操作。

在命令窗口中输入下列命令,填写所调试得到的结果。

ClearAll

UseXSTJ

?

Recno()________

?

Bof()________

对于刚打开的数据表,指针指向第______条记录,指针并没有指到表的开头。

Go3&&也可用“表”→

来实现。

?

Recno()________

GoBottom&&也可用“表”→

来实现。

?

Recno()________

?

Eof()________

用GoBottom命令可使记录指针指向尾记录,但并没有指到表的末尾。

GoTop&&也可用“表”→

来实现。

?

Recno()________

?

Bof()________

用GoTop命令可使记录指针指向首记录,但并没有指到表的开头。

CloseAll

.3.2相对定位操作

可用Skip命令实现记录指针的相对定位操作。

在命令窗口中输入下列命令,在相应的下划线处填写所调试得到的结果。

UseXSTJ

?

Recno()________

Skip    &&也可用“表”→

来实现。

?

Recno()________

Skip3

?

Recno()________

GoBottom

?

Recno()________

?

Eof()________

Skip

?

Reccount()________&&测试Xstj.dbf表中记录的总数。

?

Recno()________

?

Eof()________

尾记录再向后移动一条记录后,即到文件的末尾,此时的Eof()函数为真。

记录指针指向尾记录的下一条记录号。

GoTop

?

Recno()________

?

Bof()________

Skip–1&&也可用“表”→

来实现。

?

Recno()________

?

Bof()________

首记录再向前移动一条记录后,即到文件的开头,此时的Bof()函数为真。

记录指针仍然指向第一个记录号。

8.4再想一想

  绝对定位和相对定位两种定位方式在移动记录指针时的参照点各自是什么?

实验4 记录的插入与删除

9.1实例说明

在Xstj.dbf自由表中,只有学号为0001~0006的前6条记录。

先向Xstj.dbf表中追加一条学号为0008的新记录,然后在0006与0008号记录间插入学号为0007号的记录。

两条记录内容如表9.1所示。

表9.1新增记录内容

0007

陈云友

T

19

11/30/83

Memo

0008

朱秋萍

F

18

01/21/84

Memo

 

9.2实例目的

在本实例中,要求熟练掌握如下内容:

1)用Append、Insert、InsertInto完成新记录的追加与插入操作;

2)用Delete、Recall、Pack和Zap完成记录的删除与恢复操作。

9.3实例步骤

在命令窗口中输入下列内容,并在下划线处填写观察到的结果。

1)用Append在0006号记录之后追加0008号新记录

ClearAll

UseXSTJ

Append        &&也可使用“显示”→

来完成

 &&执行该命令后,打开编辑窗口,输入0008号记录内容。

然后关闭编辑窗口。

?

Recno()      _______

CloseALL

2)删除刚新增的0008号记录

UseXSTJ

?

Recno()      _______

DeleteRecord7    &&也可用“表”→

来构造该语句。

List

Browse

 RecallRecord7&&也可用“表”→

来构造该语句。

Go7

?

Recno()_______

Delete

Pack &&也可用“表”→

菜单项来实现。

List

第7号记录逻辑删除后,在工作区和浏览窗口中,各加什么特殊标记?

______。

上条Delete命令为什么不需要添加条件?

________________________________。

3)用InsertInto命令在0006号记录之后重新追加0008号新记录

CloseAll      &&Xstj.dbf表已被关闭

SetStrictDateTo0

InsertIntoXSTJ(学号,姓名,性别,年龄,出生日期)Values;

(“0008”,“朱秋萍”,.F.,18,{02/21/84})

UseXSTJ

Browse

因为InsertInto是一条SQL命令,虽然表是关闭的,但仍可向该表追加新记录。

4)用Insert在0006号与0008号记录之间插入0007号记录

ClearAll

UseXSTJ

Go6

?

Recno()_______

Insert

&&执行该命令后,打开编辑窗口,输入0007号记录的内容。

然后关闭编辑窗口。

?

Recno()_______

测试的记录号是新增记录的记录号吗?

_______________________________。

Delete

Pack

Browse

Go7

InsertBefore&&重新输入0007号记录的内容。

9.4再想一想

数据表结构创建完成时就可录入记录数据,为什么还要使用专门的插入和追加命令?

实验5 表的编辑修改

10.1实例说明

在本实例中,在Xstj.dbf表的基础之上增加表10.1所示字段和表10.2所示记录内容。

表10.1 新增字段表10.2 新增记录内容

0001

74.8

83.4

45.7

0002

67.4

65.9

86.4

0003

83.2

84.2

77.6

0004

90.0

89.7

86.4

0005

95.4

90.6

96.4

0006

37.6

50.0

49.8

0007

67.6

84.9

82.4

0008

76.4

77.6

68.4

YW

SX

英语

总分

平均分

N

N

N

N

N

4

4

4

4

4

1

1

1

1

1

      

10.2实例目的            

在本实例中,要求熟练掌握如下内容:

1)用表设计器或SQL命令完成表结构的修改操作;

2)用Edit、Browse、Replace和Update等命令完成表记录内容的修改操作。

10.3实例步骤

  10.3.1表结构的修改

  1)利用表设计器修改结构

在表设计器中,先新增“SX”字段,然后插入“YW”字段。

操作步骤如下:

①在命令窗口中输入UseXSTJ命令,打开Xstj.dbf表;

②选择“显示”菜单下的

菜单项,弹出Xstj.dbf表设计器窗口;也可在命令窗口中输入ModifyStructure命令,直接打开表设计器窗口;

③光标定位到最后的字段名框中,输入新增的“SX”字段结构信息;

④选中“SX”字段,然后单击表设计器窗口右侧的

按钮,则会在“SX”字段前插入一个新字段,然后把它修改为“YW”字段的结构信息。

修改完成后,单击表设计器右侧的

按钮,此时弹出是否修改为永久结构的提示信息框。

单击

按钮,退出表设计器。

打开表设计器,有时候不能修改结构,怎样设置后,才可修改?

________________________________________________________。

2)利用SQL命令修改结构

使用SQL语言提供的AlterTable命令,先把“YW”和“SX”两个字段名改为“语文”和“数学”;然后按表10.1提供的结构信息新增“英语”、“总分”、“平均分”三个字段;最后把“总分”字段的总宽度从4改为5。

在命令窗口中输入如下命令来实现上述操作:

CloseAll&&Xstj.dbf处于关闭状态

AlterTableXSTJRenameColumnYWTo语文

AlterTableXSTJRenameColumnSXTo数学

AlterTableXSTJAddColumn英语N(4,1)

AlterTableXSTJAddColumn总分N(4,1)

AlterTableXSTJAddColumn平均分N(4,1)

AlterTableXSTJAlterColumn总分N(5,1)

UseXSTJ

ModifyStructure&&查看表设计器中的结构信息是否达到了题目要求

ClearAll

10.3.2表记录的修改

1)编辑命令━━Edit/Change

用编辑命令来打开编辑窗口,只显示“学号”、“语文”、“数学”、“英语”四个字段,按表10.2所提供的信息,只修改0001、0002号的记录内容。

步骤如下:

UseXSTJ

EditFields学号,语文,数学,英语For学号<”0003”

在打开的编辑窗口中,输入表10.2所提供的0001和0002号的记录内容,然后单击右上角的

按钮,退出编辑窗口。

2)浏览命令━━Browse

用浏览命令来打开浏览窗口,仍然只显示“学号”、“语文”、“数学”、“英语”四个字段,按表10.2所提供的信息输入剩余的记录内容。

步骤如下:

ClearAll

UseXSTJ

BrowseFields学号,语文,数学,英语

能否在Browse命令中加上For学号>”0002”这样的条件?

_________________。

拖动浏览窗口的分割器,把窗口分为两个分区来显示,左分区为浏览格式,用于定位要修改的某一条记录;右分区为编辑格式,根据对应的记录号,输入表10.2的记录内容。

3)替换命令━━Replace

根据语文、数学、英语三个字段的值,用替换命令Replace求总分和平均分。

具体实现步骤如下:

CloseAll

UseXSTJ

Browse

ReplaceAll总分With语文+数学+英语

ReplaceAll平均分With总分/3&&可用“表”→

来实现

仔细观察浏览窗口中数据的变化,把上两条Replace命令改为一条等价的Replace命令语句为____________________________________________________。

4)批量更新命令━━Update

把Xstj.dbf表中的语文、数学、英语三个字段的值从100分制改为150分制,因此每条记录的字段值都要乘以系数1.5,要分别求总分和平均分。

可用SQL提供的Update命令来实现。

具体步骤如下:

CloseAll

UpdateXSTJSet语文=语文*1.5,数学=数学*1.5,英语=英语*1.5

UpdateXSTJSet总分=语文+数学+英语,平均分=(语文+数学+英语)/3

UseXSTJ

Browse&&仔细观察浏览窗口中的数据,达到题目的要求了吗!

10.4再想一想

1)修改数据表结构时,如何防止原有数据记录的丢失?

2)能否用Replace或Update命令来统计语文、数学、英语的最高分、最低分及平均成绩等?

实验6 表的复制与传递

11.1实例说明

把Xstj.dbf表的结构拆分为学生档案表(Xsda.dbf)和学生成绩表(Xscj.dbf)两个子表,具体结构如表11.1和表11.2所示,新增的记录内容如表11.3和表11.4所

学号

姓名

性别

年龄

出生日期

简历

学号

语文

数学

英语

总分

平均分

表11.1  Xsda.dbf结构表11.2  Xscj.dbf结构

0009

78.4

88.4

95.6

0010

78.9

95.7

84.3

0009

朱锟

F

19

02/01/83

Memo

0010

夏渝

T

17

08/25/85

Memo

表11.3  Xsda.dbf记录内容表11.4  Xscj.dbf记录内容

 

11.2实例目的

在本实例中,要求熟练掌握如下内容:

1)复制表的结构生成新表;

2)表结构和记录内容的复制与传递操作;

11.3实例步骤

  11.3.1表结构的复制

把Xstj.dbf表拆分为表11.1和表11.2所示的Xsda1.dbf和Xscj1.dbf两个子表,然后在各个表中新增0009、0010两条记录内容。

可在命令窗口中输入下列语句来实现:

1)复制结构生成Xsda1.dbf表,添加0009、0010两条记录内容

CloseAll

UseXSTJ

CopyStructureToXSDA1Fields学号,姓名,性别,年龄,出生日期,简历

UseXSDA1

Append

&&在打开的编辑窗口中输入表11.3所示的0009、0010号记录内容。

2)复制结构生成Xscj1.dbf表,并添加0009、0010两条记录

CloseAll

UseXSTJ

CopyStructureToXSCJ1Fields学号,语文

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

当前位置:首页 > 小学教育 > 语文

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

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