第五章 FoxPro综述
数据库每一记录最大字段数是255,可以同时打开的数据库文件数225 ,内存变量(数组)最大数65000。
1.数据类型:(1)字符型(C-254) (2)数据型(N-20) (3)浮点型(F-20) (4)逻辑型(L-1) (5)日期型(D-8) (6)备注型(M-10) (7)通用型(G-10)
2.常量: (1)字符型 (2)数据型 (3)日期型 (4)逻辑型
3.变量:
(1)字段变量: 字符型, 数据型, 浮点型, 逻辑型, 日期型, 备注型, 通用型
(2)内存变量: 字符型, 数据型, 浮点型, 逻辑型,屏幕型(S)
*当字段变量与内存变量同名时,字段变量优先。但可以通过内存变量名前加上前缀M.或M->来区别。
4.运算符及其优先级
类别 符号 说明 优先级
算术运算符 ()
+、-
**或∧
*、/、%
+、- 括号
正、负号
乘幂
乘除、求余
加、减 高
底
字符串
运算符 +
- 字符串联接
字符串联接 同类优先级相等
关系运算符 〈
〉 小于
大于 同类优先级相等
逻辑运算符 ()
。NOT。
。AND。
。OR。 括号
逻辑非
逻辑与
逻辑或 高
底
5.命令格式:〈命令名〉[〈表达式表〉][〈范围〉][FOR〈条件〉][WHILE〈条件〉][TO FILE〈文件名〉|TO PRINTER|TO ARRAY〈数组表〉|TO〈内存变量〉]ALL[LIKE|EXCEPT〈通配符〉]][IN〈别名〉]
*范围选择:RECORD N 对第N条记录进行操作
NEXT N 对从当前记录开始的N条记录进行操作
ALL 对所有的记录进行操作
REST 对当前记录开始到文件结束的所有记录进行操作
FOR〈条件〉:对所有满足“条件”的记录进行操作。
WHILE〈条件〉:对直到不满足条件的记录为止的所有已满足条件的记录进行操作。
6.命令的执行方式;1.立即方式 2.程序方式
7.内存变量的赋值:(1)STORE <表达式> TO <内存变量表>
(2)<内存变量>=<表达式>
(3)SAVE SCREEN TO <屏幕型内存变量>
RESTORE SCREEN FROM <屏幕型内存变量>
8.内存变量的释放:(1)RELEASE<内存变量表>
(2)RELEASE ALL [LIKE|EXCEPT<通配符>]
(3)CLEAR MEMORY/CLEAR ALL
9.内存变量文件:(1)内存变量文件的建立
SAVE TO <内存变量文件名>[ALL[LIKE|EXCEPT<通配符>]]
(2)内存变量的恢复
RESTORE FROM<内存变量文件名>[ ADDITIVE]
ADDITIVE没有表示清除当前内存中所有的内存变量,有时表示保留当前内存变量。
(3) 数据类型转换函数
字符型转数值型函数VAL(<字符表达式>)
数值型转字符型函数STR(<数值表达式>)[,<数值表达式2>[.<数值表达式3>]])
字符型转日期型函数CTOD(<字符型表达式>)
日期型转字符型函数DTOC(<日期表达式>[,1])(带“1”表示可以进行索引的日期字符串。)
(4) 测试函数
数据类型测试函数TYPE(<字符表达式>)
测试文件尾函数EOF([<工作区号>|<文件别名>])
测试文件头函数BOF([<工作区号>|<文件别名>])
测试当前记录号函数RECNO([<工作区号>|<文件别名>])
测试库文件记录数函数RECCOUNT([<工作区号>|<文件别名>])
测试查找记录函数FOUND([<工作区号>|<文件别名>])
测试屏幕(打印头)光标坐标函数ROW(PROW)()与COL(PCOL()
第六章 数据库的基本操作
1. 库文件结构建立CREAT[<文件名>|?]其中A-J作为工作区代码
在把记录输入完后,按CTRL+W或CTRL+END存盘。
2. 追加记录APPEND[BLANK]
3. 记录显示LIST/DISPLAY [<范围>][FIELDS<字段名表>][FOR<条件>][WHILE<条件>][OFF][TO PRINTER/FILE<文件名>]
4. 数据库文件打开USE[<库文件名>/?][ALIAS<别名>]
5. 关闭数据库文件:关闭当前工作区打开的数据库文件USE
关闭当前打开的所有的库文件CLOSE DATABASES
6.数据库文件结构的显示:LIST/DISPLAY STRUCTURE[TO PRINTER/TO FILE<文件名>]
数据库文件结构的修改:MODIFY STRUCTURE*不能同时修改字段名和宽度
6. 指针的移动:
绝对移动(1)GO/GOTO [RECORD]<数值表达式>[IN<工作区号>/<文件别名>]
(2)GO/GOTO TOP/BOTTOM[IN<工作区>/<文件名>]
相对移动SKIP[<数值表达式>][IN<工作区号>/<文件别名>]
7. 插入记录INSERT[BEFORE][BLANK]
8. 删除记录DELETE[<范围>][FOR<条件>][WHILE<条件>]
SET DELETED OFF/ON (取OFF,逻辑删除无效,反之,则有效)
恢复逻辑删除RECALL[<范围>][FOR<条件>][WHILE<条件>]
物理删除PACK
物理删除所有记录ZAP(只有结构无记录)
9. 记录的修改:
编辑修改EDIT.CHANG [<范围>][FIELDS<字段名表>[条件]
浏览编辑修改BROWSE
替换修改REPLACE[<范围>]<字段1>WITH<表达式1>……
10. 数据库文件的排序与索引
排序:SORT TO <文件名>ON<字段1>[/A][/C][/D][,<字段2>………[FIELDS<字段名表>][FOR……
*关键字只能是C,N,D. */A(升序,默认)/D(降序) /C(不区分大/小写)
*需要临时文件做周转
索引:INDEX ON<关键字表达式>TO<索引文件名>[FOR……][UNIQUE][ADD…]
*备注字段不能作为关键字
*字段索引只能是C,N,D,多字段索引只能是C
*UNIQUE进行唯一索引(在记录相同,只取第一个)
*未指定ADDITIVE,关闭先打开的索引文件,反之,就不关闭。
索引文件的打开USE<库文件名>INDEX<索引文件名表>
(允许打开25个) SET INDEX TO <索引文件名表>
索引文件的关闭SET INDEX TO/CLOSE INDEX
指定主索引SET ORDER TO [<数值表达式>/<索引文件名>]
11. 数据查询:
顺序查询:LOCATE[<范围>[FOR<条件>][WHILE<条件>]它总是把指针定位到第一个满足条件的记录上,想继续查找,则用CONTINUE
索引查询:FIND<字符串>/<数值常数>当设置为SET EXACT OFF时,查询时不需要精确比较,反之,则需要精确比较。
SEEK<表达式>它可以查询包括字符型,数值型,日期型和逻辑型在内的各种数据类型,也可以是内存变量或者是表达式……