Visual FOXPRO中的常用命令Visual FOXPRO中的常用命令Word文件下载.docx
- 文档编号:16790423
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:11
- 大小:21.32KB
Visual FOXPRO中的常用命令Visual FOXPRO中的常用命令Word文件下载.docx
《Visual FOXPRO中的常用命令Visual FOXPRO中的常用命令Word文件下载.docx》由会员分享,可在线阅读,更多相关《Visual FOXPRO中的常用命令Visual FOXPRO中的常用命令Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
数组名
提示:
加下划线的为本课程要求掌握的命令。
一、数据库的建立、打开、关闭和删除
建立数据库:
createdatabase[databasename|?
]
从磁盘中删除数据库:
delete
database
databasename|?
打开数据库:
opendatabase[exclusive|shared][noupdate]
打开数据库设计器(允许用户按交互方式编辑当前数据库):
modifydatabase
[databasename|?
指定的数据库databasename为当前数据库。
指定当前的数据库:
setdatabaseto[databasename]
databasename必须为已经打开的数据库。
如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。
关闭数据库:
closedatabase[all]
关闭当前数据库,如果带all子句,则关闭所有打开的数据库。
二、数据表和视图的建立、打开、关闭和删除
建立数据表(sql命令):
createtable|dbftablename(col_name1type1[notnull/null]
[{,col_name2type2[notnull/null]}...])
table_name是所创建的数据表的名字。
col_name1,col_name2,...是表中列的名。
type1,type2...是相应列的数据类型(vfp的数据类型见表3-9)。
如果说明为notnull,则列中不允许分配空值(这种情况下,列不能包含空值,如果插入空值,将返回错误信息)。
向当前打开的数据库中添加数据表:
addtabletablename|?
从当前打开的数据库中删除数据表:
removetabletablename|?
[delete]
如果包含delete子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。
在当前打开的数据库中建立视图:
createsqlviewviewnameasselect……
其中select……为select语句。
执行这个语句时,如果没有打开的数据库,则建立独立的视图,这样的视图不能存储。
从当前打开的数据库中删除视图:
deleteviewviewname
打开一个表:
usetablename|?
[in工作区号]
将当前数据表与另一数据表连接后建立一个新表:
joinwith工作区号|表别名totablenamefor条件[fields字段名表]
三、数据表和表结构的编辑、修改
打开浏览窗口(可在其中编辑数据表):
browsw(详细格式见p.114~116)
打开并修改数据表中的字段:
(1)change[fields字段名列表]
(2)edit[fields字段名列表]
这两个命令的功能相似,可选子句较多(详见手册)。
数据表改名:
renametabletablename1totablename2
其中数据表tablename1必须存在且未打开。
视图改名:
renameviewviewname1toviewname2
修改数据表结构(sql命令):
altertabletablename;
add字段名type[null|notnull]
[,字段名type[null|notnull];
[altercolumn字段名type{null|notnull}];
[{,字段名typenull|notnull}...];
[drop字段名[,字段名[,...>
将当前表与另一表之间建立关联:
setrelationto[表达式1into工作区号1|表别名1];
[,表达式2into工作区号2|表别名2][,...]
建立关联的两个表必须事先已按关联表达式进行索引排序。
在当前表与另一表之间建立一对多关联:
setskipto表别名1[,表别名2]
消除当前表与另一表之间的关联:
setrelationoffinto工作区号|表别名
四、数据表中数据操作(查询、插入、删除和修改等)
数据查询select语句(sql命令)
格式见教材的有关章节。
这是本课程的重点内容,必须很好地掌握。
更改数据表中的记录:
replace字段1
with
表达式1[additive];
[,<
[,<
字段2>
with<
表达式2>
[additive],…];
[for条件1][while条件2]
其中的additive子句适用于备注字段,表示将表达式的值加在字段的末尾。
用内存数组的值更新数据表中的记录:
replacefromarray数组名[fields字段名列表][常用子句]
用新的值更新表中的记录(sql命令):
update[databasename!
]tablename;
setcolumn_1=expression1[{column_2=expression2}...];
[wherecondition]
用一个表中的数据更新当前指定工作区中打开的表:
updateonfieldnamefromfilename;
replacefieldname1withexpr1
[,fieldname2withexpr2[,...>
给记录加删除标记(sql命令):
from
[databasename!
[where条件]
给记录加删除标记:
delete[范围][for条件][while条件];
[in工作区号|表别名]
永久删除加了删除标记的记录:
pack
永久删除打开的数据库中加了删除标记的记录:
pack
database
去掉删除标记(恢复)
recall[常用子句]
删除一个表中所有记录(保留表的结构):
zap
[intablename|alias]
为数据表文件追加记录:
append[blank][in工作区号|别名]
从另一个文件中提取数据添加到当前数据表的尾部:
appendfromfilename|?
[fields字段名列表][for条件]
其中filename所指定的文件可以是数据表、excel电子表格、文本文件等,如果不是数据表,需要其它子句指定格式(详见手册)。
用内存数组的值添加到当前数据表的尾部:
appendfromarrayarrayname[for条件][fields字段名列表]
数据中的一行对应一个新记录,一列对应一个字段。
从一个文件输入一个ole对象放入一个通用(general)字段:
appendgeneral通用字段名[fromfilename]
如果省略子句fromfilename,则将指定的字段清空。
将一个文本文件的内容拷贝到一个备注字段:
appendmemo备注字段名[fromfilename][overwrite]
插入新记录(在当前记录之前或后插入):
insert[blank][before]
如不省略blank,则插入一个空白记录,且不显示输入窗口。
在表中插入新记录并赋值(sql命令):
insertintotablename[(字段1[,字段2,...])]values(eexpression1[,eexpression2,
...])
或
insertintotablenamefromarrayarrayname|frommemvar
如带有frommemvar子句,则用同名的内存变量给字段赋值。
清除当前记录中字段的数据:
blank[常用子句]
移动记录指针:
skip[n][in工作区号|表别名]
五、文件管理(文件和文件夹的复制、创建和删除)
从当前表复制出表或其它类型的文件(表须打开)
copy
to
filename[fields字段名列表][常用子句][其它子句]
如果没有指定类型,则复制一个与当前的表相同的数据表。
复制表的结构
copystructuretofilename[fields字段名列表]
复制任何文件:
copyfile源文件to目的文件
如果用此命令复制表,表须关闭
从磁盘上删除任意文件:
(1)erasefilename|?
(2)deletefile[filename|?
任意文件改名(或文件移动到另一文件夹):
renamefilename1tofilename2
其中filename1和filename2都可以包含路径。
如二者不在同一文件夹,则将filename1移动到filename2所在的文件夹。
显示一个文件夹中的文件信息:
dir|directory
[ondrive]
从磁盘上删除一个文件夹:
rd|redir文件夹名
在磁盘上建立一个文件夹:
md|mkdir文件夹名
六、数据的复制与传送
单个记录与数组间的数据传送
当前记录→数组或内存变量:
scatter[fields字段名列表][memo]to数组名[blank]|memvar[blank]
其中[blank]表示建立一个空元素的数组。
如果用memvar子句,则表示将各字段的值复制到同名同类型的内存变量。
如果包含memo子句,则备注字段一起复制。
数组或内存变量→当前记录
gatherfrom
数组名|memvar[fileds字段名列表][memo]
用同名的内存变量或数组中的第一行置换当前记录,如果数组为多行的二维数组,也只用第一行。
成批记录与数组间的数据传送
表→数组:
copytoarrayarrayname[常用子句]
数组→表:
(1)appendfromarrayarrayname[for条件][fields字段名列表]
用内存数组的值加在数据表的尾部,数据中的一行对应一个新记录,一列对应一个字段。
(2)replacefromarray数组名[常用子句]
用内存数组的值更新数据表中符合条件的记录。
查询结果→数组:
select……intoarrayarrayname
将sqlselect语句的查询结果传给数组arrayname。
这里“select……”可为各种形式的select查询语句。
给内存变量赋值:
store表达式to变量名
变量名=表达式
七、排序与索引
将当前表排序后建立一个新数据表:
sortto
文件名
on
字段名1
[/a|/d];
[/c][
字段名2
[/a|/d][/c]...];
[ascending|descending][常用子句];
建立单索引文件:
index
表达式
单索引文件名;
[for<
条件>
]
[unique][compact];
[ascending][descending][additive]
建立复合索引文件:
表达式to
tag
索引名[of复合索引文件名];
[for条件][unique|candidate];
使用索引文件:
打开表时将索引文件一并打开,use命令带index子句:
[in工作区号][index索引文件名列表|?
给当前表打开一个或多个索引文件:
setindexto[索引文件名列表|?
];
[order索引文件名序号|索引文件名|[tag]索引名[of复合索引文件名];
[ascending][descending]]
指定字符字段在排序或索引时的整理系列:
setcollateto整理系列
对于汉字字符串,“整理系列”可以是“machine”、“pinyin”或“stroke”三者之一(必须带引号),分别表示按机器码、拼音和笔划排序。
指定当前表中的控制索引文件或标记:
setorderto;
[索引文件名序号|索引文件名|[tag]索引名[of复合索引文件名];
[in工作区号|表别名];
[ascending][descending]
删除索引
all[of复合索引文件名]
索引标识1[of复合索引文件名1];
[,索引标识2[of复合索引文件名2>
…
八、查找和定位
顺序查找当前表中满足条件的第一条记录:
locatefor条件下[范围][while条件]
找到后将记录指针定位在满足条件的第一条记录,且函数found()的返回值为真。
在索引表中查找:
findcexpr
其中cexpr为字符串表达式。
如果找到,则记录指针定位在满足条件的第一条记录,且函数found()的返回值为真;
查找失败时,found()的返回值为假,记录指针定位在文件尾。
seekeexpr;
[ascending][descending]];
如果找到,则记录指针定位在满足条件的第一条记录,且为真;
继续查找:
continue
用locate、find或seek查找到一条记录后,用continue继续查找下一条。
用以上查找命令locate、find、seek和continue的查找结果,都可以通过函数found()的返回值反映出来。
九、统计计算
统计表中的记录数:
count[范围][for条件][while条件][to内存变量名]
统计满足条件的记录数,显示记录数或将结果赋给内存变量名。
求和:
sum
[表达式列表];
[范围][for条件][while条件][to内存变量名|toarray数组名]
求平均值:
average[表达式列表];
对当前表中数值型字段进行分组求和:
totaltotablenameon字段名[常用子句]
其中tablename为存放结果的表文件名,字段名为确定求和分组的字段。
计算:
calculate表达式列表;
其中表达式列表可以是如下函数的任意组合:
avg(nexpr),cnt(),max(eexpr),min(eexpr),npv(nexpr1,nexpr2,…),
std(nexpr),sum(nexpr),var(nexpr)
其中nexpr为数值表达式,eexpr为任意表达式。
十、程序控制
条件语句:
if条件[then]
……
[else]
[……]
endif
多分支语句:
docase
case逻辑表达式1
……
case逻辑表达式2
case逻辑表达式n
[otherwise]
endcase
do循环:
dowhile条件
[loop]
[exit]
enddo
for循环
for循环变量=初值to终值step步长
……(中间可插入[loop]或[exit])
endfor|next
扫描循环(对一个表中满足条件的记录进行循环):
scan[范围][for条件][while条件]
endscan
集合扫描循环
foreachvaringroup
commands
endfor|next[var]
十一、其它
定义数组:
declare|dimension数组名(下标1,下标2,……)
定义过程:
procedure过程名
parameters参数表
return[tomaster|to程序名]
定义函数:
function函数名
return表达式
调用一个子程序或过程
do子程序名|过程名[in程序文件名][with实在参数表]
定义公共变量:
public变量名列表
public[array]数组名1(行1,列1)[,数组名2(行2,列2)[,…>
定义私有变量
private变量名列表
privateall[like|except通配符]
定义局部变量
local变量名列表
local
[array]数组名1(行1,列1)[,数组名2(行2,列2)[,…>
显示各种信息:
list…(格式见有关手册)
display…(格式见有关手册)
输出提示信息:
wait[<
提示信息>
][to<
内存变量>
];
[window[at[<
行>
<
列>
][nowait>
;
[clear|noclear];
[timeout<
数值表达式>
各种设置命令:
设置是否显示日期中的世纪:
setcenturyon|off
设置显示的小数位数:
setdecimalsto小数位数
设置是否处理带删除标记的记录:
setdeletedon|off
如果设置为on,则不处理带删除标记的记录。
设置是否显示命令的结果:
settalkon|off
设置文件的搜索路径:
setpathto路径
设置传给子程序或自定义函数的参数是按值还是按引用方式传递:
setudfparmstovalue|reference
如设置为tovalue,表示按值传递。
执行一个外部命令或程序:
run命令或程序
在指定的位置显示或打印:
@行,列say
…
在指定的位置显示表达式的值,并等待用户输入,将输入值赋给一变量:
表达式get变量名[default表达式]
read
例:
@2,2say"
请输入金额:
"
getnmoneydefault50
此例先在第2行、第2列显示"
"
,等待用户输入一个数值,将用户输入值赋给变量nmoney,如果用户不输入数值(直接按回车),则将50赋给nmoney。
请注意在下一行不能漏掉“read”。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual FOXPRO中的常用命令Visual FOXPRO中的常用命令 FOXPRO 中的 常用命令
链接地址:https://www.bdocx.com/doc/16790423.html