VF命令汇总
- 格式:doc
- 大小:41.00 KB
- 文档页数:5
Visual FoxPro程序设计 表的基本操作命令汇总与相关例题
指定工作环境:SET DEFAULT TO
SET DEFAULT TO f:\mydatabase
建立表结构:CREATE |?
CREATE 学生(定义字段名、字段类型、字段宽度、小数位、索引、是否允许空值NULL)
修改表结构:MODIFY STRUCTURE(修改表结构:增加字段、删除字段、修改字段等)
打开表:USE 表名
(1)
USE 学生
USE 学生 IN 0
(2)
USE 教师 IN 2 与下面两条意思一样
SELECT 2
USE教师
(3)
USE教师 ALIAS teacher
(4)
USE 学生 ORDER xm &&打开表的同时将主控索引定在姓名上
关闭表: USE
(1)
USE
(2)
USE教师 IN 1
USE 学生 IN 2
SELECT 2
USE IN 1 &&当前在2区,关闭1区中的表
在表尾增加记录:APPEND [BLANK][FROM]
(1)
USE 学生
APPEND
在表指定位置增加记录INSERT [BLANK][BEFORE]
(1)
USE 学生
GO 3
INSERT &&将记录加到第三条后
(2)
USE 学生
GO 3
INSERT BEFORE &&将记录加到第三条前
编辑修改记录:BROWSE/EDIT/CHANGE, REPLACE … WITH …
按条件浏览记录:LIST/DISPLAY [ALL/NEXT N/RECORD N/REST] FOR/WHILE …
(1) USE 学生
LIST
DISPLAY ALL
(2)
USE 学生
LIST RECORD 2
DISPLAY RECORD 2
(3)
USE 学生
GO 3
DISPLAY REST &&显示第3至第10条
(4)
USE 学生
Go 8
LIST NEXT 2 &&显示第8,9条
(5)
USE 学生
LIST FOR RECNO()<5 &&将表中所有记录读出,再从头过滤,只显示记录号小于5的记录
(6)
LIST WHILE RECNO()<5 &&将表中前5条记录读出,再从头过滤,只显示记录号小于5的记录
(7)
LIST NEXT 1与 DISPLAY作用相同
显示表结构:LIST/DISPLAY STRUCTURE
移动记录指针:
GO TOP/BOTTOM
GO N
SKIP [N]
删除记录:
DELETE [ALL/NEXT N/RECORD N/REST] FOR …
RECALL [ALL/NEXT N/RECORD N/REST] FOR …
PACK
ZAP
复制命令:
COPY TO…
(1)
USE 学生
COPY TO STUDENT
COPY TO STUDENT RECORD 1 &&复制第一条记录
COPY TO STUDENT REST &&复制从当前记录指针到末尾的记录
COPY TO STUDENT FOR 性别=”男” &&复制性别为男的记录
(2) 复制记录的同时复制CDX索引文件
USE 学生
3
COPY TO st1 REST WITH cdx (3)只复制结构中的部分字段
USE 学生
COPY STRUCTURE TO st2 FIELDS 学号,姓名,性别
排序
SORT TO 文件名 ON 字段名 [/A|/D][/C] ....[FOR…]
(1)
USE 学生
SORT TO 学生姓名 ON 姓名
USE 学生姓名
LIST
(2)先按性别排序,若性别相同按出生日期降序排,
USE 学生
SORT TO 学生性别 ON 性别,出生日期 /D
USE 学生性别
LIST
(3)把李姓学生降序排到文件“李学生.DBF”中
USE 学生
SORT TO 李学生 ON 姓名/D FOR 姓名=”李”
USE 李学生
LIST
(4)只复制部分字段
USE 学生
SORT TO 部分学生 ON 姓名/D FIELDS 姓名,出生日期
USE 部分学生
LIST
(5)复制后取所有以“姓”开头的字段
USE 学生
SORT TO 新学生 ON 姓名 FIELDS LIKE 姓*
USE 新学生
LIST
索引
建立索引
INDEX ON TAG [UNIQUE][FOR.. ][ASCENDING/DESCENDING][ADDITIVE][CANDIDATE]
INDEX ON TAG [OF][A/D]
INDEX ON TO [UNIQUE][COMPACT][ADDITIVE]
(1) 下列操作建立了四个单索引文件
use 学生
index on 学号 to xh
index on 性别 to xb
index on 入校总分 to rxzf
index on -入校总分 to rxzfd
(2)下列操作建立了六五个索引标记,都存放在“学生.CDX”索引文件中
use 学生 index on 学号 tag xh
index on 姓名 tag xm
index on 性别 tag xb
index on 入校总分 tag rxzf
index on 入校总分 tag rxzfd descending
设置主控索引
SET ORDER TO |[N]
(3)对单索引文件,打开表后再打开索引文件
use 学生
brow
set index to xb,xh,rxzf &&打开三个单索引文件,且xb为主控索引文件
brow
set order to 3(set order to rxzf) &&将主控索引定位到rxzf
brow
(4)
use 学生 index xb,xh,rxzf &&打开表的同时打开了三个单索引文件
brow
set order to 3(set order to rxzf) &&将主控索引定位到rxzf
brow(5)对于结构复合索引,当表打开时其索引文件自动打开,只需设置主控索引即可
use 学生
index on 学号 tag xh
index on 姓名 tag xm
index on 性别 tag xb
index on 入校总分 tag rxzf
index on 入校总分 tag rxzfd descending
set order to xb
brow
set order to rxzfd
Brow
Set order to 0 &&关闭主控索引
索引类型
普通索引
use 学生
index on 学号 tag xh
唯一索引
use 学生
index on 学号 tag xh UNIQUE
候选索引
use 学生
index on 学号 tag xh CANDIDATE
主索引
在数据库中表里面用菜单法建立。
删除索引
DELETE TAG ALL
DELE TAG
DELE FILE
关闭索引
CLOSE INDEX
SET INDEX TO
SET ORDER TO 0
查询
顺序查询
LOCATE… FOR/CONTINUE
索引查询
SEEK/ FIND
多表操作
SELECT |别名
SET RELATION TO INTO < 别名>
JOIN WITH
SELECT 1
USE 学生名册 ALIAS XSMC
SELECT 2
USE 选课表 ORDER 学号 ALIAS XKB
SELECT 1
SET RELATION TO 学号 INTO B
SET SKIP TO B
LIST 学号,姓名,XKB.课号,XKB.成绩
SET RELATION TO
CLOSE DATA
统计
COUNT /SUM /AVERAGE /CALCULATE
函数:
INT(),MOD(),ROUND(),MAX(),MIN(),RECNO(),BOF(),EOF(),FOUND(),
AT(),SUBSTR(),LEN(),ALLTRIM(),TRIM(),LOWER(),UPPER(),
DATE(),YEAR(),STR(),VAL(),DTOC(),DTOS(),CTOD()。。。。。