Visual foxpro命令的基本规则

合集下载

VFP命令规则

VFP命令规则

★命令规则
(1)命令:由用户发出的、指示VFP进行某种操作的指令。

(2)命令和子句的书写规则
①以命令动词开始
②各部分之间要用空格隔开
③命令、子句、函数名都可简写为前4个字符,大、小写等效
④一行只能写一条命令,超过屏幕宽度时用续行符“;”
⑤命令格式中的符号约定:
命令中的[ ] 、| 、…、< > 符号都不是命令本身的语法成分,使用时不能照
原样输入,其中:[ ] 表示可选项,根据具体情况决定是否选用
| 表示两边的部分只能选用其中的一个
…表示可以有任意个类似参数,各参数间用逗号隔开
< > 表示其中内容要以实际名称或参数代入
★输入命令时常见错误分析
1、不能识别的命令谓词
原因:(1)关键词拼写错误
(2)命令动词与短语、短语中各单词之间没有用空格隔开
(3)命令动词、短语中的英文单词、运算符号和标点符号等在全角状态下输入
(4)在一行内输入多条命令
(5)将一条命令多行输入时中途换行没有分号“;”
2、找不到变量
原因:(1)命令动词与短语、短语中各单词之间没有用空格隔开
(2)命令动词、短语中的英文单词在全角状态下输入
3、语法错误/命令中缺少必要的字句
原因:(1)语句的结构不完整
(2)运算符和标点符号是在全角状态下输入或为中文符号
4、嵌套错误
原因:(1)关键词缺少配对,如有if却没有end if,有for却没有end for
(2)配对关键词的个数不相等
5、操作符/操作数类型不匹配
原因:运算符两边的变量或数据类型不一致。

VFP命令规则

VFP命令规则

★命令规则
(1)命令:由用户发出的、指示VFP进行某种操作的指令。

(2)命令和子句的书写规则
①以命令动词开始
②各部分之间要用空格隔开
③命令、子句、函数名都可简写为前4个字符,大、小写等效
④一行只能写一条命令,超过屏幕宽度时用续行符“;”
⑤命令格式中的符号约定:
命令中的[ ] 、| 、…、< > 符号都不是命令本身的语法成分,使用时不能照
原样输入,其中:[ ] 表示可选项,根据具体情况决定是否选用
| 表示两边的部分只能选用其中的一个
…表示可以有任意个类似参数,各参数间用逗号隔开
< > 表示其中内容要以实际名称或参数代入
★输入命令时常见错误分析
1、不能识别的命令谓词
原因:(1)关键词拼写错误
(2)命令动词与短语、短语中各单词之间没有用空格隔开
(3)命令动词、短语中的英文单词、运算符号和标点符号等在全角状态下输入
(4)在一行内输入多条命令
(5)将一条命令多行输入时中途换行没有分号“;”
2、找不到变量
原因:(1)命令动词与短语、短语中各单词之间没有用空格隔开
(2)命令动词、短语中的英文单词在全角状态下输入
3、语法错误/命令中缺少必要的字句
原因:(1)语句的结构不完整
(2)运算符和标点符号是在全角状态下输入或为中文符号
4、嵌套错误
原因:(1)关键词缺少配对,如有if却没有end if,有for却没有end for
(2)配对关键词的个数不相等
5、操作符/操作数类型不匹配
原因:运算符两边的变量或数据类型不一致。

[计算机]FoxPro命令的一般格式

[计算机]FoxPro命令的一般格式

FoxPro命令的一般格式命令格式FoxPro命令一般由命令名及通过字句所指定的操作对象、操作范围、操作条件等若干选择项所构成,其一般格式如下:<命令名>[<表达式>][〈范围〉][FOR<条件>][WHILE〈条件〉][TO FILE<文件名>|TO PRINTER|TO ARRAY <数组表>|TO <内存变量>][ALL [LIKE|EXCEPT<通配符>]][IN<别名>]其中命令名:是一个表示完成何种操作的英文动词;表达式表:是一个或多个由逗号隔开的表达式,用来表示该命令的操作对象;范围:表示该命令对数据库文件记录的操作范围,有以下四种选择:RECORD N 对第N条记录进行操作NEXT N 对从当前记录开始的N条记录进行操作ALL 对所有记录进行操作REST 对从当前记录开始到文件结束的所有记录进行操作FOR<条件>:对所有满足"条件"的记录进行操作;WHILE<条件>:对直到不满足条件的记录为止的所有已满足条件的记录进行操作TO子句用来控制操作结果的输出,可以输出到文件、打印机、数值、内存变量;ALL[LIKE|EXCEPT<通配符>]:用来指明包括或不包括与通配符相匹配的内存变量或字段变量;通配符指“?”号和“*”号。

“?”号可以与任何一个字符相匹配,而“*”号则可以与任何一串字符相匹配IN<别名>:该子句容许在当前工作区下操作其他工作区中的数据库文件。

命令的书写规则上述命令的一般格式中:< >尖括号中的内容表示命令中用户的定义项;[ ]方括号中的内容表示可选项。

视要求而定;| 分隔符隔开的项表示多项选一;注意:书写命令时上述符号不应包含在命令中FOXPRO中命令的书写必须遵循以下规则:1、每条命令必须以命令名开子句的顺序可任意;2、命令名可缩写为前四个字符;3、命令的各部分之间至少要用一个空格分开;4、为清楚起见,关键字一律用大写,用户定义名用小写;5、命令行可分行书写,行末用“ ;”作为当前行的续行符。

VFP基本命令与常用函数_1

VFP基本命令与常用函数_1

Visual FoxPro基本命令与常用函数第一部分基本命令准备知识:1、范围选项的常用表示词(表中的若干行)ALL 所有记录REST 从当前记录到最后RECORD N 第N条记录NEXT N 从当前记录开始到剩余的N条记录。

2、字段选项的常用形式(表中的若干列)FIELDS 字段名表字段名表是指表中的第一行各列,就是表中的列标题。

如:FIEL 姓名,籍贯,奖学金3、FOR 条件条件表达式可以是关系表达式或者逻辑表达式。

关系表达式:<表达式1> <关系运算符> <表达式2>关系运算符有8种:>、>=、<、<=、=、==、<>或#或!=逻辑表达式:!、NOT、AND、OR、.T. 、.F.命令动词总结以命令动词为主要标准分析:1、DISP LIST两个命令动词都是显示的意思,DISP表示分屏显示,LIST表示连续显示。

形式1:DISP 显示当前记录LIST 显示所有记录(连续)形式2:DISP STRU表结构的显示(分屏)LIST STRU表结构的显示(连续)形式3:DISP 范围FIELDS 字段名表FOR条件根据选项显示记录LIST 范围FIELDS 字段名表FOR条件根据选项显示记录2、CREATECREATE 表文件名创建一个新的Visual FoxPro表3、MODIFYMODIFY STRUCTURE 修改当前打开表的结构4、CLEAR形式1:CLEAR 清除屏幕内容形式2:CLEAR ALL 关闭所有打开的表5、CLOSE形式1:CLOSE TABLE 关闭当前打开的表形式2:CLOSE ALL 关闭所有打开的表6、APPENDAPPE BLANK 在表的尾部追加一条空白记录。

7、INSERT形式1:INSERT BLANK 在当前记录之后插入一条空白记录形式2:INSERT BEFORE BLANK 在当前记录之前插入一条空白记录8、GO 绝对定位形式1:GO N 去第N条记录形式2:GO TOP 去表的顶端GO BOTTOM 去表的尾部9、SKIP 相对定位SKIP +N 以当前记录为基准向下移动N条SKIP -N 以当前记录为基准向上移动N条10、LOCATE 条件定位LOCATE FOR 条件范围根据给定的条件,搜索满足条件的数据。

Visual FoxPro 命令

Visual FoxPro 命令

VFP命令、函数及程序语句大全(一)学过VFP(Microsoft Visual FoxPro)的朋友都知道它是微软公司开发的数据库管理系统。

它经历了从dBASE、FoxBASE、FoxPro直到VFP的发展过程。

本文便以VFP 6.0为例介绍它的命令、函数及程序语句,为学习VFP的朋友提供必要的学习参考,也为已经精通VFP的朋友提供复习的好机会。

一主要命令:1、CREATE 作用:建立一个新的表。

格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。

)说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。

在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。

2、MODIFY STRUCTURE作用:显示表文件结构,并允许修改此表的结构。

格式:MODIFY STRUCTURE说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。

3、APPEND作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。

格式:APPEND [BLANK]说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。

无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。

4、INSERT作用:在表文件中间插入一个新记录。

格式:INSERT [BEFORE] [BLANK]说明:INSERT 在当前记录后插入一记录;INSERT BEFORE 在当前记录前插入一记录;INSERT BEFORE BLANK 在当前记录前插入一空记录。

5、BROWSE作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。

格式:BROWSE6、USE作用:打开和关闭表文件。

05Visual FoxPro 60的命令语法规则.

05Visual FoxPro 60的命令语法规则.

