命令结构:
<命令动词> [<范围>] [FIELD 字段列表] [<表达式>] [FOR <条件>] [WHILE <条件>]
范围:ALL NEXT N RECORD N REST
数据类型:
数值(N):12123.5968 222
字符(C):‘gfhghgf’“tytfytf”[rfgff]
逻辑(L):.t. .f .y. .n.
日期(D): 传统{mm/dd/yy} 绝对{^yyyy-mm-dd}
货币(Y): $56565
日期时间(T): 传统{mm/dd/yy, hh:mm:ss A|P} 绝对{^yyyy-mm-dd, hh:mm:ss A|P }
备注(M):
通用(G):
变量:
1.内存变量——直接赋值
2.系统内存变量
3.字段变量:优先于内存变量,如要使用内存变量,可加前缀:M. 或M->
Store <表达式> TO 变量列表
Display memory
List memory
Clear memory
Release 变量列表
Release ALL link 通配符a* ?
数组:
DIMENSION 数组名(下标,下标)
DECLARE
运算符:
算术:+ - * / % ** ^ 关系:> >= < <= != <> # == = 逻辑:AND OR NOT !
常用函数:
Round(76667.878787, -3)
Sqrt(9)
PI()
Date()
Time()
取子串:substr(串,开始位置,取字符数)
Left(串,取字符数)
Right(串,取字符数)
字符串长度:len(串)
消除空格:TRIM(串)
LTRIM(串)
ALLTRIM(串)
At(s1,s2)
?len(dtoc({^2013-09-25}))
?dtoc({^2013-09-25})
?date()
?len(“hjhhjjhhj”)
?ctod(dtoc({^2013-09-25}))
?year(ctod(dtoc({^2013-09-25}))) ?month(ctod(dtoc({^2013-09-25}))) ?day(ctod(dtoc({^2013-09-25}))) Upper(串)
Lower(串)
测试:vartype(表达式)
FOUND()
Eof()
Bof()
建立表结构:
1.设计器:a.windows b.命令
2.命令:create table 表名(字段1 类型(宽度,小数位数), …) create table xsqk(xh c(10),xm c(10),xb c(2),csrq d,gkcj n(5,1),ty l,jl m,zp g)
修改表结构:modify structuer
打开(关闭)表:use [<表名>]
移动记录指针:
[Go[to]] N
Skip [N]
LOCATE for substr(姓名,1,2)="王"
continue
seek
显示记录:
List| display
brows
添加数据:
Append blank
insert
set defa to e:\1205660101
替换:REPLACE 字段名WITH 表达式,…
索引:
主索引:
候选索引:
普通索引:
唯一索引:
建立索引:
1、表设计器:modify struct
2、命令:INDEX ON 字段名TAG 标识[desc] 设置主控索引:SET ORDER TO 标识
快速查找:SEEK <表达式>
排序:SORT TO 新表名ON 字段名[/D]
关联:SET RELAION TO 字段名INTO 子表名
统计命令:
记录个数:COUNT TO 内存变量名
求和:SUM [数值字段] TO 内存变量名
求平均值:A VERAGE [数值字段] TO 内存变量名
将表中当前记录的数据复制到数组:
SCATTER [FIELD <字段列表>] TO <数组名>
将数组中的数据复制到当前记录中。
GATHER FROM <数组名> [FIELD <字段列表>]
视图: 虚拟表
查询:
结构化查询语言:SQL(STRUCTURED QUERY LANGUAGE)
1、建表:create table 表名(字段1 类型(宽度,小数位数), …)
2、插入数据:INSERT INTO 表名[字段1,字段2,…] V ALUES (表达式1,表达式2,…)
3、修改表的结构:ALTER TABLE <表名> [1][2][3][4]
[1]: ADD <字段名及属性>
[2]:ALTER <字段名及属性>
[3]:DROP <字段名>
[4]: RENAME <原字段名> TO <新字段名>
4、删除表:DROP TABLE <表名>
5、给记录作删除标记:
DELETE FROM <表名> [WHERE <条件>]
6 、更新:UPDATE 表名SET 字段1=表达式1,字段2=表达式2,… [WHERE <条件>]
7、查询:
SELECT <字段列表> FROM <表名> [JOIN 表ON 条件] [WHERE <条件>]
[ORDER BY <字段>][TOP 数值]
[GROUP BY <字段>] [HA VING <条件>]
[INTO TABLE [CURSOR][ARRAY]<表名>]
[TO [FILE <文件名> ] [PRINTER] [SCREEN]]
LIKE “王%”
%: 多个字符
_: 一个字符
程序设计:——结构化程序设计
清屏:CLEAR
返回:RETURN
退出寻系统:QUIT
输出:???
输入:
1.INPUT 提示TO 变量*可以是任意类型
2.ACCEPT 提示TO 变量*只能是一个字符串
3.WAIT提示TO 变量*只能是一个字符
编辑命令文件:MODIFY COMMAND 文件名
运行命令文件:DO 文件名
分支结构:
命令组
ELSE
命令组
ENDIF
DO CASE
CASE 条件1
命令组
Case条件1
命令组
OTHERWISE
命令组
ENDCASE
DO WHILE 条件
命令组
ENDDO
FOR 变量=初值TO 终值[STEP 步长] 命令组
ENDFOR
SCAN [范围][FOR 条件]
命令组
ENDSCAN
辅助语句:
EXIT——BREAK
LOOP——CONTINUE
子程序:DO 文件名[with 参数列表]
接收参数:PARAMETERS 变量列表
参数:一个变量时,子程序值回传。
常量或表达式时,不回传。
过程文件:存放多个子程序,每个子程序前面要加PROCEDURE 子程序名
PARAMETERS 变量列表
变量的作用域:
私有变量:从当前程序到下层程序;默认定义公共变量:所有程序;PUBLIC <变量列表>
局部变量:当前程序;LOCAL <变量列表>
隐藏(屏蔽)上层变量:PRIV ATE <变量列表>。