第一章 数据库基础知识和操作 1
1.1数据库基础知识 1
1.1.1数据库的基本知识 1
目 录 1
1.1.2关系数据库的基本概念 3
1.2 FoxBASE+系统简介 7
1.2.1 FoxBASE+的特点 7
1.2.2 FoxBASE+的主要技术指标 8
1.2.3 FoxBASE+的文件类型 9
1.3.1 FoxBASE+的软件配置 10
1.3 FoxBASE+上机操作 10
1.3.2 FoxBASE+的运行环境 11
1.3.3 FoxBASE+的安装和启动 11
1.3.4 退出FoxBASE+命令QUIT 12
1.3.5交互方式下命令的执行 12
1.3.6 程序文件建立命令MODIFYCOMMAND 12
1.3.7 FoxBASE+程序的执行 15
1.3.8全屏幕编辑键 16
1.4 FoxBASE+的数据类型及其运算 18
1.4.1数据类型 18
1.4.2常量和变量 19
1.4.3表达式 22
1.4.4运算符的优先级 26
1.4.5常用内部函数 26
1.4.6表达式的运算规则 28
1.5 FoxBASE+命令的语法规则 29
1.5.1命令的结构 29
1.5.2命令格式中的符号约定 30
1.5.3命令中的短语 30
1.5.4命令书写的规则 32
习题一 33
第二章 数据库的基本操作 39
2.1 数据库的基本概念 39
2.1.1表格处理 39
2.1.2数据库文件 39
2.1.3数据库的三个要素 40
2.2数据库文件的基本操作 42
2.2.1 建立数据库文件结构命令CREATE 42
2.2.2 修改数据库结构命令MODIFY STRUCTURE 45
2.2.3通过键盘追加记录命令APPEND 45
2.2.5 打开和关闭数据库文件命令USE 47
2.2.4备注型字段的数据输入 47
2.3数据库内容的显示 48
2.3.1显示数据库结构命令DISPLAY/LIST STRUCTURE 48
2.3.2显示数据库记录命令DISPLAY/LIST 49
习题二 50
第三章 数据库记录的定位和编辑 55
3.1 记录定位命令 55
3.1.1 绝对移动指针命令GO 55
3.1.2相对移动指针命令SKIP 56
3.2.1插入记录命令INSERT 58
3.2 编辑记录命令 58
3.2.2修改记录命令 59
3.2.3 记录的删除与恢复命令 63
3.3 数据库记录的排序命令SORT 67
习题三 68
第四章 数据库记录的查询和统计 72
4.1 顺序查找 72
4.1.1顺序查找命令LOCATE 72
4.1.2继续查找命令CONTINUE 72
4.2索引查询 73
4.2.1索引文件命令 74
4.2.2索引查询命令 78
4.3数据库记录的统计 81
4.3.1统计记录数命令COUNT 81
4.3.2求和命令SUM 82
4.3.3求平均值命令AVERAGE 83
4.3.4建立汇总库命令TOTAL 83
4.4数据库记录筛选命令SET FILTER TO 84
习题四 85
5.1.1非格式输出命令?/?? 91
5.1顺序结构程序设计 91
第五章 程序设计基础 91
5.1.2 内存变量内部赋值命令STORE/= 92
5.1.3任意类型键盘输入命令INPUT 93
5.1.4字符型键盘输入命令ACCEPT 94
5.1.5程序暂停、等待接收单字符命令WAIT 95
5.1.6四种内存变量赋值命令的比较 96
5.1.7返回命令RETURN 96
5.1.8程序注释命令 97
5.2选择结构程序设计 97
5.2.1单条件选择命令IF 98
5.2.2 多条件多分支选择命令DOCASE 99
5.3循环结构程序设计 101
5.3.1条件循环命令DO WHILE 101
5.3.2无条件循环命令LOOP 104
5.3.3无条件跳出循环命令EXIT 104
5.4格式输入输出 105
5.4.1格式输入输出命令@…SAY…GET/READ 105
5.4.3清屏命令 111
5.4.2释放GET命令CLEAR GETS 111
5.4.4屏幕画框命令@…BOX 112
5.4.5文本输出命令TEXT…ENDTEXT 113
5.4.6屏幕格式文件 113
习题五 115
第六章 高级程序设计 124
6.1数组 124
6.1.1数组和数组单元的概念 124
6.1.2建立数组命令DIMENSION 124
6.1.3数据库记录与数组之间的传送命令 127
6.2.1子程序 129
6.2子程序 129
6.2.2 内存变量的属性和作用域 131
6.2.3调用子程序时的数据传递 134
6.2.4用户定义函数 137
6.2.5过程文件 138
6.2.6递归调用 141
6.3菜单程序设计 143
6.3.1传统菜单的设计 143
6.3.2用户定义菜单 144
习题六 150
7.1工作区的概念 157
第七章 多工作区数据库的操作 157
7.2选择当前数据库工作区命令SELECT 158
7.3非当前工作区字段的引用 159
7.4数据库文件之间的关联命令SET RELATION TO 160
7.5数据库文件之间的修改命令UPDATE 163
7.6 数据库文件之间的连接命令JOIN 165
习题七 167
第八章 数据库辅助操作命令 175
8.1 数据库复制命令 175
8.1.1 复制数据库内容命令COPY TO 175
8.1.2复制数据库结构命令COPY STRUCTURE 177
8.2数据库记录的批量追加命令APPEND FROM 178
8.3数据库结构的间接建立 179
8.3.1 建立库结构描述文件命令COPY STRUCTURE EXTENDED TO 179
8.3.2 数据库结构的间接建立命令CREATE FROM 180
习题八 182
第九章 工作方式和状态的设置 184
9.1 全屏幕菜单驱动命令SET 184
9.2 数据库记录输入控制命令 184
9.2.1 新记录快速录入控制命令SET CARRY 184
9.2.4反象显示控制命令SET INTENSITY 185
9.2.2设置定界符命令SET DELIMITERS TO 185
9.2.3定界符控制命令SET DELIMITERS 185
9.2.5警铃控制命令SET BELL 186
9.2.6输入结束确认控制命令SET CONFIRM 186
9.2.7打开屏幕格式命令SET FORMAT TO 186
9.2.8数据库排它共享控制命令SET EXCLUSIVE 187
9. 3信息查询控制命令 187
9.3.1唯一性控制命令SET UNIQUE 187
9.3.2标题显示控制命令SET HEADING 187
9.4记录删除标记控制命令SET DELETED 188
9.3.3字符串精确比较控制命令SET EXACT 188
9.5打印控制命令 189
9.5.1非格式打印控制命令SET PRINT 189
9.5.2格式打印控制命令SET DEVICE TO 189
9.5.3设置打印机起始列命令SET MARGIN TO 190
9.5.4打印输出设备定义命令SET PRINTER TO 190
9.6整理数据库记录命令 191
9.6.1设置可访问字段命令SET FIELDS TO 191
9.6.2可访问字段控制命令SET FIELDS 191
9.7.2 设置路径命令SET PATH TO 192
9.7.3运行结果显示控制命令SET TALK 192
9.7.1定义工作盘命令SET DEFAULT TO 192
9.7系统运行、调试、安全保密命令 192
9.7.4 程序单步执行控制命令SET STEP 193
9.7.5 显示命令控制命令SET ECHO 193
9.7.6 打印命令控制命令SET DEBUG 193
9.7.7 终止程序执行控制命令SET ESCAPE 194
9.7.8 输入输出显示控制命令SETCONSOLE 194
9.7.9 建立文本文件命令SET ALTERNATE TO 195
9.7.10 打开文本文件控制命令SET ALTERNATE 195
9.8. 2 程序状态下状态行显示控制命令SET SCOREBOARD 196
9.8.1 交互状态下状态行显示控制命令SET STA TUS 196
9.8 系统参数与逻辑功能控制命令 196
9.8.3 设置屏幕色彩命令SETCOLOR TO 197
9.8.4 定义功能键命令SET FUNCTION TO 198
9.8.5 设置小数位命令SET DECIMALS TO 198
9.8.6 固定小数位数控制命令SET FIXED 199
9.8.7 文件安全控制命令SET SAFETY 200
9.8.8 显示菜单控制命令SET MENU 200
9.9.1 命令记忆条数设置命令SET HISTORY TO 201
9.9.2 历史记忆控制命令SET HISTORY 201
9.9历史记忆控制命令 201
9.8.9 自动清屏控制命令SETCLEAR 201
9.9.3 程序记忆控制命令SET DOHISTORE 202
9.10设置日期格式命令 202
9.10.1 设置日期格式命令SET DATE 202
9.10.2 世纪控制命令SET CENTURY 203
9.11 设置备注型字段宽度命令SET MEMOWIDTH TO 203
习题九 203
10.1.1宏代换& 206
10.1字符操作函数 206
第十章 函数 206
10.1.2 在字串中检索子串AT() 207
10.1.3 字串是否字母开头ISALPHA() 207
10.1.4 字串是否小写字母开头ISLOWER() 208
10.1.5 字串是否大写字母开头ISUPPER() 208
10.1.6 从字串左端取子串LEFT() 208
10.1.7从字串右端取子串RIGHT() 209
10.1.8 求字串长度LEN() 209
10.1.9将大写字母转换为小写字母LOWER() 209
10.1.12 删去字串左端空格LTRIM() 210
10.1.13 将指定的字串重复若干次生成新串REPLICATE() 210
10.1.10 将小写字母转换为大写字母UPPER() 210
10.1.11 删除字串右端空格RTRIM()/TRIM() 210
10.1.14生成空格串SPACE() 211
10.1.15置换字符串中的一部分STUFF() 211
10.1.16 在字符串中取子串SUBSTR() 211
10.1.17按基准串对字符串进行置换SYS(15) 212
10.1.18把数据按指定的格式转换成字符串TRANSFORM() 212
1 0.2.1星期名称CDOW() 213
10.2.2月份名称CMONTH() 213
10.2 日期时间函数 213
10.2.3系统日期DATE() 214
10.2.4 月中的第几天DAY() 214
10.2.5星期中的第几天DOW() 214
10.2.6 取两日期中较后者MAX() 215
10.2.7取两日期中较前者MIN() 215
10.2.8年中第几月MONTH() 215
10.2.9 当日累计秒数SYS(2) 215
10.3类型转换函数 216
1 0.3.1 将字符串中最左边的字符转换为ASCII码ASC() 216
10.2.11年号YEAR() 216
1 0.2.10系统时间TIME() 216
10.3.2将数值作为ASCII码转换成相应的字符CHR() 217
10.3.3将字符串转换为日期CTOD() 218
10.3.4将日期转换成字符串DTOC() 218
10.3.5将数值转换为字符串STR() 218
10.3.6将字符串转换为数值VAL() 219
10.4数据库函数 219
10.4.1 给出指定工作区中的数据库别名ALIAS() 219
10.4.3 给出指定工作区中的数据库文件名DBF() 220
10.4.2测试记录指针是否在文件头BOF() 220
10.4.4测试当前记录是否标上删除标志DELETED() 221
10.4.5测试记录指针是否在文件尾EOF() 221
10.4.6给出数据库字段的个数FCOUNT() 222
10.4.7给出数据库字段名FIELD() 222
10.4.8对当前数据库文件加锁FLOCK() 223
10.4.9检测最近一次数据搜索是否成功FOUND() 223
10.4.10对数据库的当前记录加锁LOCK() 224
10.4.11 给出数据库文件最后一次修改的日期LUPDATE() 224
10.4.12 给出已打开的索引文件名NDX() 224
10.4.14给出数据库当前记录号RECNO() 225
10.4.13给出数据库记录个数RECCOUNT() 225
10.4.15给出数据库记录的长度RECSIZE() 226
10.4.16 对数据库的当前记录加锁RLOCK() 226
10.4.17 给出当前工作区的标号SELECT() 226
10.4.18给出已打开的屏幕格式文件名SYS(7) 227
10.4.19 给出已打开索引文件的关键表达式SYS(14) 227
10.5 测试函数 228
10.5.1 给出光标当前列的位置COL() 228
10.5.2 给出光标当前行的位置ROW() 228
10.5.3 给出打印机当前列的位置PCOL() 228
10.5.5 给出当前磁盘驱动器上可用空间的字节 数DISKSPACE() 229
10.5.4给出打印机当前行的位置PROW() 229
10.5.6 给出捕捉到的出错号码ERROR() 230
10.5.7 测试指定的文件是否存在FILE() 230
10.5.8 给出功能键的名称FKLABEL() 231
10.5.9 给出可编程功能键的个数FKMAX() 231
10.5.10 给出操作系统环境变量的内容GETENV() 231
10.5.11 IF的函数形式IIF() 232
10.5.12 程序执行期间按下键的ASCII码值INKEY() 232
10.5.15 给出操作系统的名称OS() 235
10.5.14给出捕捉到的出错信息MESSAGE() 235
10.5.13 显示输出是否是彩色方式ISCOLOR() 235
10.5.16 给出退出全屏幕编辑时所按键的键值READKEY() 236
10.5.17产生不与现存文件重名的文件名SYS(3) 237
10.5.18给出默认的驱动器名SYS(5) 237
10.5.19 给出由SET PRINTER TO设备的当前设备名SYS(6) 237
10.5.20给出当前可用内存的字节 数SYS(12) 238
10.5.21给出当前打印机的状态SYS(13) 238
10.5.22给出正在执行的程序或过程名SYS(16) 238
10.5.25决定是否取消光标SYS(2002) 239
10.5.24 给出指定的SET…ON/OFF或SET…TO命令的当前值SYS(2001) 239
10.5.23给出指定的文件名SYS(2000) 239
10.5.26给出当前工作目录名称SYS(2003) 240
10.5.27 给出FoxBASE+系统程序所在的路径名SYS(2004) 240
10.5.28给出指定表达式的数据类型TYPE() 240
10.5.29 给出最近一次READ是否修改过数据UPDATED() 241
10.5.30 给出FoxBASE+的版本号VERSION() 241
10.6应用举例 241
习题十 243
11.1.1 出错转向命令ON ERROR 246
11.1程序转向命令 246
第十一章 程序辅助控制命令 246
11.1.2按Esc键转向命令ON ESCAPE 248
11.1.3 按键转向命令ON KEY 249
11.1.4 程序转向命令的总结 251
1 1.2 内存变量的显示、删除、存储和恢复 252
11.2.1 显示内存变量命令DISPLAY/LIST MEMORY 252
11.2.2 删除内存变量命令RELEASE 252
11.2.3 存储内存变量命令SAVE TO 253
11.2.4恢复内存变量命令RESTORE FROM 253
11.3.1 保存屏幕显示内容命令SAVE SCREEN 254
11.3.2 恢复屏幕显示内容命令RESTORE SCREEN 254
1 1.3 屏幕显示内容的保存和恢复 254
1 1.4 数据库常用操作程序设计示例 255
习题十一 262
第十二章 上机调试 268
12.1系统命令 268
1 2.1.1 显示文件目录命令DIR 268
12.1.2输出文本文件内容命令TYPE 268
12.1.4 改换文件名命令RENAME 269
1 2.1.5删除文件命令ERASE/DELETE FILE 269
12.1.3 复制文件命令COPY FILE 269
1 2.1.6执行外部文件命令RUN/! 270
1 2.1.7 求助命令HELP 270
12.2调试程序 271
1 2.2.1显示中间结果 271
12.2.2跟踪程序 271
12.2.3设置断点 272
12.2.4查看历史 273
12.3错误信息的利用 274
12.4程序的组合 276
12.5程序的编译 277
1 2.6系统配置文件 278
习题十二 280
第十三章 FoxBASE+二级等级考试笔试考试技巧 286
13.1 关于计算机等级考试的说明 286
1 3.2 笔试的题型 287
13.3 笔试注意事项 288
13.4 笔试解答技巧 290
1 3.4.1 试卷分析及问题解答方法 290
1 3.4.2笔试试题举例 295
14.1 上机考试试题的题型 308
14.2上机考试试题举例 308
第十四章 FoxBASE+二级等级考试上机考试技巧 308
14.3上机考试软件的使用 327
第十五章 试卷 336
15.1 模拟试卷 336
1 5.2 1996年秋季全国计算机等级考试二级笔试试卷 344
15.3 1996年秋季全国计算机等级考试二级上机试题 353
模拟试卷答案 364
附录1 FoxBASE+2.1命令总表 366
附录2 FoxBASE+2.1函数总表 375
附录3 FoxBASE+2.1出错信息表 380
附录4全国计算机等级考试二级考试大纲 388