范围子句有4种具体的选择范围: RECORD <n>:范围是记录号为 n 的一条记录; NEXT <n>:范围是从当前记录开始的连续n条记录; REST:范围是从当前记录开始到表尾的所有记录; ALL:范围是表中全体记录。
(2)条件子句
条件子句的作用是: 以指定逻辑条件为依据,从表中
选择符合条件的记录。它对应于关系运算中的选择运 算。
2.命令中几种常用子句
各种命令一般都包含数量不等的可选子句,操 作时用户根据实际需要可部分或全部选用。 子句的作用是扩充、完善命令的功能,很多命 令必须通过相应子句的配合,才能有效地、完整地 实现命令功能。因此,对于命令的功能与用法是否 了解、掌握,更多是体现在对命令中各子句的了解、 掌握上FoxPro 的命令格式。 • 2、掌握范围子句中各(4种)选择范围的含 义。 • 3、掌握FOR <条件> 与 WHILE <条件> 的 区别。 • 4.掌握 Visual FoxPro 的命令书写规则
3.命令书写规则
(1)任何命令必须以命令动词开始; ( 2 )命令动词与子句之间、各子句之间都以空格分 隔; ( 3 )一个命令行最多包含 8192 个字符(包括所有的 空格)。一行书写不完,行尾用分号“;”做续行 标志,按Enter键后在下一行继续书写、输入; ( 4 )命令动词及子句中关键字一般不宜用缩略形式, 以保持命令的可读性和规范性; (5)Visual FoxPro 6.0不区分命令字符的大小写; (6)除命令动词外,命令中其他部分的排列顺序一 般不影响命令功能。
Visual FoxPro 6.0的命令 语法规则
1.命令格式
Visual FoxPro 6.0的命令都有固定的格式,必 须按相应的格式和语法规则书写和使用,否则系统 无法识别、执行。Visual FoxPro 6.0命令的基本格 式如下: <命令动词> [ <范围子句> ] [ For <条件子句> ] [ Fields <字段名表子句> ] 命令格式中语法标识符的意义和用法如下: <> :必选项:表示命令中必须选择该项,但内容可 以根据需要而定; [ ]:可选项:可根据实际需要选用或省略该项内容。 | :任选项:根据实际需要任选且必选其中一项内容

Visualfoxpro中的命令函数

Visualfoxpro中的命令函数

