vf常用命令
更新时间:2023-03-19 18:54:01 阅读量: 人文社科 文档下载
VF常用命令
本资料所用到的表及其结构如下:
图1 学生表.dbf 结构
图2 选课表.dbf 结构
VF常用命令
图3 课程表.dbf 结构
1
本资料所用到的表及其结构如下:
图1 学生表.dbf 结构
图2 选课表.dbf 结构
图3 课程表.dbf 结构
2
1、设置工作目录:set default to
命令格式: set default to <目录名>
命令功能: 设置vfp系统默认的工作目录 (文件夹),以后存取文件均以该文件夹作为 默认文件夹。
实例1: set defa to d:\data 练 习: 打开vfp,然后观察此时的默认工作目录;再在D盘新建一文件夹:test,并设置
该文件夹为vfp的默认工作目录。
2、赋值语句:Store 、 =
Store格式:Stroe <表达式> to <内存变量名表>
功能: 将表达式的值赋给内存变量名表中的变量。
实例1: store 100 to a1, a2 , b, c, num
=格式: <变量名>=<表达式>
功能:
注意:表达式与变量名顺序不能写反了。
3、输出命令:? 、??
VF常用命令
命令格式1: ?<表达式列表>
命令格式2:??<表达式列表>
4、定义数组命令: dimension、declare
命令格式: dimension/declare <数组名1>[<下标上界1>[,<下标上界2]…]
命令功能: 定义一维数组或二维数组,每一维的下标一般从1 开始。
实例 1: Dimension A(20),B(3,2)
B(1,1)=10
B(1,2)=20
B(2,2)=30
B(6)=40
? B(1,1), B(1,2), B(2,2), B(3,2)
实例 2: Dimension sz1(20),sz2(3,2)
Store 10 to sz1
store “警察学院” to sz2(1,1)
sz2(3,2)=.F.
sz(2,1)=3.14159
如果数组元素没有赋值,则默认值为 .F.
历史考题:语句DIME TM(3,5)定义的数组元素的个数是( ) (15)
练 习: 定义一个4 行5 列的二维数组,数组名为Arr1,给元素赋值(第一个元 素值为10,第四个元素值为20,第七个元素值为”hello”,最后一个元素
值为888)。
5、打开/关闭表命令: use 、close all
命令格式1: use<表文件名>[ exclusive | shared]
命令功能: 以独占或者共享方式打开指定的表(默认方式是exclusive(独占)),如果只 3
是单独的use命令,则关闭当前表。
实例1: use D:\data\学生表 shared
实例2: set default to d:\data
use 学生表
实例3: use
练 习: 以独占的方式打开d:\data 里的教师表.dbf,然后关闭该表。
命令格式2: close all
命令功能: 关闭所有的表及释放所有的内存变量。
6、查看记录命令: list/display
命令格式: list/display[范围][fields<字段名>][for<条件表达式>][to printer][to file<文 件名>][off]
命令功能: 在工作区窗口显示当前表中的记录,list默认范围是all,若一屏显示不下, 也不会暂停,直到显示完最后一条记录;display 默认范围是当前记录,
如果使用display all,则分屏显示。
注意[范围]参数可以是:
all 表示全部记录
VF常用命令
Next <n> 表示从当前记录开始(含当前记录)的N条记录
Record <n> 表示第n条记录
Rest 表示从当前记录起到最后一条记录为止的所有记录
实例 1: Use 学生表
List fields 学号,姓名,入校总分
List for 性别=’男’
实例 2: use 学生表
Display
display all
display all for 性别 .and. 入校总分>=500
display fields 学号,姓名,性别,入校总分 for 性别='男'.and.入校总分>=500
练习1: 分别用list和display命令显示所有女生记录(要求显示学号,姓名,性别,入校总 分);
练习2: 分别用list和display命令显示1988年1月1日前出生的学生记录;
list for 出生日期<{^1988-01-01}
练习3: 分别用list和display命令显示目前年龄大于20岁的学生记录(要求显示学号, 姓名,性别,入校总分);
list for (date()-出生日期)/365>20
练习4: 用Disp命令显示第四条记录后(含第四条记录)的所有记录
7、浏览记录命令:browse
命令格式: browse [fields<字段名表>] [for<条件>]
命令功能: 在浏览窗口中显示满足条件的记录,缺省fields参数则显示所有的字段。 实例1: use 学生表
Browse
Browse fields 学号,姓名,入校总分 for 性别='男'
练 习: 浏览侦查专业的所有成都籍女生记录的学号、姓名和入校总分。
4
比 较: list、display和browse的区别
8、添加记录命令:append [blank]
命令格式: append [blank]
命令功能: 不加参数blank,在已打开的表末尾添加一条空白记录,并显示要求立即输入 数据;如果加参数blank,则在表末尾添加一条空白记录。
实例1: use 学生表
append
实例2: use 学生表
append blank
练 习: 在学生表的末尾再添加一条学号为x00101,姓名为李四的记录。
9、插入记录命令:insert
命令格式: insert [blank] [before]
命令功能: 在当前表的当前记录后(缺省before 参数)或前(有before 参数)添加一条 记录,并要求立即输入该条记录,如果有参数blank,则添加一条空白记录。
VF常用命令
实例1: use 学生表
go 4
insert
实例2: use 学生表
go 4
insert blank before
练 习: 操作上述两实例。
10、记录定位命令:go(绝对移动指针)、skip(相对当前记录而言移动指针) 命令格式1: go top | bottom
命令功能: 将当前表的记录指针移到第一条记录或表的最后一条记录
实例 1: go bottom
实例 2: go top
命令格式2:go <数值表达式>
命令功能: 将当前表的记录指针移到记录号为数值表达式值的那条记录上。
实例1: Go 8
?Recno()
Display
实例2: x=3
Y=x**2
Go y
Display
命令格式3: skip [n]
命令功能: 记录指针相对当前记录移动n 条记录,指向当前记录号加n 的那条记录上,n 若为正,则往前移动,如为负,则往后移;如果缺省参数n,相当于 skip 1,
指针只移动一条记录位置。
实例3: go top
Skip 5
5
?Recno()
Skip -3
?Recno()
练 习: 操作上述三实例,并注意观察结果。
11、修改记录命令:edit、replace
命令格式1: edit [范围] [fields<字段名表>] [for<条件>]
命令功能: 在指定的记录范围内,修改满足条件的记录的指定字段的数据。
实例1: use 学生表
go 4
edit fields 学号,姓名
实例2: use 学生表
Edit all for 性别='女' .or. 入校总分<=500
练 习: 操作上述两实例,并观察结果。
命令格式2:replace [范围] <字段名1> with <表达式>,<字段名2> with <表达式
VF常用命令
>… ,<字段名n> with <表达式> [for<条件>]
命令功能: 用表达式的值替换指定字段的值,此命令常用于数据的批量替换,注意,格式 中的逗号可以用空格代替。
实例 3: use 学生表↙
List for 三好生=’是’ ↙
Replace all 入校总分 with 入校总分+20,籍贯 with '四川泸州' for 三好生='是
' .and. 籍贯='泸州'↙
Display all for 三好生=’是’ ↙
实例4: use 学生表 ↙
Append blank ↙
Replace 学号 with "00100",姓名 with "张三" ,性别 with '男',出生日期 with
ctod("09/10/88"),入校总分 with 450 ↙
练 习: 操作上述4实例,并浏览结果。
相关考题:将教师表中所有职称为“教授”的教授工资增加300元的VFP命令是 ( )
(Repl all 工资 with 工资+300 for 职称=”教授”),注意,VFP 命令中的条件一般应该 用For,不能用Where,而SQL语句中的条件表示一定要用Where,二不能用For。 练 习: 操作上述4实例,并浏览结果。
注 意: 不要把 with 写成等号,还要注意字段类型,切记!!!另 外,此命令与SQL 语句的Update 命令功能相似,但语法格式不一 样。
12、逻辑删除命令:delete
命令格式: delete [范围] [for<条件>]
6
命令功能: 逻辑删除指定范围内的满足条件的记录,配合set deleted on/off。
实例1: use 学生表
Browse for 入校总分<=300
Delete all for 入校总分<=300
Display all
Set deleted on
Display all
历史考题: 在VFP 中,如果逻辑删除数据表中的记录,则被删除的记录前应有删除标记 符( )。
练 习: 操作上述实例,并浏览结果。
13、恢复逻辑删除: recall
命令格式: recall [范围] [for<条件>]
命令功能: 恢复指定范围内被逻辑删除的满足条件的记录。
实例1: use 学生表
Browse for 入校总分<=300
VF常用命令
Recall all for 入校总分<=300
Display all for 入校总分<=300
练 习: 操作上述实例,并浏览结果。
14、物理删除命令:pack、zap
命令格式1: pack
命令功能: 物理删除当前表中作了逻辑删除标记的记录,配合delete 命令使用。 实例1: use 学生表
Browse for 入校总分<=300
Delete all for 入校总分<=300
Display all for 入校总分<=300
Pack
List for 入校总分<=300
练习: 操作上述实例,并观察结果。
命令格式2: zap
命令功能: 物理删除当前表中所有的记录,但保留表结构。
例1: use 学生表
Browse
Zap
List
历史考题: 在当前打开的表中物理删除带有删除标记记录的命令是( )
练 习: 操作上述实例,并观察结果。
15、物理排序命令:sort
命令格式: sort to <新表名> on <字段名1> [/a][/d][/c][,<字段名2>] [/a][/d][/c]…][范 7
围][for<条件>][fields<字段名表>]
命令功能: 对当前表中指定范围内的满足条件的记录进行物理排序,排序后的结果存入新表,
参数 /a表示升序(默认),/d表降序,/c表示字母不区分大小写。
实例1: use 学生表
Sort to 新学生表 on 入校总分/d,学号/a for "四川"$籍贯 fields 学号,姓名,
性别,入校总分
Use 新学生表
List
练 习: 按照学号升序排列学生表中的入校总分大于450 的女生记录,生成的排序表为 xsb.dbf。
16、建立索引命令:index
建立结构复合索引:index on <索引表达式> tag [索引名] [for <条件>] [ascending]
[descending][candidate]
命令功能: 对当前表中满足条件的记录,按照索引表达式建立结构复合索引,参数 ascending表示按索引表达式值建立升序索引,descending则表建立降序索
引,candidate表示建立候选索引,缺省为普通索引。
VF常用命令
实例1: use 学生表
Index on 入校总分 tag rxzf ascending
list
index on str(入校总分)+学号 tag zfxh
list
练 习: 按照姓名对学生表建立降序索引,索引标记为xm(建立好后,打开表设 计器,注意观察索引一项里是不是多了一个名称为xm 的索引),还要注
意观察当前目录下是不是多了一个文件名为学生表.cdx的文件。
建立非结构复合索引:index on <索引表达式> tag [索引名] of <索引文件名>[for <条件>]
[ascending][descending][candidate]
命令功能:
实例:
练习:
建立单索引: index on <索引表达式> to<索引文件名> [for <条件>]
命令功能: 对当前表中满足条件的记录,按照索引表达式建立单索引,注意单索引一 般是升序排列。
实例1: use 学生表
Index on 入校总分 to zfdsy.idx
list
练 习: 按照姓名对学生表建立降序索引,索引文件名为zfdsy,注意观察当前目 录里是不是多了一个文件名为zfdsy.idx 的索引文件。
历史考题: Visual FoxPro中索引文件分为单一索引文件和复合索引文件,复合索引文 件的扩展名为( )。
8
数据库表专有的索引类型是( )。
索引的类型有:主索引、候选索引、普通索引、唯一索引
17、设置主控索引:set order to
命令格式1: set order to tag <索引名>
命令功能: 设置结构复合索引里的某个索引标记为主控索引,设置好之后,表的显示 顺序则按主控索引的顺序显示。
实例1: use 学生表
List
Set order to tag rxzf
list
命令格式2: set index to <索引文件名> tag of <索引文件名>
命令功能:
实例:
练习:
命令格式3: set index to <索引文件名>
命令功能: 设置单索引为主控索引。
实例2: use 学生表
set index to zfdsy
VF常用命令
list
练 习: 操作上述两实例,注意观察结果。
18、更新索引命令:reindex
命令格式: reindex
命令功能: 当表更新之后,使用该命令强制更新索引文件,以保证表与索引同步。 实例1: use 学生表
Append
Reindex
list
练 习: 修改某条记录,然后更新索引。
19、顺序查询命令:locate
命令格式: locate [范围][for<条件>]
……
continue
命令功能: 在当前表中,从指定范围的第一条记录开始,查找满足条件的记录,当找 到之后,将记录指针指向满足条件的第一条记录(此时found()函数的值
为真,eof()函数值为假,若没找到,则found()函数值为假,eof()值为真);
配合continue语句可继续查找下一条满足条件的记录。
实例1: use 学生表
Locate all for '北京'$籍贯 .and. 入校总分>=500
9
Display
Continue
Display
练 习: 用locate命令查找年龄大于25 岁的学生记录。
20、索引查询命令:seek
……
skip
命令格式: seek <表达式>
命令功能: 在索引已经打开的情况下,查询表中满足表达式的记录,找到之后,把记录指 针指向第一条满足条件的记录,如果找到多条记录,可以使用skip 实现继续
查找。
实例1: use 学生表
Index on 姓名 tag xm
Seek “张三”
Display
练 习: 操作上述实例。
21、计数命令:count
命令格式: count [范围] [for<条件>] [to <内存变量> ]
命令功能: 统计当前表中指定范围内符合条件的记录个数,并可以把结果存入内存变量。
VF常用命令
实例1: Use 学生表
Count all for 入校总分>500 .and. 三好生=’是’ to total1
Count to total2
?total1,total2
练 习: 统计籍贯是四川的学生人数。
22、求和命令:sum
命令格式: sum[范围] [数字型字段][for<条件>] [to <内存变量> ]
命令功能: 对当前表中指定范围内符合条件的记录的数值型字段按列求和,并可把结果存 入内存变量。
实例1: use 学生表
Sum all 入校总分 for 性别=’男’ to zf
?zf
练 习: 统计非三好生的入校总分。
23、求平均命令:average
命令格式: average [范围] [数字型字段][for<条件>] [to <内存变量> ]
命令功能: 对当前表中指定范围内符合条件的记录的数值型字段按列求平均,并可把结果 存入内存变量。
实例1: use 学生表
average all 入校总分 for 性别=’男’ to pjf
?pjf
1 0
练 习: 求女生的入校平均分。
24、计算命令:calculate
命令格式: calculate [范围] [表达式][for<条件>] [to <内存变量> ]
命令功能: 在打开的表中,计算表达式的值,并在工作区中显示出来。
实例1: use 学生表
Calculate max(入校总分),min(入校总分),cnt(),sum(入校总分),avg((date()-出生日期)/365) 练 习: 操作上述实例,并观察结果。
25、汇总命令:total
命令格式: total on <关键字段名> to 汇总文件名[范围] [for<条件>] fields<数字型字段>
命令功能: 在当前表中,对指定范围内满足条件的记录按关键字段名分类汇总求和,并把 汇总结果存入新表。注意,汇总之前,必须按关键字排序或建立索引。
实例 1: use 学生表
Index on 性别 tag xb
total on 性别 to 汇总文件 fields 入校总分
use 汇总文件
list
练习: 按照性别对侦查专业的学生的入校总分分类汇总。
26、工作区选择:select
VF常用命令
命令格式: select <工作区号或别名>
命令功能: 选择指定的工作区。
实例 1: use 学生表
Select 2
Use 成绩表 alias cjb
Select 3
Use 课程表
Select cjb
List
历史考题: 多表操作中,已经在2,3,5号工作区上打开了多个表,此时执行select 0,选择 的当前工作区号是()
27、表之间关联::set relation to
命令格式: set relation to <关联表达式1> into <别名>[,<关联表达式2> into <别名 >…][additive]
命令功能: 以当前表为父表,与一个或多个子表建立临时多对一关联。注意:被关联的子 表须按照关联关键字建立索引,参数addtive 表示建立新关联时保留当前父表
和其它子表的关联,单独的set relation to命令将取消父表与其它子表的关联关
系。
如果要建立一对多关联,还要使用命令:set skip to [<表别名1>,[<表别名2>]…] 指明多方。
11
实例1: 通过学生表、选课表、课程表显示所有学生的课程成绩,要求显示出学号、姓 名、课程名及成绩字段(选课表为“多”方,是父表,学生表、课程表为“一”方, 是子表)。
Select 1
Use 学生表
Index on 学号 tag xh
Select 2
Use 课程表
Index on 课程号 tag kch
Select 3
Use 选课表
Set relation to 学号 into a,课程号 into b
List 学号,a->姓名,b->课程名,成绩
实例2: 通过学生表、选课表显示所有学生的课程成绩,要求显示出姓名、课程号及成 绩字段。 (学生表为“一”方,是父表,选课表为“多”方,为子表。)
Close all
sele 1
USE 学生表
sele 2
USE 选课表
index on 学号 tag xh
sele 1
VF常用命令
set rela to 学号 into b
set skip to b
list 姓名,b->课程号,b->成绩
练 习: 操作上述两实例,观察并分析结果。
28、表记录复制到数组:scatter… to…
命令格式: scatter [fields<字段名表>] to <数组名>[memo]
命令功能: 将当前记录的字段值按字段名表顺序依次赋给指定数组的各元素,如果带参数 memo,则将备注型字段一起复制。
实例 1: use 学生表
Go bottom
Dimension A(12)
scatter to A memo
?A(1),A(2),A(3),A(4),A(5),A(6),A(7)
实例 2: use 学生表
Go 6
Dimension B(5)
scatter fields 学号,姓名,入校总分,性别,籍贯 to B
?B(1),B(2),B(3),B(4),B(5)
练 习: 操作上述两实例。
29、数组数据添加到表里:gather from…
1 2
命令格式: gather from <数组名>[fields <字段名表>]
命令功能: 用数组数据依次修改当前记录的字段值。
实例 1: use 学生表
Append blank
Dimension A(4)
A(1)=”x00018”
A(2)=”test”
A(3)=”是”
A(4)=”女”
Gather from A fields 学号,姓名,三好生,性别
List
练 习: 操作上述两实例。
30、表复制命令:copy to
命令格式: copy to <新表名>[<范围>][fields <字段名表>[for <条件>]
命令功能: 将当前表的数据和表结构全部或部分复制到新文件表里。
实例 1: use 学生表
Copy to stu1
copy to stu2 fields 学号,姓名,性别,籍贯,入校总分 for 性别='女'
Use stu1
List
VF常用命令
Use stu2
List
练 习: 操作上述实例并观察结果。
31、表结构复制命令:copy structure to
命令格式: copy structure to <新文件名> fields [<字段名列表>]
命令功能: 将当前表的结构全部或部分复制到新文件表里。
另:
Clear 命令(清除工作区)
Clear all命令(从内存中释放所有的内存变量和数组以及所有用户自定义的菜单栏, 菜单, 和
窗口的定义。CLEAR ALL 也能关闭所有表,包括所有相关的索引, 格式文件和备注文件, 并
选择 1 号工作区。CLEAR ALL 不释放系统内存变量。)
说明:本资料仅列出了Vfp 最常用的命令及其最常用的功能,如果要弄清每条 命令的详尽格式及用法,请查Vfp命令手册。__
正在阅读:
vf常用命令03-19
终止劳动合同证明书【最新9篇】03-25
河南省2015年职称政策解读06-10
网络管理员2022年个人工作总结范文5篇04-03
小溪月色作文500字06-26
乐清的春节作文1000字07-12
乡镇政府换届人事安排初步方案说明03-20
电路分析试题库(有答案)06-30
2016年雨季三防工作计划12-13
家长开放日半日活动方案05-29
- 粮油储藏基础知识
- 论文范文(包括统一封面和内容的格式)
- 经典解题方法
- 综合部后勤办公用品管理办法+领用表
- 学生宿舍突发事件应急预案
- 16秋浙大《生理学及病理生理学》在线作业
- 四分比丘尼戒本(诵戒专用)
- 浙江财经大学高财题库第一章习题
- 九大员岗位职责(项目经理、技术负责人、施工员、安全员、质检员、资料员、材料员、造价员、机管员)
- 旅游财务管理习题(学生版)
- 德阳外国语高二秋期入学考试题
- 投资学 精要版 第九版 第11章 期权市场
- 控制性详细规划城市设计认识
- bl03海运提单3国际贸易答案
- 2010-2011学年湖北省武汉市武珞路中学七年级(上)期中数学试卷
- VB程序填空改错设计题库全
- 教师心理健康案例分析 - 年轻班主任的心理困惑
- 民间借贷司法解释溯及力是否适用?
- 三联书店推荐的100本好书
- 《化工原理》(第三版)复习思考题及解答
- 命令
- 常用
- 人行考试真题
- 幼儿园幼儿体能发展目标体系
- 2021年初级会计职称考试《经济法基础》练习题(3)
- 爱德华&183;汤普森与佩里&183;安德森:英国新左翼内部的争论
- LW6B-252W断路器机械特性试验分析
- 慢性再生障碍性贫血的治疗
- 天津市河西区滨水地区城市设计引导
- 海洋工程环境影响评价技术导则(GB T19485-2004)
- 物业公司前台接待工作总结.docx
- 2020-2021学年人教版九年级物理18.2电功率同步练习(word版带答案)
- 低压成套开关设备装配工艺
- 2016重庆选调生考试行测备考:如何快速排除干扰项
- 施工图纸及变更管理制度
- 2013年旧件管理培训
- 养鸡场可研报告
- 账务核算流程(超市)
- 甘肃环保染料项目商业计划书
- 2012CB910500-G-植物表观遗传机制与重要调控蛋白质的功能和结构研究
- 内蒙古自治区呼伦贝尔市鄂伦春旗大杨树三中高中物理 2.4匀变速直线运动的位移与速度的关系教案
- 2014-2015学年度第一学期七年级生物期末考试试卷分析