Visual fox pro 中的命令格式命令动词[<范围>][<表达式表>][for<条件>][while<条件>]<范围>All :所有记录Next<n>:从当前记录开始的以下第N条记录Record<n>:仅对第N条记录进行操作Rest<n>:从当前记录到最后一条记录Visual fox pro 中的文件类型项目:pjx数据库:dbc表:dbf程序:prg查询:qpr表单:scx报表:frx菜单:mnx视图:vue文本:txt结构复合索引文件:cdx严格日期格式:{^yyyy-mm-dd}Set date to[日期格式]mdy,ymd……Set mark to [日期分隔符]内存变量赋值命令Store ……to:同时给若干变量赋相同的值=:给一个变量赋值内存变量显示命令List:一次显示所有变量Display:分屏显示内存变量:任意一个字符*:任意多个字符Like<通配符>:list memory like X* 显示以X开头的所有内存变量内存变量的清除:Clear memory 清除所有内存变量Release<内存变量表名> 清除指定内存变量Release all [like<通配符>]|except<通配符>]数组A(array)数组定义DeclareX(2),Y(3,4)Dimesion数组赋值Store<表达式>to <数组名>Eg:DeclareA(3)A(1)=”database system”A(2)=date()A(3)=.t..A(1),A(2),A(3)Database system 07\29\12用字段变量给数组赋值scatter[fields<字段变量表名>]to <数组名>用数组数据替换当前记录的字段值gather from<.数组名>[field<字段表名>] Visual fox pro 中的常用函数Abs()绝对值Int()取整Sign() 符号函数返回数值表达式的符号-1,+1,0Sqrt() 求平方根Round()四舍五入?round(56.679, 2)56.68Mod() 求余数?(10, 3) 1Substr() 求子串?(‘Yunnan university”, 8, 10) universityLeft() 从左端取子串Right() 从右端取子串Len() 求字符串长度Alltrim() 删除子字符串前后空格?len(alltrim(“ 画龙点睛“)) 8At() 求子串出现的位置Like() 字符串匹配函数Time() 时间函数Date() 日期函数Eg Year(date()),month(date())函数类型的转换Dtoc 日期转换成字符Str 数值转换成字符Val 字符转换成数值& 宏代换函数用于替换出字符型内存变量的内容(见教材p53)测试函数Eof()表文件尾,最后一条记录后面Bof()表文件起始Recno()当前记录号Skip 移动记录指针Go botoom 记录指针指向最后一条记录Go top 记录指针指向第一条记录Reccount()记录数测试函数Type () 数据类型测试函数字符表达式与字符运算+:把两个字符串连接成一个新的字符串-:连接两个字符串,将第一个字符串尾部空格移到新字符串末尾$:包含运算符Set exact off 字符串比较,以右为准Set exact on 忽略空格操作数据库的常用命令Create database <数据库名> 建立数据库Open 打开数据库Modify 打开数据库设计器Set database to[<数据库名>] 设置当前数据库Display 显示当前数据库结构Close 关闭Delete 删除操作表的常用命令Create, use, modify structure(打开表设计器),browse(打开浏览窗口,显示修改记录)Replace <字段名>with<表达式>for[<范围>] 直接修改记录Append 在表文件尾追加记录Append from<文件名>[fields<字段表名>][for<条件表达式>] 利用已有文件追加记录Insert 在当前记录之后|之前插入记录Delete 做删除标记Pack 从磁盘上删除做了删除标记的记录Zap 从磁盘上删除所有记录Locate for 查找(定位)记录Continue 继续查找满足locate条件的下一条记录Set filter to 过滤记录Set fields to 筛选字段Go(记录号,bottom,top)定位记录指针Copy structure to<新表文件名> 复制表文件结构Copy to <新表文件名> 复制表文件Copy to <新文本文件名> type delimited 将Copy to <新表文件名>Sort to <新表文件名>on<字段名>/A|/D 物理排序(不改变原表的顺序,而是生成一个排过序的新表索引的常用命令Index on<索引表达式>to<索引文件名>|tag<.索引标识> 创建索引Asc 升序Desc 降序Set index to 打开索引文件Delete tag<索引标识> 删除索引Primery 主索引Unique 候选索引Pack database 清理数据库视图与查询文件Create view<视图名> as <select 语句> 创建视图连接条件Inner join 内部联接仅包含匹配的行Left outer join 左联接(以左边表字段为准)Right outer join 右联接Full join 完全连接Create query 创建查询SQL 语言Insert into [databasename!] dbfname values() 插入新记录(数据必须与表的结构一致)Insert into [databasename!] dbfname from array|memvar 从指定的数组或内存变量中插入新数据Update [databasename!] dbfname set …… where…… [and\or] 更新记录Delete from [databasename!]dbfname where……[and\or] 删除记录Select …… from…… inner join…… on ……into……where [and\or];group by;having;order by 查询having:伴随group by 短语使用,指定每个分组应满足的条件all,top,distinct 指定范围跟在select 后[not]between ……and 确定范围[not] in 确定集合[not] Like 字符匹配查询条件,跟在where 语句后面Is [not] null 空值And\or 多重条件%:表示0或多个字符通配符_:表示一个字符Into cursor <临时表名>Into table<永久表名>指定查询去向into array<数组名>To file<文本文件>To printer 输出到打印机数据定义Check 指定字段或记录的约束条件Error 不满足条件时显示的出错信息Default 指定字段默认值Alter table……add\alter<字段名> 修改表结构Drop check\default|table 删除程序设计中的命令Modify command[<文件名>] 创建命令或过程文件Do <文件名>.prg 执行命令Cancel 结束程序执行,返回命令窗口,同时关闭所有打开的文件Return 返回上级程序Quit 退出visual fox pro 系统输入命令Accept ……to 只接受字符型数据Input……to 接受各种数据类型Wait 输入提示信息选择结构If……[else]……endif 条件语句Do caseCase……case……[otherwise]……Endcase 分支语句Do while……[loop][exit]Enddo 循环语句For<循环变量>=<初值>to<终值>[step<步长>]……[exit][loop]Endfor|next 计数型循环Scan……[for][Loop][Exit]endscsan子程序,过程与自定义函数Do<文件名>[with<参数1,参数2……>] 子程序调用的命令格式Return| to master| [to 过程文件名] 返回带参数的子程序的调用Parameters<形参变量1>[<形参变量2>……]过程定义格式Procedure<过程名>Return|endproc过程调用Set procedure to<过程文件名>[additive]打开过程文件命令,additive指示打开的同时不关闭已有的过程文件自定义函数Function 函数名<命令序列>Return=函数名调用函数见p184~192表单,报表,菜单属性Enable 指定对象是否可用事件Init 对象建立时触发Destroy 对象释放时触发Unload 表单对象释放时触发Click 鼠标单击对象时触发注:当表单含有一个确认按钮,default属性值为.T.时,按enter 键,触发确认按钮的click 事件Dbclick 鼠标双击对象时触发Rightclick 鼠标右击对象时触发方法Release 释放Refresh 刷新容器与控件Parent 当前对象的直接容器This 当前对象Interval 指定timer事件的时间间隔Tooltiptext 指定命令按钮的提示文本Autosize 指定是否自动调整按钮的大小以容纳其内容Buttoncount 指定(命令组,选项组)数量Value 当前编号,状态Aligment 文本框的文本对齐方式Controlsourse 数据源表字段Displaycount 组合框下拉列表的条目数量Listcount 组合框列表部分数据项数目Rowsourse 数据来源Rowsoursetype 数据源类型Style 指定组合框样式Pagecount 页框所含的页数目Page 页框中各页的数组Tabs 指定页框有无选项卡Create form /menu/report 创建Do<文件名.mpr> 运行菜单程序Report form<报表文件名>[preview] 打印或预览报表xm=thisform.List1.Valuethisform.grid1.RecordSource="select 职工号,姓名,工资 from 职工,部门 where 职工.部门号=部门.部门号 and 部门.部门名=xm into dbf three order by 职工号desc"。

Visual FoxPro 常用命令汇总

Visual FoxPro 常用命令汇总

一、数据库操作命令1.新建数据库CREATE DATABASE KS1 &&KS1数据库名2.打开数据库(打开四种方式)OPEN DATABASE KS1 &&KS1数据库名1)OPEN DATABASE KS1 EXCLUSIVE &&EXCLUSIVE是独占式打开数据库2)OPEN DATABASE KS1 SHARE &&SHARE是共享式打开数据库3)OPEN DATABASE KS1 NOUPDATE &&NOUPDATE是只读式打开数据库4)OPEN DATABASE KS1 VALIDATE &&检查数据库是否合法3.设置当前数据库SET DATABASE TO KS1 &&把KS1设为当前数据库4.打开数据库设计器1)MODIFY DATABASE &&不需要加数据库名2)MODIFY DATABASE NOWAIT &&NOWAIT打开数据库设计继续执行3)MODIFY DATABASE NOEDIT &&NOEDIT禁止对数据库修改5.关闭当前数据库CLOSE DATABASE &&不需要加数据库名6.删除数据库DELETE DATABASE KS1 RECYCLE DELETETABLES*删除数据库KS1,RECYCLE指放入WINDOWS回收站,*DELETETABLES指把数据库中的表一起删除7.关闭所有文件CLOSE ALL &&关闭所有文件二、表的操作命令1.新建表CREATE 成绩&&成绩指表名2.打开表USE 成绩&&成绩表名3.打开表设计器MODIFY STRUCTURE &&不需要表名,打开当前表的设计器4.表的记录作命令1)增加记录APPEND BLANK &&在表的尾部追加一条空白记录APPEND &&采用交互方式在表的尾部追加多条记录INSERT BEFORE &&在当前表的当前记录之前追加一条记录INSERT BLANK &&在当前表的当前记录之后追加一条空记录COPY TO XS &&XS指新表名,将当前表复制到新表XS中APPEND FROM XC&&将XC表中的所有记录追加到当前表中,*注:XC与当前表的结构要完全相同才能使用2)记录删除DELETE &&表中删除当前记录(逻辑)DELETE ALL &&表中所有记录(逻辑)DELETE FOR 性别="男" &&删除满足条件的记录*注:第四章如果用到条件都写在FOR 之后3)记录的恢复RECALL &&恢复当前录RECALL &&恢复所有打上删除标记记录recal for 条件&&恢复满足条件的记录4)记录修改EDIT CHANGE BROWS &&方式修改记录REPLACE 字段名WITH 值&&修改当前记录REPLACE ALL 字段名WITH 值&&修改表中所有记录REPLACE 字段名WITH 值FOR 条件&&修满足条件的记录5)记录显示LIST &&显示当前表中所有记录DISPLAY &&显示当前记录LIST 姓名,性别或LIST FIELDS 姓名,性别等价&&显示指字段LIST FOR 条件&&显示满足条件的记6)记录定位A)相对定位GO TOPGO BOTTOMSKIPB)绝对定位1GO 1GOTO 17)记录查找LOCATE FOR 条件CONTINUE &&查找下一个满足条件的记录5.表索引的命令1)建立单索引(.IDX)INDEX ON 索引表达式TO 索引名2)结构复合索引(.CDX)INDEX ON 学号TAG 学号&&索引类型为普通索引INDEX ON 学号TAG 学号CANDIDAT DESC &&侯选索引的降序INDEX ON 学号TAG 学号UNIQUE &&唯一索引3)非构复合索引(.CDX)INDEX ON 学号TAG 学号OF XM &&普能索引INDEX ON 学号TAG 学号OF XM UNIQUE &&唯一索引4)打开索文件SET INDEX TO 索引文件名5)设置当前索引SET ORDER TO 索引名6)索引定位SEEK 值SKIP &&找下一条满足条件的记录7)删除结构复合索引DELETE TAG ALL &&所有索引DELETE TAG XS &&删除指定索引6.自由表表数据表的转换ADD TABLE 表名&&将自由表添加到数据库中REMOVE TABLE 表名&&将数据库表移去变为自由表7.表之间的临时联系SET RELATION TO 索引名TO 表名或工作区8.物理排序SORT ON 排序字段TO 新表名SORT TO 新表名ON 排序字段第二节查询语句一、查询语句select 字段名,字段名DISTINCT TOP 1 PERCENTSUM AVG MAX MIN COUNT 新的字段名FROM 表名1,表名2 INNER JOIN LEFT JOINRIGHT JOIN FULL JOIN ON 联接条件WHERE 条件AND 联接条件IS NULL IS NOT NULL;工资BETWEEN 1210 AND 1230LIKE IN NOT EXISTS ANY ALL SOMEGROUP BY 分组表达式HAVING 限制ORDER BY ;排序字段INTO TABLE /INTO DBF /INTO CURSOR;/INTO ARRAY /TO PRINTER /TO FILE二.几种语句之间转换1.联接SELECT STUDENT2.* FROM SC,STUDENT2 WHERE;STUDENT2.学号=SC.学号AND 成绩<80 ;ORDER BY 学号INTO DBF T12.超联接SELECT STUDENT2.* FROM SC INNER JOIN ;STUDENT2 ON STUDENT2.学号=SC.学号;WHERE 成绩<80 ORDER BY 学号INTO DBF T13.嵌套SELECT STUDENT2.* FROM STUDENT2 WHERE;学号IN(SELECT 学号FROM SC WHERE 成绩<80);ORDER BY 学号INTO DBF T14.谓词SELECT STUDENT2.* FROM STUDENT2 WHERE;EXISTS (SELECT * FROM SC WHERE ;学号=SC.学号AND 成绩<80) ORDER BY SC.学号;INTO DBF T15.否定等价语句WHERE 学号NOT IN(SELECT 学号....WHERE NOT EXISTS (SELECT * FROM SC WHERE;学号=SC.学号)6.所有行有都满足等价语句WHERE 成绩>ALL(SELECT 成绩...)WHERE 成绩>(SELECT MAX(成绩)7.其中一行满足等价语句WHERE 成绩>ANY(SELECT 成绩...)WHERE 成绩>SOME(SELECT 成绩...)WHERE 成绩>(SELECT MIN(成绩)8.注:GROUP BY 与HAVING ,ORDER BY 与TOP 关系有HAVING 必须GROUP BY ,但是GROUP BY 不;一定有HAVING有TOP 必须ORDER BY ,但是ORDER BY 不;一定有TOP9.注意几个关键字所有...都...采用逆向思维至少选了3门课,或者有每个字样,还有对字段进;计算时首思考分组字段平均分低于该学生或者说本仓库等有是一张表;通常自嵌套10.条件的四种组合方式1)字段名=值&&工资=1230 城市="北京"这种条件直接放在WHERE 之后2)计算字段=值&&例:COUNT(*)>3 AVG(成绩)>85这种条件只能放在HAVING 之后3)字段=计算字段&& 工资=MAX(工资)条件: WHERE 工资=(SELECT MAX(工资)...4)字段=字段&& 职工号=职工号条件:WHERE 职工号=(SELECT 职工号....)WHERE 职工号IN(SELECT 职工号....)11.数据定义1.CREATE TABLE /CREATE DBF &&新建表2.DROP TABLE &&删除表3.ALTER TABLE &&修改表设计器=MODIFY STRUCTURE注:ADD TABLE &&添加表REMOVE TABLE &&移去表ALTER TABLE &&修改表DROP TABLE &&删除表CREATE TABLE &&建立表RENAME TABLE &&给表重命名DELETE TABLE && 无此命令CHECK && 字段有效性规则ERROR && 出错信息DEFAULT && 默认值PRIMARY KEY &&主索引UNIQUE/CANDIDATE && 候选索引FREE &&自由表FOREIGN KEY 学号TAG 学号REFE STUDENT &&建立联系ALTER &&修改DROP &&删除ADD &&添加RENAME COLUMN &&给字段重命名数据操纵INSERT INTO /UPDATE /DELETE FROMINSERT INTO SC VALUES(....)INSERT INTO SC FROM ARRAY 数组名INSERT INTO SC FROM MEMVAR 同名内存变量视图新视图CREATE VIEW 视图名AS (SELECT ... FROM ... WHERE..)B.学号第三节数据定义与数据操纵一新建表CREATE TABLE 表名(字段名1 类型(宽度),....)二删除表DROP TABLE 表名三修改表ALTER TABLE 表名添加(ADD)与删除(DROP)1.添加字段ALTER TABLE 学生1 ADD 性别C(2) CHECK ;性别="男" OR 性别="女" ERROR "性别只能是男或女";DEFAULT "男" ADD 出生日期 D2.删除字段ALTER TABLE 学生1 DROP 性别DROP 出生日期3.修改字段名ALTER TABLE 学生1 RENAME COLUMN 学呈TO 学号4.添加主索引ALTER DBF 学生1 ADD PRIMARY KEY 学号TAG 学号ALTER DBF 学生1 ALTER 学号C(4) PRIMARY KEY5.删除主索引ALTER TABLE 学生1 DROP PRIMARY KEY6.添加候选索引ALTER TABLE 学生1 ALTER 姓名C(6) UNIQUEALTER TABLE 学生1 ADD UNIQUE 姓名TAG 姓名7.删除侯选索引ALTER TABLE 学生1 DROP UNIQUE TAG 姓名8.添加联系ALTER TABLE 成绩ADD FOREIGN KEY 学号TAG 学号REFE 学生9.删除联系ALTER TABLE 成绩DROP FOREIGN KEY TAG 学号10.修改字段类型宽度是否为空ALTER TABLE 学生1 ALTER 姓名C(6) NULL11.给表添规则信息默认值ALTER TABLE 学生 1 ALTER 性别SET CHECK 性别$"男女" ERROR "性别只能是男或女" ALTER 性别SET DEFAULT "男"ALTER TABLE 学生 1 ALTER 性别C(2) CHECK 性别$"男女" ERROR "性别只能是男或女" DEFAULT "男"12.添加删除规则信息默认值ALTER TABLE 学生1 ALTER 性别DROP CHECKALTER TABLE 学生1 ALTER 性别DROP DEFAULT四.插入记录三种方式:1.数据来源一个具体值1)INSERT INTO SC VALUES("S9","C5",78,"SDF")注:插入时值与字段一一对应,不能多也不少,值的类型与字段的类必须一致2)INSERT INTO SC(学号,课程号,成绩) VALUES("S9","C5",78)注:如果值与字段不等则加字段名限制,且值的顺序必须与列的顺一致2.插入数据来源数组DIME A(3)A(1)="S7"A(3)=56INSERT INTO SC FROM ARRAY A3.插入数据来源同名内存变量学号="SS"课程号="CC"成绩=89INSERT INTO SC FROM MEMVAR五.记录的删除(逻辑删除)1.DELETE FROM SC WHERE 课程号="CC"2.用两张表时DELETE FROM SC WHERE 学号IN(SELECT 学号;FROM STUDENT2 WHERE 性别="男") 六.记录修改UPDATE 表名SET 修改字段名=值WHERE 条件七.新建视图CREATE VIEW 视图名AS SELECT …..FROM ….WHERE …..DROP VIEW 视图名删除视图第五节扩展名应用一、扩展名1.项目管理器.PJX .PJT2.文本文件.TXT3.数据库.DBC .DCX .DCT4.表(自由表与数据库) .DBF5.如果一张表包含通用型或备注型时(.FPT)6.单索引IDX7.复合索引.CDX8.查询.QPR9.程序.PRG10.过程文件.PRG11.表单.SCX .SCT12.菜单.MNX .MNT13.菜单程序.MPR14.报表.FRX15.可执行文件.EXE16.应用程序文件.APP17.其它.COM .DLL第六节新建、打开修改、运行、删除一.新建文件1.新建项目CREATE PROJECT 项目名2.新建数据库CREATE DATABASE 数据库名3.新建表CREATE 表名4.新建索引INDEX ON 索引表达式TAG 索引名5.新建查询CREATE QUERY 查询名CREATE VIEW 视图名AS SELECT .. FROM ..WHERE..7.新建程序MODIFY COMMAND 程序名8.新建过程MODIFY COMMAND 过程文件名9.新建表单CREATE FORM 表单名10.新建菜单CREATE MENU 菜单名11.新建报名CREATE REPORT 报名二.打开与修改文件1.打开项目MODIFY PROJECT 项目名2.打开数据库OPEN DATABASE 数据库.打开数据库设计器MODIFY DATABASE4.打开表USE 表名5.打开表设计器MODIFY STRUCTURE6.打开索引文件SET INDEX TO 索引文件名(单,非结构)7.打开视图设计器MODIFY VIEW 视图名8.打开查询设计器MODIFY QUERY 查询名9.打开程序文件MODIFY COMMAND 程序名10.打开表单设计器MODIFY FORM 表单名11.打开菜单设计器MODIFY MENU 菜单名12.打开报表文件MODIFY REPORT 报表名三.运行文件1.运行查询DO 查询名.QPR2.运行程序DO 程序名.PRG3.运行菜单DO 菜单名.MPR4.运行表单DO FORM 表单名5.预览报表REPORT FORM 报表名PREVIEW1.删除数据库DELETE DATABASE 数据库名2.删除数据库表DROP TABLE 表名3.删除视图DROP VIEW 视图名4.删除记录DELETE FOR 条件DELETE FROM 表WHERE 条件。

Foxpro基本命令与函数

Foxpro基本命令与函数

Foxpro基本命令与函数命令中用到的范围:ALL:命令对表中所有记录起作用,即执行时从首记录到末记录,最记录指针停在数据库的末尾。

NEXT<expN> 命令作用于从当前记录开始到当前记录后<expN>条记录为止的范围内的记录,最后记录指针指向作用范围内的最后一条记录处。

NEXT 1表示仅作用于当前记录。

Record<expN>命令作用于记录号为<expN>的记录。

TEST 命令作用范围从当前记录开始到表的最后一个记录为止命令中的FOR子句只作用于满足条件的记录。

一、基本命令1. 打开和关闭数据表USE [<数据表名>] 当省略选项时为关闭当前数据表CLOSE ALL 关闭所有数据表2. 选择当前工作区SELECT <工作区号|数据表名|0>功能:选择当前工作区。

可以直接选择工作区号,也可通过指定其中已经打开的数据表别名来指定工作区。

SELECT 0 是选择当前未使用的最低编号的工作区3. 增加记录APPEND BLANK 在当前表的尾部追加一个空白记录INSERT BLANK 在当前表的当前记录之后插入一条空白记录INSERT BLANK BEFORE 在当前表的当前记录之前插入一条空白记录注意:在表建立索引后,INSERT的功能与APPEND相同4. 替换字段的值REPLACE [范围] <字段1> WITH <表达式1>[, <字段2> WITH <表达式2>, ...<字段n> WITH <表达式n>] [FOR <expL>]功能:计算表达式的值,并填入指定字段,当范围和条件选项省略时只对当前记录操作。

5. 删除记录DELETE [范围] [FOR 条件]功能:对记录加删除标记(即逻辑删除),当范围和条件选项省略时只对当前记录操作。

Visual_Foxpro命令

Visual_Foxpro命令
DELETE TAG 从复合索引(.CDX)文件中删除标识
INDEX 创建一个索引文件,利用该文件可以按某种逻辑顺序显示和访问表记录
SET ORDER 指定表的主控索引文件或标识
SORT 对当前选定表进行捧序,井将捧过序的记录输出到新表中
三、Visual FoxPro环境设定命令
DISPLAY STATUS 显示VisualFoxPro环境的状态
四、SET 设定命令
SET CONSOLE 激活或废止从程序中向VisualFoxPro主窗口或活动的用户自定义窗口的输出
SET DEFAULT 指定默认的驱动器、目录或文件夹
SET DEVICE 将@…SAY的输出结果定向到屏幕、打印机或文件
SET EXACT 指定比较不同长度两个字符串时,VisualFoxPro使用的规则
SET PRINTER 打开或者关闭向打印机的输出,或将结果输出到一个文件、端口
九、Visual FoxPro程序管理命令
&& 标明程序文件中非执行的内部注释的开始
* 标明程序文件中非执行的注释行的开始
CANCEL 结束当前VisualFoxPro程序的执行
DECLARE 创建一维或二维数组
位,它以当前记录为基准前移(-)或后移(+)n个记录,不选任选项,则默认记录指针后移一个记录。
MODIFY COMMAND 打开一个编辑窗口,从中可以修改或创建程序文件
PARAMETERS 将调用程序传来的数据赋值给私有内存变量或数组
PRIVATE 在当前程序中隐藏指定的、在调用程序中定义的内存变量或数组
PROCEDURE 用在程序文件中标识一个过程的开始

vfp的语法规则

vfp的语法规则
VFP的语法
☆☆ Visual Fox Pro程序设计
1
使用命令窗口
SET MARK TO [日期分隔] SET DEFAULT TO [文件路径] DISPLAY STATUS或LIST STATUS
☆☆ Visual Fox Pro程序设计
2
VFP书写规则
必须以一个命令动词开头,大小写字母等效。 命令动词和子句中的短语可用其前四个或四个以上字符的 缩写表示,如DISP、DISPL、DISPLAY、Disp是等效的 大多数命令动词后可以跟一个或多个限定该动词的子句。 命令行中的各个子句可以按任意次序排列。 命令行中如果有多个词就以一个或多个空格隔开 一个命令行的最大长度不能超过254个字符。 一行只能写一条命令,每条命令的结束标志是按回车键。 如果一个命令太长,一行写不下,可以使用续行符“;”, 然后回车,并在下一行接着书写该命令。但总长不能超过 254个字符。 所有命令,一律在英文输入状态下进行。标点符号均用英 文,否则系统提示:“命令中含有不能识别的短语或关键 字”。 ☆☆ Visual Fox Pro程序设计 3
☆☆ Visual Fox Pro程序设计
32
变量的输出
VFP提供的输出命令很多,这里只介绍基 本输出命令?和??的使用。 【格式一】?[<表达式1>[,<表达式2>]…] 【格式二】??[<表达式1>[,<表达式2>]…] 【功能】先计算表达式的值,再显示各值。 格式一从下一行的第一列起显示,格式二 则不换行显示。
☆☆ Visual Fox Pro程序设计
20
数值型常量
数值型常量是由数字0~9、小数点、 正负号和E(科学计数法中指数的底10) 组成的。 例如128、0.234、-123.34、1.2E+5等 都是数值型常量。其中1.2E+5是 1.2×10^5在VFP中的表示方法。

Visual FoxPro常用命令总结

Visual FoxPro常用命令总结

Visual FoxPro常用命令总结1、打开表命令: USE 表文件名2、关闭表命令:USE 、CLOSE ALL3、记录指针定位命令:GO 数值表达式(绝对移动)、SKIP(相对移动)4、替换(修改)记录命令:REPLACE 字段1 WITH 表达式1,字段2 WITH 表达式2…… [范围][FOR<条件>]5、复制表命令: COPY TO 新文件名 [FOR〈条件〉][范围]6、复制表结构命令:COPY STRU TO 新表文件名 [FIEL 〈字段名表〉]7、查询命令:(1)条件查询:LOCATE FOR 〈条件〉继续查找命令:CONTINUE8、选择工作区命令: SELE 工作区号|别名9、建立表之间的关联命令:SET RELATION TO 关联表达式 INTO 别名10、表的更新命令:UPDATE ON 关键字段 FROM 别名 REPLACE 字段1 WITH 表达式1,字段2 WITH 表达式2 …… [RANDOM]11、交互式输入命令:(1)INPUT [提示信息] TO 内存变量(2)ACCEPT [提示信息] TO 内存变量13、输出命令:?和??14、设置默认路径命令: SET DEFA TO 盘符:\路径15、关闭表命令:CLOSE TABLE,CLEAR ALL16、记录显示命令:LIST/DISP [范围][FOR 〈条件〉]17、追加记录命令:(1)表尾追加:APPEND [BLANK](2)表中插入:INSERT [BEFORE] [BLANK](3)从其他文件中追加多条记录到当前表:APPEND FROM 文件名 [FOR〈条件〉][FIEL <字段名表>]18、删除记录命令:DELE [范围][FOR<条件>]19、彻底删除带标记记录命令:PACK20、取消删除标记命令:RECALL [范围][FOR<条件>]21、物理删除表中所有记录命令:ZAP22、复制任何类型文件:COPY FILE 〈文件名1〉TO 〈文件名2〉23、将单个记录发送到数组:SCATTER TO 〈数组名〉[FIEL〈字段名表〉]24、将数组中的值发送到当前记录命令:GATHER FROM 数组名25、将表中多条记录传送到数组命令:COPY TO ARRAY 数组名26、将二维数组中的值传送到表中: APPEND FROM ARRAY 数组名27、表的排序命令: SORT ON 〈字段1〉/A|/D,字段2/A|/D to 新表文件名28、建立索引命令: INDEX ON 关键字段 TO 单索引文件名INDEX ON 关键字段 TAG 索引标识名打开索引文件命令: SET INDEX TO 索引文件名表29、设置主控索引命令:SET ORDER TO 单索引文件名 |TAG 索引标识30、更新索引文件命令:REINDEX索引查询: FIND 字符表达式SEEK 表达式继续查找命令: SKIP31、关闭索引文件:SET INDEX TO 、CLOSE INDEX、CLOSE ALL、CLEAR ALL、USE 32、删除索引标识命令:DELE TAG 索引标识名删除单索引文件命令:DELE FILE 单索引文件名33、表的浏览命令:BROWSE34、记录的过滤命令:SET FILTER TO 条件35、字段的过滤命令:SET FIELDSS TO 字段名表36、表之间的连接命令:JOIN WITH 别名 TO 新表文件名 FOR 条件37、设置一对多关系命令:SET SKIP TO 别名38、数据库相关命令:打开:OPEN DATA 数据库名新建:CREAT DATA 数据库名修改:MODI DATE 数据库名关闭:CLOSE DATA、CLOSE DATA ALL、CLOSE ALL、CLEAR ALL设置当前数据库命令:SET DATA TO 数据库名39、程序相关命令:建立/修改程序:MODI COMMAND 程序文件名运行程序:DO 程序文件名40、内存变量/数组赋值命令:=、STORE41、交互式输入命令:@行,列 SAY 表达式 GET 变量42、文本输出命令:TEXT〈输出显示内容〉ENDTEXT43、终止程序执行命令:CANCEL、QUIT、RETURN44、清除主屏幕命令:CLEAR45、系统设置命令:(1)设置精确比较命令:SET EXACT ON/OFF(2)设置删除标记命令:SET DELE ON/OFF。

VisualFoxPro6.0命令手册

VisualFoxPro6.0命令手册

VisualFoxPro6.0命令手册Visual FOXPRO中的常用命令目录一、数据库的建立、打开、关闭和删除二、数据表和视图的建立、打开、关闭和删除三、数据表和表结构的编辑、修改四、数据表中数据操作(查询、插入、删除和修改等)五、文件管理(文件和文件夹的复制、创建和删除)六、数据的复制与传送七、排序与索引八、查找和定位九、统计计算十、程序控制十一、其它命令结构FoxPro的命令结构一般由命令动词、语句体和注释几部分构成。

如:LIST [范围] [[FIELDS 字段名列表] [FOR 条件][WHILE 条件] [OFF] [TO PRINT]常用子句范围:表示记录的执行范围,可以是下面几项其中之一:ALL 表示全部记录;NEXT n 表示从当前记录开始的以下n条记录;RECORD n 表示第n号记录;REST 表示从当前记录到最后一条记录。

FIELDS 字段名表:用于指定操作的字段,多个字段时用逗号分隔。

FOR条件:对满足条件的记录进行操作。

WHILE 条件:当遇到第一个不满足条件的记录时,停止命令执行。

以下命令中,大写的英文词为关键词,必须原样照写。

“常用子句”指以下几个可选子句:[范围] [FIELDS 字段名表] [FOR 条件] [WHILE 条件]命令中的“列表”,指用“,”分隔的各项。

如“字段名列表”就是将各个字段名用逗号分隔。

部分英文词的意义:Databasename 数据名tablename 数据表名filename 文件名 Viewname 视图名 arrayname 数组名提示:加下划线的为本课程要求掌握的命令。

一、数据库的建立、打开、关闭和删除建立数据库:CREATE DATABASE [databasename|?]从磁盘中删除数据库:DELETE DATABASE databasename|?打开数据库:OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE [databasename|?]指定的数据库databasename为当前数据库。

Visual FoxPro部分命令讲解

Visual FoxPro部分命令讲解

Visual FoxPro部分命令讲解最近学习了一下FoxPro的部分命令,现总结如下:一、如果要浏览某数据库,在命令框中输入BROWS即可二、替换如图,将XB(性别)中的女全部换成男,则可以在命令栏中输入命令:repl all for xb="女" xb with"男"repl 是替换命令;all 全部; for 后设置条件格式;with 替换后的内容;三、将生源所在地中前两位为“45”的换成前两位为"88",即用命令repl all for subs(syszddm,1,2)="45" syszddm with"88"+subs(syszddm,3,4)subs(syszddm,1,2):(截取数据字符函数)从取syszddm的第1位开始取,取2位for subs(syszddm,1,2)="45" :条件索引subs(syszddm,3,4):从取syszddm的第3位开始取,取4位四、查看生源所在地相同的(建立查询,找表)工具——向导——查询或由开始菜单——新建——查询五、显示SYSZDDM长度为5的数据brow for len(alltrim(syszddm))=6brow for len(alltrim(syszddm))=5brow for len(alltrim(sfzh))<>15 and len(alltrim(syszddm))<>18 除去sfzh的空格,长度不等于15或18的数据显示出来在身份证号码中取出出生日期的命令:csrq出生日期repl all for len(alltrim(sfzh))=18 csrq with subs(sfzh,7,8)六、查找两表中不同或相同的数据USE d:\我的文档\桌面\试验\shiyan1.dbf EXCLUSIVEUSE d:\我的文档\桌面\试验\ceyan2.dbf EXCLUSIVEsele * from d:\我的文档\桌面\试验\shiyan1.dbf where byrq not in (sele byrq from d:\我的文档\桌面\试验\ceyan2.dbf)查找表shiyan1.dbf中byrq不在表ceyan2.dbf的数据七、显示姓别中有"?"的数据BROW FOR "?"$xb八、将shiyan1.dbf表中的某些数据拷贝到表ceyan2.dbf将shiyan1.dbf中rxrq拷贝到ceyan2.dbf中rxrq(暂未研究出来)USE d:\我的文档\桌面\试验\ceyan2.dbf EXCLUSIVEUSE d:\我的文档\桌面\试验\shiyan1.dbf EXCLUSIVEsele aUSE d:\我的文档\桌面\试验\ceyan2.dbfindex on rxrq tag hsele buse d:\我的文档\桌面\试验\shiyan1.dbfdo while not eof()akh=xbdmarxrq=rxrqsele aif seek(axbdm)repl rxrq with arxrqend ifsele bskipskipenddo。

VisualFoxPro基础指令

VisualFoxPro基础指令

VisualFoxPro基础指令常用Visual FoxPro 简单操作指令1、提取相同或不相同数据sele * from 表1 where 字段名 in(sele 字段名 from 表2)sele * from 表1 where 字段名 not in(sele 字段名 from 表2 ) sele * from DX where A in(sele A from 50)sele * from Z where B in(sele B from 13)Update 11 set A=ltrim(A)copy next 65530 to 1 csvdele for 字段名=’’ (删除此表中某列=’’的数据)pack (彻底删除)sele * from ldz where B in(sele A from 11)sele * from dxz where B in(sele A from 11)sele * from moz where B in(sele A from 11)sele * from 汝州移动计费用户清单59 where Serv_num_1 in(sele A from 514) sele * from DX where B in(sele A from D) Copy to 新文件名 for 列名=’内容’sele * from 汝州移动计费用户清单731 where Serv_num_1='150********'(单个查询号码)Dele next 6 (从第1个到第6个删除)Pack(彻底删除)sele * from 砸金蛋目标客户 where 号码 in(sele 号码 from GPRS 套餐沉默用户清单1017)sele * from 手机上网套餐沉默清单不含砸金蛋where a in(sele 号码 from GPRS套餐沉默用户清单1017)2、滤除重复数据Sele * from 表名 group by 字段名3、统计重复次数(透视)sele 字段名,count(*) from 表名 having count(*)>=1 groupby 字段名4、简单联接查询Sele 表1.*,表2.* from 表1,表2 where 表1.字段名=表2.字段名5、超联接查询(左右联接、完全联接)sele 表1.*(字段名),表2.字段名from 表1 right(left) JOIN 表2 on 表1.字段名=表2.字段名sele b.*,a.* from b left join a onb.gh=a.gh6、提取部分数据sele * from a where 字段名=”内容”7、两个DBF表合并use a打开第一个表append from b (纵向合并)select * into a,b where a.id=b.id (横向合并)8、数据透视sele num,conut(*) from a group by num9、记录的修改(1)在浏览窗口中修改指令: EDIT / CHANGE / BROWSE(2)批量替换指令:Replace字段名 with 替换值 for 条件如:replace 班组 with "shiqu"for 班组="营业"10、记录的删除(1)逻辑删除(添加删除标记)指令:Delete (all) for条件表达式(2)恢复删除指令:Recall all(3)物理删除 pack---删除有删除标记的记录(zap ---彻底删除表中所有记录)不推荐用这个11、数据的复制copy to 文件名.xls(txt)11\=left(ziduan,weishu)sele optrid,count( *) from yingxiao group by optrid (透析)11、当日期是“日期型时”select * from sqjf where join_date>={^2006-12-01}12、以某列为准进行排序Sort to 新起表名 on 列名(默认升序)Sort to 新起表名 om 列名/d (降序)13、消除空格Update 表名 set 列表名=ltrim(列表名) 字符型Update 广西set A=ltrim(A)Update 广西set B=ltrim(B)Update 广西set C=ltrim(C)Update 广西set D=ltrim(D)Update 广西set E=ltrim(E)Update 广西set F=ltrim(F)Update 广西set G=ltrim(G)Update 广西set H=ltrim(H)Update 广西set I=ltrim(I)Update 11 set A=ltrim(A)Update 11 set B=ltrim(B)Update 11 set C=ltrim(C)Update 11 set D=ltrim(D)Update 11 set E=ltrim(E)Update 11 set F=ltrim(F)Update 11 set G=ltrim(G)Update 11 set H=ltrim(H)Update 11 set I=ltrim(I)Update 11 set J=ltrim(J)Update 11 set K=ltrim(K)Update 11 set L=ltrim(L)14、从一个表中提取某列为DE数据Sele * from 表名 where 列名=’内容’ (单引号)例:Sele * from A where B=’DE’ (单引号)15、直接导出某列为DE数据的数据Copy to 新文件名for 列名=’内容’ or列名=’内容’(BDF 格式)Copy to xz for 乡镇_06='DE51' or 乡镇_06='DE52' or 乡镇_06='DE53' or 乡镇_06='DE54' or 乡镇_06='DE55' or 乡镇_06='DE56' or 乡镇_06='DE57' or 乡镇_06='DE58' or 乡镇_06='DE66' or 乡镇_06='DE67'or 乡镇_06='DE68' or 乡镇_06='DE69' or 乡镇_06='DE70'or 乡镇_06='DE72'or 乡镇_06='DE73'Copy to cq1 for 乡镇_04='DEA1' or 乡镇_04='DEA3' or 乡镇_04='DEA4'Copy to cq2 for 乡镇_04='DEA6' or 乡镇_04='DEA7'Copy to 72 for 开户_03='DE72'16、导出Copy next 65530 to 文件名 csv ( csv格式)Copy to 文件名 ( DBF格式)17、查询某列为DE数据的数据Sele 列表名 from 表名Sele 列表名,列表名 from 表名18、删除表1、表2中相同的数据Delete from 表1 where 表1列表名 in (sele 表2列表名 from 表2)19、以某列为准进行滤重Sele * from 表名 group by 列表名20、把0替换成空格Update 表名 set 列表名=‘空格’where 列表名=’0’Update xz set 乡镇_04=‘136********’where 乡镇_04=’DE51’Update xz set 乡镇_04=‘139********’where 乡镇_04=’DE52’Update xz set 乡镇_04=‘159********’where 乡镇_04=’DE53’Update xz set 乡镇_04=‘137********’where 乡镇_04=’DE54’Update xz set 乡镇_04=‘137********’where 乡镇_04=’DE55’Update xz set 乡镇_04=‘137********’where 乡镇_04=’DE56’Update xz set 乡镇_04=‘159********’where 乡镇_04=’DE57’Update xz set 乡镇_04=‘137********’where 乡镇_04=’DE58’Update xz set 乡镇_04=‘139********’where 乡镇_04=’DE66’Update xz set 乡镇_04=‘135********’where 乡镇_04=’DE67’Update xz set 乡镇_04=‘150********’where 乡镇_04=’DE68’Update xz set 乡镇_04=‘136********’where 乡镇_04=’DE69’Update xz set 乡镇_04=‘158********’where 乡镇_04=’DE70’Update xz set 乡镇_04=‘135********’where 乡镇_04=’DE72’Update xz set 乡镇_04=‘137********’where 乡镇_04=’DE73’Update 短信7月份未参清单z set 网格='大峪网格' where 网格='DE51'Update 短信7月份未参清单z set 网格='寄料网格' where 网格='DE52'Update 短信7月份未参清单z set 网格='焦村网格' where 网格='DE53'Update 短信7月份未参清单z set 网格='临汝镇网格' where 网格='DE54'Update 短信7月份未参清单z set 网格='陵头网格' where 网格='DE55'Update 短信7月份未参清单z set 网格='蟒川网格' where 网格='DE56'Update 短信7月份未参清单z set 网格='庙下网格' where 网格='DE57'Update 短信7月份未参清单z set 网格='骑岭网格' where 网格='DE58'Update 短信7月份未参清单z set 网格='尚庄网格' where 网格='DE66'Update 短信7月份未参清单z set 网格='王寨网格' where 网格='DE67'Update 短信7月份未参清单z set 网格='温泉网格' where 网格='DE68'Update 短信7月份未参清单z set 网格='夏店网格' where 网格='DE69'Update 短信7月份未参清单z set 网格='小屯网格' where 网格='DE70'Update 短信7月份未参清单z set 网格='杨楼网格' where 网格='DE72'Update 短信7月份未参清单z set 网格='纸坊网格' where 网格='DE73'Update 短信7月份未参清单z set 网格='丹阳东路网格' where网格='DEA1'Update 短信7月份未参清单z set 网格='广成路网格' where 网格='DEA3'Update 短信7月份未参清单z set 网格='广成西路网格' where 网格='DEA4'Update 短信7月份未参清单z set 网格='望嵩路网格' where 网格='DEA6'Update 短信7月份未参清单z set 网格='烟风路网格' where 网格='DEA7'【分批次导出】copy to type xls for recno()>=1 and recno()<15000【导出地市数据】sort to 宝丰on 营业部for 营业部='宝丰'【筛选数据】sort to 宝丰on 营业部for 营业部='宝丰' and sort to 成功on 推荐_10 for 推荐_10='成功'【分地市】sort to 成功on 推荐_10 for 推荐_10='成功'Copy to DEA1 for town_id='DEA1'Copy to DEA3 for town_id='DEA3'Copy to DEA4 for town_id='DEA4'Copy to DEA6 for town_id='DEA6'Copy to DEA7 for town_id='DEA7'Copy to DE51 for town_id='DE51'Copy to DE52 for town_id='DE52'Copy to DE53 for town_id='DE53'Copy to DE54 for town_id='DE54'Copy to DE55 for town_id='DE55'Copy to DE56 for town_id='DE56'Copy to DE57 for town_id='DE57'Copy to DE58 for town_id='DE58'Copy to DE66 for town_id='DE66'Copy to DE67 for town_id='DE67'Copy to DE68 for town_id='DE68'Copy to DE69 for town_id='DE69'Copy to DE70 for town_id='DE70'Copy to DE72 for town_id='DE72'Copy to DE73 for town_id='DE73'select * from 1 where code in ('D0*******','D0*******','D0*******')select SERV_NUM_1,SUBSTR(NOTES,1,11) NOTES,CHANNEL_ID,CODE,NAME from 1select * from (select * from 3)a left join (select * from 111)b where trim(a.channel_id)=trim(b.A)select a.*,b.* from 1 a left join 111 b on a.channel_id=b.Aselect a.*,b.B from 1 a left join 111 b on a.channel_id=b.Aselect a.*,b.* from 11 a left join 1 b on a.客户号码=b.A11:表示需要在此表中追加东西1:表示被追加的表格客户号码:表示11表中相同的一列11 a 11表另一个名字aa.*,把11表格另起一个名字b.* 把1表格另起一个名字b.A (1表格中对比相同一列的列表名)复制其中某列的全部数据select 列表名,列表名(全部列表名及追加的列表名,按顺序写出)from 表名Update 短信 set A=ltrim(A)Update 短信 set B=ltrim(B)Update 短信 set C=ltrim(C)Update 短信 set D=ltrim(D)Update 短信 set E=ltrim(E)Update 短信 set F=ltrim(F)Update 短信 set 短信=ltrim(短信)Update 短信 set H=ltrim(H)Update 短信 set I=ltrim(I)Update 短信 set J=ltrim(J)Update 短信 set K=ltrim(K)追加select * from 1 a left join jk b on a.serv_num_1=b.Aselect * from 2 where A is not null(提取表2中A列不是空的数据)。

FoxPro命令的格式及书写规则

FoxPro命令的格式及书写规则

2.4 FoxPro命令的格式及书写规则 命令的格式及书写规则
2.4.1命令的一般格式 每条Foxpro命令都有其特定的语法结构,用 以说明为实现该命令的功能所必须包含和可以 任选的成分。一条典型的操作命令由命令动词、 操作对象和限制性短语三部分组成。 ⒈ 命令动词 所有命令都以命令动词开头,它规定了命 令要完成的功能。命令动词通常为一个英文动 词,该动词的英文含义表示要执行的操作。例 如,HELP(帮助命令)、DO (执行命令)。
本书所介绍命令的格式中的符号约定如下: <> 命令中的参数用一对尖括号表示。 [] 命令中位于方括号中的内容为任选择, 可以选,也可以不选。 | 命令中互斥的选项用竖线分隔,表示不 能同时使用。 … 命令中可重复多次的选项用省略号表示, 选项之间采用逗号“,”分隔符。
2.4.2 命令的书写规则 使用FoxPro命令时应遵循如下规则: 命令时应遵循如下规则: 使用 命令时应遵循如下规则 每条命令必须以命令动词开头, ⑴每条命令必须以命令动词开头,且必须符合 命令的语法格式。 命令的语法格式。 ⑵限制性短语在命令行中出现的先后次序无关 紧要。 紧要。 命令动词与限制性短语之间、 ⑶命令动词与限制性短语之间、子句与子句之 间以及各个选项之间必须至少用一个空格隔开。 间以及各个选项之间必须至少用一个空格隔开。 ⑷命令中的字母不分大小写 一条命令的最大长度可以为2048个字符,如 个字符, ⑸一条命令的最大长度可以为 个字符 果命令较长可分多行书写, 果命令较长可分多行书写,但必须在每行的结尾 使用分行符“ ” 最后一行不用)。 使用分行符“;”(最后一行不用)。 一行内只允许写一条命令, ⑹一行内只允许写一条命令,每条命令用回车 符作为结束标志。 符作为结束标志。
操作对象 指出命令所作用的对象,可以是字段 名、操作范围、文件名等。其中,操作 范围规定了命令所作用的记录的范围。 有如下四种情况: ⑴ALL 操作对象为全部记录 ⑵NEXT <n> 操作操作对象为第n条记 录

Visual foxpro命令的基本规则

Visual foxpro命令的基本规则

作业
• 1、成批替换数据命令的基本格式为: replace <字段名1> with <表达式1> [,字< 段名2> with <表达式2> …] [all] [for 条件] • 假如有一个表为xscj,其中有数学、语文、 计算机、总分、平均分四个字段。用成批 替换数据命令求总分
作业答案
• Replace 总分 with 数学+语文+计算机
可以按前项相同方式重复举例说明举例说明打开表文件命令的基本格式use表文件名工作区号alias别名如
Visual foxpro命令的基本规则 foxpro命令的基本规则
• 关键字和命令动词:命令格式中的英文单词称为 关键字,其中第一个关键字就是命令动词。 • 子句:命令格式中除了命令动词外的其他各项称 为子句。 • 分隔符:分隔符通常是一个或多个空格。 • 书写形式:一行只能写一条命令,但一条命令可 以写在多行。如果一条命令写在多行,在除最后 一行外的其他各行末尾均加一个分号“;” • 关键字字母的大小写等效。
命令格式中的符号
• • • • 尖括号< &g”:可以按前项相同方式重复
举例说明
• 打开表文件命令的基本格式 Use<表文件名> [IN 工作区号] [Alias 别名] 如:use xsda.dbf in 5 • 创建表文件命令的基本格式 Create table|dbf <表文件名>(<字段名><类型 >[宽度[,小数位数])[,字段名…]]) 如: create table xscj.dbf (学号 C(8),数学 N (5,1),计算机 N(5,1),总分 N(5,1), 平均分 N(5,1))

第2章_Visual_FoxPro操作基础

第2章_Visual_FoxPro操作基础

2011-5-22
—— 计算机科学与工程学院 ——
11/22
注:表达式输出命令格式: ?|?? <表达式表> 该命令的功能是依次计算并显示各表达式的值。 ?与??的区别在于:?在显示表达式内容之前,先发送出一个回车换行 符;而??则不发出回车换行符,从光标当前位置开始输出。
(2)命令窗口的自动响应菜单操作功能 当在Visual FoxPro菜单中选择某个菜单选项时,Visual FoxPro会 把与该操作等价的命令自动显示在命令窗口。 (3)命令窗口的命令记忆功能
FoxPro菜单的约定 1.Visual FoxPro菜计算机科学与工程学院 ——
9/22
FoxPro菜单项的功能 2.Visual FoxPro菜单项的功能
(1)“文件”菜单 (2)“编辑”菜单 (3)“显示”菜单 (4)“格式”菜单 (5)“工具”菜单 (6)“程序”菜单 (7)“窗口”菜单 (8)“帮助”菜单
FoxPro状态栏 2.2.5 Visual FoxPro状态栏
1.菜单选项的功能
当选择了某一菜单选项时,就会在状态栏显示该选项的功能,使用 户能及时了解所选命令的作用。例如在“文件”菜单中选择“打开”命 令时,状态栏将显示“打开已有文件”,选择“退出”命令时将显示 “退出Visual FoxPro”等。
2011-5-22
—— 计算机科学与工程学院 ——
4/22
(5)单击“下一步”按钮后,进入Visual FoxPro 6.0的安装程序,选择 安装类型。若要进行典型安装(85MB),选择“典型安装(T)”, 该选项将安装最典型的组件,并将帮助文件留在CD-ROM上。若需要安 装其他的Visual FoxPro文件,包括ActiveX控件或企业版文件,选择 “自定义安装(U)”,该选项允许自定义要安装的组件。系统默认安 装所有文件。

visualfoxpro命令Visualfoxpro中的命令函数

visualfoxpro命令Visualfoxpro中的命令函数

visual fox pro 命令Visual fox pro 中的命令函数导读:就爱阅读网友为您分享以下“Visual fox pro 中的命令函数”资讯,希望对您有所帮助,感谢您对的支持!Visual fox pro 中的命令格式命令动词[&lt;范围&gt;][&lt;表达式表&gt;][for&lt;条件&gt;][while&lt;条件&gt;]&lt;范围&gt; All :所有记录Next&lt;n&gt;:从当前记录开始的以下第N条记录Record&lt;n&gt;:仅对第N条记录进行操作Rest&lt;n&gt;:从当前记录到最后一条记录Visual fox pro 中的文件类型项目:pjx数据库:dbc表:dbf程序:prg查询:qpr表单:scx报表:frx菜单:mnx视图:vue文本:txt结构复合索引文件:cdx严格日期格式:{yyy-mm-dd}Set date to[日期格式]mdy,ymd……Set mark to [日期分隔符]内存变量赋值命令S tore ……to:同时给若干变量赋相同的值=:给一个变量赋值内存变量显示命令List:一次显示所有变量Display:分屏显示内存变量:任意一个字符*:任意多个字符Like&lt;通配符&gt;:list memory like X* 显示以X开头的所有内存变量内存变量的清除:Clear memory 清除所有内存变量Release&lt;内存变量表名&gt; 清除指定内存变量Release all [like&lt;通配符&gt;]|except&lt;通配符&gt;]数组A(array)数组定义DeclareX(2),Y(3,4)Dimesion数组赋值Store&lt;表达式&gt;to &lt;数组名&gt;Eg:DeclareA(3)A(1)=”database system”A(2)=date()A(3)=.t..A(1),A(2),A(3)Database system 07\29\12用字段变量给数组赋值scatter[fields&lt;字段变量表名&gt;]to &lt;数组名&gt;用数组数据替换当前记录的字段值gather from&lt;.数组名&gt;[field&lt;字段表名&gt;] Visual fox pro 中的常用函数Abs()绝对值Int()取整Sign() 符号函数返回数值表达式的符号-1,+1,0Sqrt() 求平方根Round()四舍五入?round(56.679, 2)56.68Mod() 求余数?(10, 3) 1Substr() 求子串?(…Yunnan university”, 8, 10) universityLeft() 从左端取子串Right() 从右端取子串Len() 求字符串长度Alltrim() 删除子字符串前后空格?len(alltrim(“ 画龙点睛“)) 8 At() 求子串出现的位置Like() 字符串匹配函数Time() 时间函数Date() 日期函数Eg Year(date()),month(date())函数类型的转换Dtoc 日期转换成字符Str 数值转换成字符Val 字符转换成数值& 宏代换函数用于替换出字符型内存变量的内容(见教材p53)测试函数Eof()表文件尾,最后一条记录后面Bof()表文件起始Recno()当前记录号Skip 移动记录指针Go botoom 记录指针指向最后一条记录Go top 记录指针指向第一条记录Reccount()记录数测试函数Type () 数据类型测试函数字符表达式与字符运算+:把两个字符串连接成一个新的字符串-:连接两个字符串,将第一个字符串尾部空格移到新字符串末尾$:包含运算符Set exact off 字符串比较,以右为准Set exact on 忽略空格操作数据库的常用命令Create database &lt;数据库名&gt; 建立数据库Open 打开数据库Modify 打开数据库设计器Set database to[&lt;数据库名&gt;] 设置当前数据库Display 显示当前数据库结构Close 关闭Delete 删除操作表的常用命令Create, use, modify structure(打开表设计器),browse(打开浏览窗口,显示修改记录)Replace &lt;字段名&gt;with&lt;表达式&gt;for[&lt;范围&gt;] 直接修改记录Append 在表文件尾追加记录Append from&lt;文件名&gt;[fields&lt;字段表名&gt;][for&lt;条件表达式&gt;] 利用已有文件追加记录Insert 在当前记录之后|之前插入记录Delete 做删除标记Pack 从磁盘上删除做了删除标记的记录Zap 从磁盘上删除所有记录Locate for 查找(定位)记录Continue 继续查找满足locate条件的下一条记录Set filter to 过滤记录Set fields to 筛选字段Go(记录号,bottom,top)定位记录指针Copy structure to&lt;新表文件名&gt; 复制表文件结构Copy to &lt;新表文件名&gt; 复制表文件Copy to &lt;新文本文件名&gt; type delimited 将Copy to &lt;新表文件名&gt;Sort to &lt;新表文件名&gt;on&lt;字段名&gt;/A|/D 物理排序(不改变原表的顺序,而是生成一个排过序的新表索引的常用命令Index on&lt;索引表达式&gt;to&lt;索引文件名&gt;|tag&lt;.索引标识&gt; 创建索引Asc 升序Desc 降序Set index to 打开索引文件Delete tag&lt;索引标识&gt; 删除索引Primery 主索引Unique 候选索引Pack database 清理数据库视图与查询文件Create view&lt;视图名&gt; as &lt;select 语句&gt; 创建视图连接条件Inner join 内部联接仅包含匹配的行Left outer join 左联接(以左边表字段为准)Right outer join 右联接Full join 完全连接Create query 创建查询SQL 语言Insert into [databasename!] dbfname values() 插入新记录(数据必须与表的结构一致)Insert into [databasename!] dbfname from array|memvar 从指定的数组或内存变量中插入新数据Update [databasename!] dbfname set …… where…… [and\or] 更新记录Delete from [databasename!]dbfname where……[and\or] 删除记录Select …… from…… inner join…… on ……into……where [and\or];group by;having;order by 查询having:伴随group by 短语使用,指定每个分组应满足的条件all,top,distinct 指定范围跟在select 后[not]between ……and 确定范围[not] in 确定集合[not] Like 字符匹配查询条件,跟在where 语句后面Is [not] null 空值And\or 多重条件%:表示0或多个字符通配符_:表示一个字符Into cursor &lt;临时表名&gt;Into table&lt;永久表名&gt;指定查询去向into array&lt;数组名&gt;T o file&lt;文本文件&gt;T o printer 输出到打印机数据定义Check 指定字段或记录的约束条件Error 不满足条件时显示的出错信息Default 指定字段默认值Alter table……add\alter&lt;字段名&gt; 修改表结构Drop check\default|table 删除程序设计中的命令Modify command[&lt;文件名&gt;] 创建命令或过程文件Do &lt;文件名&gt;.prg 执行命令Cancel 结束程序执行,返回命令窗口,同时关闭所有打开的文件Return 返回上级程序Quit 退出visual fox pro 系统输入命令Accept ……to 只接受字符型数据Input……to 接受各种数据类型Wait 输入提示信息选择结构If……[else]……endif 条件语句Do caseCase……case……[otherwise]……Endcase 分支语句Do while……[loop][exit]Enddo 循环语句For&lt;循环变量&gt;=&lt;初值&gt;to&lt;终值&gt;[step&lt;步长&gt;]……[exit][loop]Endfor|next 计数型循环Scan……[for][Loop][Exit]endscsan子程序,过程与自定义函数Do&lt;文件名&gt;[with&lt;参数1,参数2……&gt;] 子程序调用的命令格式Return| to master| [to 过程文件名] 返回带参数的子程序的调用Parameters&lt;形参变量1&gt;[&lt;形参变量2&gt;……]过程定义格式Procedure&lt;过程名&gt;Return|endproc过程调用Set procedure to&lt;过程文件名&gt;[additive]打开过程文件命令,additive指示打开的同时不关闭已有的过程文件自定义函数Function 函数名&lt;命令序列&gt;Return=函数名调用函数见p184~192表单,报表,菜单属性Enable 指定对象是否可用事件Init 对象建立时触发Destroy 对象释放时触发Unload 表单对象释放时触发Click 鼠标单击对象时触发注:当表单含有一个确认按钮,default属性值为.T.时,按enter 键,触发确认按钮的click事件Dbclick 鼠标双击对象时触发Rightclick 鼠标右击对象时触发方法Release 释放Refresh 刷新容器与控件Parent 当前对象的直接容器This 当前对象Interval 指定timer事件的时间间隔T ooltiptext 指定命令按钮的提示文本Autosize 指定是否自动调整按钮的大小以容纳其内容Buttoncount 指定(命令组,选项组)数量Value 当前编号,状态Aligment 文本框的文本对齐方式Controlsourse 数据源表字段Displaycount 组合框下拉列表的条目数量Listcount 组合框列表部分数据项数目Rowsourse 数据来源Rowsoursetype 数据源类型Style 指定组合框样式Pagecount 页框所含的页数目Page 页框中各页的数组。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本规则 foxpro命令的基本规则
• 关键字和命令动词:命令格式中的英文单词称为 关键字,其中第一个关键字就是命令动词。 • 子句:命令格式中除了命令动词外的其他各项称 为子句。 • 分隔符:分隔符通常是一个或多个空格。 • 书写形式:一行只能写一条命令,但一条命令可 以写在多行。如果一条命令写在多行,在除最后 一行外的其他各行末尾均加一个分号“;” • 关键字字母的大小写等效。
作业
• 1、成批替换数据命令的基本格式为: replace <字段名1> with <表达式1> [,字< 段名2> with <表达式2> …] [all] [for 条件] • 假如有一个表为xscj,其中有数学、语文、 计算机、总分、平均分四个字段。用成批 替换数据命令求总分
作业答案
• Replace 总分 with 数学+语文+计算机
命令格式中的符号
• • • • 尖括号< >:必选项 方括号[ ]:可选项 竖线号“|”:前后两项任选一项 省略号“…”:可以按前项相同方式重复
举例说明
• 打开表文件命令的基本格式 Use<表文件名> [IN 工作区号] [Alias 别名] 如:use xsda.dbf in 5 • 创建表文件命令的基本格式 Create table|dbf <表文件名>(<字段名><类型 >[宽度[,小数位数])[,字段名…]]) 如: create table xscj.dbf (学号 C(8),数学 N (5,1),计算机 N(5,1),总分 N(5,1), 平均分 N(5,1))
相关文档
最新文档