1、Microsoft Visual FoxPro 6.0计算机级考复习资料计算机科学与技术学院2006.2第一章 数据库系统概述(一)数据库系统的几个概念1、数据:数据是一个广义的概念。在计算机科学中一切能被计算机接收和处理的物理符号都称为“数据”,如文字、字符、数字、图形、图象、光、电、声音、色彩等。它们是存储在计算机媒体上的物理符号的集合。数据按性质可以分为模拟数据和数字数据两大类。模拟数据指在某个区间内连续变化的值。数字数据指离散的值。数据也可以按类型分为数值型数据(如成绩、价格、工资)和非数值型数据(如姓名、地址、声音、图像)。2、信息:信息是一个既抽象又复杂的概念,它是一种消息,是数据
2、按有意义的关联排列的结果。信息通常由意义和符号组成,以文字或声音、图象的形式来表现。从广义上来看,信息是对数据加工处理后得到的有用知识。信息来源于数据,数据是信息的具体表现形式,数据是物理性的,信息是观念性的。【提示】在有些场合并不区分信息和数据,信息处理和数据处理常常指同一个概念。3、数据处理:把杂乱无章的数据加工成为有意义、有价值的数据的过程,称为“数据处理”。数据处理的内容主要包括:对数据的收集、存储、分类、统计、查找、传输和维护等。4、数据管理:按照某种形式对原始数据进行组织、存贮、维护和使用、对数据进行输入、传输和输出等环节称为“数据管理”。5、数据库(DB):按一定的组织形式存储在
3、计算机介质上的、能够为多个用户共享的、与应用程序相互独立的、数据之间相互关联的相关数据的集合,称为“数据库”。数据库在物理上按一定的组织方式存储介质,在逻辑上按一定的模型结构组成一个整体。6、实体:指客观存在的并且可以相互区别的事物。实体可以是实际存在的事物,比如,一个学校;也可以是概念性的事物,比如,一次比赛。7、实体集:指性质相同的同类实体的集合。比如,所有学校。8、属性与对象:描述客观事物的实体,分为“对象”和“属性”两大类。如,人、学校、医院等都属于对象,而属性表示对象的某些特征。比如,一个人的属性有姓名、年龄、文化程度等;一个学校的属性有学校名、地址、电话、传真等。当给某个特定对象的
4、某个属性取一个具体的值时,描述该对象的某个属性值的符号就是数据。9、关键字:能够唯一识别实体集合中每个实体属性的标识。例如,学校的校名就是学校单位的关键字。10、数据库管理系统(DBMS):是对数据库中资源进行管理和控制的系统软件,是用户与数据库的接口,提供用户对数据库进行操作的各种命令。11、数据库系统(DBS):是指引入了数据库技术、实现有组织、动态地储存大量关联数据,方便用户访问的计算机系统。数据库系统由数据库、数据库管理系统和应用软件构成。12、数据库应用系统(DBAS):在数据库管理系统(DBMS)的支持下,为解决实际应用问题而开发的数据库应用软件,通常有数据库和应用程序组成。(二)
5、数据管理技术的发展数据管理技术的发展经历了三个阶段:1、人工管理阶段2、文件管理阶段3、数据库系统阶段”。(三)数据模型数据模型指数据库的组织形式,是对数据库中数据之间进行联系的描述。数据模型有三种:1、层次模型:以树型结构表示实体与实体之间的联系。2、网状模型:以网状结构表示实体与实体之间的联系。3、关系模型:以关系(二维表)形式表示实体与实体之间的联系。这种“关系”以文件形式存储在磁盘上,称为“数据表文件”,其文件扩展名为.DBF。在“二维表”中,表头称为“表结构”;表格的每一列称为一个“字段”,它是标识实体属性的符号;各字段名构成了关系的“型”,型是相对稳定的,而表格其余行的具体内容构成
6、了关系的“值”,值是动态变化的;字段的取值范围,称为该字段的“域”;每一行称为“一条记录”,它是字段值的集合;每一行有一个序号,称为“记录号”;关系数据库具有以下特点:1、一个关系中有唯一确定的字段名,不可重名。2、关系的每一字段具有相同类型的数据。3、关系的每一字段是不可分的基本数据项。4、字段的先后次序,不影响记录的完整性。5、记录的先后次序,不影响数据库文件内容的完整性。在关系数据库中具有相同属性的记录的集合构成一个“数据表”;一个或多个数据表的汇集组成一个“数据库”。隶属于某个数据库的数据表叫“相关表或数据表”,独立存在于任何数据库之外的表叫“自由表”。(四)关系运算1、选择运算(SE
7、LECTION):从给定的条件中选取满足条件的记录,即从数据表中进行选行操作。选择运算提供了一种“横向分割关系”的手段。2、投影运算(PROJECTION):从给定关系的所有字段中按某种顺序选取指定的字段组,即从数据表中进行选列操作。投影运算提供了一种“纵向分割关系”手段。3、连接运算(JOIN):根据给定的条件在两个或两个以上的关系中选取部分字段和部分记录合并生成一个新的关系。(五)数据库系统的分类根据数据库中数据用户的多少,分为:1、单用户数据库:早期的数据库都是单用户系统。2、多用户数据库: Visual FoxPro是一种多用户数据库系统。Foxbase、Foxpro等也是多用户数据库
8、系统。多用户数据库的关键是保证数据“并发存取”的正确执行,即允许多个用户在网络的多个节点上同时使用数据库信息。根据数据的存放地点,分为:1、分布式数据库:按“就近存放,就近使用”的原则,将数据库中的数据分别存放在网络的多个节点上,通过通信线路彼此连接,网络用户在最近的节点上快速、准确地获取信息,因而避免了所有用户集中访问数据库而造成的网络数据传输量大,传输速度减慢,提高了数据访问效率。2、集中式数据库:将数据集中在一个数据库中,所有用户在存取和访问数据时,都要访问这个数据库。其特点是访问方便、通信量大,但速度慢。根据数据处理的性质,有智能数据库:传统数据库只能储存常规数据(如文字、数字、图形、
9、图象、声音等),而智能数据库除了储存常规数据外,还储存了逻辑推理规则。智能数据库将储存的常规数据作为推理对象,在需要时利用常规数据作出逻辑推理和逻辑判断。第二章 Visual FoxPro6.0系统的基本知识(一)Visual FoxPro 6.0的主要特点1、有500多条命令,200多个函数,8种SQL型命令,其功能强大,使用灵活。2、使用“向导”、“生成器”和“设计器”等界面操作工具。3、“项目管理器”方便用户集中管理数据、文档、类库、源代码等资源。4、在支持面向结构的程序设计方式(SP)的同时,提供面向对象的可视化程序设计方式(OOP)。5、通过“对象链接与嵌入(OLE)”技术可以与WO
10、RD与EXCEL等微软的其它应用软件共享数据,实现应用集成。6、界面的下拉式菜单、图形按钮,设计器的工具栏和弹出式快捷菜单,方便用户采用多种方法调用各种命令。7、既可用于单机环境,也可用于网络环境;既可以访问本地计算机,也可以访问和使用远程视图。(二)Visual FoxPro 6.0的性能指标1、表文件的最大记录数:10亿条;最大字段数:255个;同时打开表文件的最大数255个。2、一条记录的最多字符数:65500个。3、数据库表的字段名最大长度:128个字符;自由表的字段名最大长度:10个字符;字符型字段的最大宽度254个;数值型字段的最大宽度20个。4、程序文件中命令行最大字符数8192
11、个。5、内存变量的最大数目:65500个;使用的数组最大数目:65500个;每个数组中数组元素的最大书数目:65500个。6、同时打开“浏览”窗口的最大数目:255个。(三)Visual FoxPro 6.0的的界面组成Visual FoxPro采用图形用户界面,使用窗口(WINDOWS)、图标(ICONS)、菜单(MENUS)与对话框技术,用户主要通过指点式输入设备(POINTING DEVICE)鼠标进行操作。Visual FoxPro界面又称为“WIMP”界面。菜单:Visual FoxPro主要使用下拉式菜单和弹出式菜单。选择菜单的两种方式:(1)使用鼠标:(2)使用键盘:ALT+菜单
12、标题中的下划线字母,代表该菜单的访问键,如ALT+F,表示打开文件菜单项。CTRL+字母,代表该菜单的快捷键,例如CTRL+C,表示复制。4.对话框:主要由命令按钮和矩形框两部分组成。命令按钮代表某一种操作。矩形框分为:文本框、选择框、列表框、组合框和微调控件。(四)Visual FoxPro的辅助设计工具1、向导:是一个快速生成各种用户文件的设计工具。用户只需根据向导提示引导就可以设计出相应的文件。向导的最大特点是“快”,不仅操作简便,而且得出结果也迅速。2、设计器:设计器可以快速地建立或修改数据表、表单、数据库以及查询和报表等。根据不同的功能,常用的设计器有:表设计器、查询设计器、查询和视
13、图设计器、数据库设计器、菜单设计器等。3、生成器:生成器帮助用户对特定的控件设置属性,或者组合子句创建特定的表达式。生成器由一个或多个提供一系列简单选项的对话框组成。常用的生成器有表格生成器、列表框生成器、组合框生成器、复选框生成器、命令按钮组生成器和选项按钮组生成器等。(五)项目管理器项目是文件、数据、文档和 Visual FoxPro对象的集合,项目文件以 .PJX扩展名保存。(六)Visual FoxPro 6.0的文件类型数据表文件.DBF 数据表备注文件.FPT 查询文件.QPR 表单文件.SCX报表文件.FRX 标签文件.LBX项目文件.PJX 数据库文件.DBC复合索引文件.CD
14、X 内存变量文件.MEM 菜单文件.MNX 程序文件.PRG文本文件.TXT (七)工作方式与命令格式1、工作方式(1) 交互方式(2) 程序方式(3) 菜单操作方式(4) 工具操作方式2、命令格式Visual FoxPro的命令由命令动词和命令子句构成:命令动词 范围FIELDSFOR/WHILEM条件OFF命令动词:表示计算机要完成的某种操作。命令子句:是命令操作对象、操作结果和操作条件。范围:有四种选择:ALL 对全部记录进行操作。NEXT N 对从当前记录开始的N个记录进行操作。RECORD N只对记录号为N的一个记录进行操作。REST 对从当前记录开始到最后一个记录进行操作。FOR:
15、对条件为真的记录进行操作。WHILE:从当前记录开始顺序操作,直到条件为假时停止操作。若命令中 FOR 和 WHILE 同时出现,则 WHILE 优先。OFF:显示记录时不显示记录号。第三章 Visual FoxPro的数学基础(一)数据类型:字符型(C)、数值型(N)、浮动型(F)、整数型(I)、双精度型(B)、逻辑型(L)、货币型(Y)、备注字符型(M)、通用型(G)。(二)常量:指在程序执行过程中始终保持不变的数值或字符串。常量有数值型、字符型、日期型、日期时间型、逻辑型和货币型等多种类型。(三)变量:指在程序或命令执行过程中可以发生变化的量。变量包括:内存变量、字段变量和系统变量3种。
16、1、内存变量(又分为:简单内存变量和数组内存变量):内存变量是一种存储单元,它独立于数据表存在,是一种单值变量,用来存放程序执行过程或数据处理过程中的输入量、中间数据和输出量。内存变量的类型取决于内存变量中存放的数据类型。使用内存变量必须先定义,后使用。关机断电后,内存变量值消失掉,但可将它预先保存在内存变量文件中(.MEM)。内存变量的类型有:数值型(N)、字符型(C)、逻辑型(L)、日期型(D)、日期时间型(T)、屏幕型 (S存储当前屏幕数据)等。C、数组变量数组:(又叫下标变量)是一组数组名相同,下标值不同的内存变量。数组中的每一项叫一个“数组元素”,如:CJ(1),CJ(2),CJ(3
17、),CJ(30)共有30个数组元素。数组元素可以作为简单变量来处理。D、关于数组的几点规定: (1)使用数组要先定义后使用。 (2)数组名的取名规则同简单变量。(3)数组的下标必须用括号括起来,如A(12),A(2,3);下标值0,下标值可以是常数、简单变量或N型表达式,下标的下界为1。如果下标值为非整数,系统自动取整。(4)数组中的数组元素可以是N型、C型、D型、L型数据。Visual FoxPro允许同一数组的元素取不同类型。在定义数组时,各数组元素的初值为.F.。E、一维数组及其说明语句命令格式:DIMENSION 数组名1(N型表达式1),数组名2(N型表达式2)例 DIME AM(1
18、0),BM(4,5)其中:AM是一维数组,含10个元素。BM是二维数组,含20个元素(4*5=20)。说明:(1)DIMENSION语句是说明型非执行语句,它放在程序开头位置。(2)用DIMENSION语句定义过的数组将在内存中占据一片连续的存储单元。(3)任何数组都必须先定义后使用。(4)一个数组只能定义一次,除非将其删除后,重新定义,否则重复定义出错。例如:I=1DO WHILE I=3 DIME AX(2) 出错!数组重复定义了。 I=I+1ENDDO(5)下标值必须在DIMENSION语句定义的界内,否则下标越界。例如:DIME AX(2)I=1DO WHILE I”,即写成:M-变量
19、名,以示区别。(五)系统变量:Visual FoxPro自动创建和命名的变量。系统内存变量以下划线开头,分别用于控制外部设备、屏幕输出格式、处理计算器、日历、剪贴板等信息。(六)运算符:有5种运算符:算术运算符、关系运算符、逻辑运算符、字符运算符、日期与日期时间运算符。(七)表达式:有5种表达式:数值型表达式、字符型表达式、关系型表达式、逻辑型表达式、日期型和日期时间型表达式。(八)常用函数函数是一个预先编制好的计算模块,可供 Visual FoxPro 程序在任何地方调用。函数由函数名、参数和函数值3个要素组成。其中:1、函数名:起标识作用;2、参数:是函数的自变量,书写在括号内,当使用多重
20、函数嵌套时,括号要成对使用;3、函数值:函数运算后返回的值,称为函数值。Visual FoxPro的函数分为标准函数和用户自定义函数。标准函数:是VISUAL FOXPRO提供的内部函数,用户只需写出函数名和自变量即可直接调用。用户自定义函数:是用户自己定义的函数。和标准函数一样,自定义函数也返回一个函数值。由于自变量具有确定的数据类型,因此,函数返回的值也有确定的数据类型。根据函数的功能不同,函数可以分为5类。1、数值型函数2、字符型函数3、日期处理函数4、测试逻辑型函数5、其它函数第四章 表的基本操作数据表是一组相关联的数据按多行、多列组成的二维表格,称为表(TABLE)。每个数据表都有一
21、个表名,一个数据库就是由一个或多个数据表构成的,在数据库中的各个数据表之间可以存在某种关系。一个数据表由“表结构”和“数据”两部分构成。(一)建立表结构可以有以下方式:1、界面操作方式:打开文件菜单新建子菜单,显示新建对话框后表新建文件;在创建对话框中输入表名(例如:SB.DBF),将其保存在约定文件夹中(工具菜单选项文件位置);使用表设计器设定各字段属性值。2、命令执行方式:例如,在命令窗口打入命令:CREATEA:SB(二)输入表记录1、字段名右边的“光带”表示该字段的宽度。2、当光标停在M型或G型字段时,直接按回车表示不输入数据,光标自动移到下一个字段;如果需要输入M型或G型数据,则按
22、HOME 或 PGDN 或用鼠标双击该字段进入字段的编辑窗口输入数据。Visual FoxPro除了能处理数字、文本外,还能处理图形、图象、声音等多媒体数据。通用型字段用于储存多媒体数据,储存由其他应用软件建立的一个电子表格、一个字处理器的文本、图片等OLE对象。通用型字段的内容存储在.FPT文件中,在记录显示窗口中,备注型字段数据区标识MEMO,通用型字段标识GEN,存储过内容后GEN的第一个字符变为大写G。(三)记录指针、工作区及别名1、记录指针:记录指针是一个存储单元,存放记录在数据文件中的顺序号(即记录号)。当打开数据表文件时,记录指针总是指向第一条记录的位置。2、工作区: Visua
23、l FoxPro系统为当前正在使用的数据表文件开辟一个内存区。Visual FoxPro提供了32767个工作区,可以同时打开和使用多个数据表文件,工作区号分别为1-32767。在在一个工作区内只能打开一个表,各个工作区彼此独立,数据互不干扰。在任何时刻,操作对象只能占用一个工作区,这个工作区称为“当前工作区”。启动Visual FoxPro后,系统默认1号工作区为当前工作区。3、别名:对打开的表文件可以为其取一个别名。别名代表工作区号或数据表名。系统定义前10个工作区的别名分别为:A、B、C、I、J。如果在当前工作区调用其它工作区中的数据表字段时,必须使用别名调用格式:工作区号 - 字段名
24、或:别名 - 字段名(四)打开与关闭表1、使用USE命令打开表命令格式:USE (1)打开的表中如果含有M型或G型字段,则与之相关的.FPT文件也随之打开,如果与表同名的备注文件不存在(比如,被删除掉),系统给出错信息,并且该表将不能被打开。(2)打开表时,文件记录指针总是指向第一条记录。2、使用界面操作方式打开表(1)利用“文件”菜单选择“打开”选择表名。注意:如果要修改打开表结构或表记录,应选择打开对话框中“独占”选项,否则,该数据文件不可修改。3、关闭表(1)USE 只关闭当前工作区表(2)CLERA ALL 关闭所有打开的表,并释放内存变量。(3)CLOSE ALL 关闭所有打开的数据
25、库中的表、表单设计器、查询设计器、报表设计器和项目设计器等,但不释放内存。(4)CLOSEDATABASE ALL关闭指定数据库中的表和自由表。(5)CLOSE TABLES ALL 关闭当前工作区的自由表,但不关闭数据库中的表。(6)QUIT 关闭所有的数据库中的表、 表单设计器、查询设计器、报表设计器和项目设计器等后退出Visual FoxPro。(7)也可以利用界面操作方式关闭表。(五)表结构的修改(1)利用表设计器修改表结构:打开表,利用“显示”菜单中的表设计器可以修改表结构。修改后的表结构按W 或“确定”使其为永久性更改,按ESC键或“取消”放弃结构更改。(2)利用命令修改表结构:M
26、ODIFYSTRUCTURE(3)利用表向导修改表结构: 修改表结构时,应注意几个问题:1、修改某字段的类型,原数据信息将全部丢失;减少某字段宽度,原数据中超宽的部分将丢失;删除某字段后,原数据信息将全部丢失。2、新增加的字段数据全部为空。3、修改表的结构后,将产生一个扩展名为.BAK的备份文件。(六)表数据的修改(1)利用界面操作方式浏览记录: (2) 利用命令方式浏览记录 BROWSE(3) 利用命令方式修改记录CHANG 或EDIT(4) 利用一窗两区修改记录:拖动浏览窗口左下角的“窗口分割器”,可以将窗口分为两个区。用户可以在两个区内对照修改表数据。光标所在的区为活动分区,当活动分区的
27、数据修改后,另一分区的数据也随之改变。(5)在浏览窗口追加与删除记录 浏览窗口命令BROWE具有浏览、修改、追加、删除等多种功能。追加:追加分为追加方式、追加新记录和追加记录。 1)追加方式,可以在表的末尾连续追加多条记录;2)追加新记录,可以在表的末尾追加一条记录(命令:APPEND);3)追加记录,可以从其它文件向当前表追加一批记录(命令:APPENDFROM) 。删除:删除记录分两步进行,先逻辑删除,再物理删除。1)逻辑删除:给欲删除记录打上删除标记(命令:DELETE),但被逻辑删除的记录并没有真正从表中清除,它们仍然占有原来的记录位置,可用恢复命令去掉删除标记。2)物理删除:将有删除
28、标记的记录从表中彻底删除(命令:PACK),它不再占有表记录位置,且不可恢复。 (七)数据文件的文本格式概念 数据文件扩展名为.TXT。数据文件有两种格式:1、标准格式:每个记录等长,不同记录中相同数据项也等长,记录之间用回车符分隔,标准格式的数据无定界符,数据之间无分隔符,用SDF表示标准格式, 2、非标准格式:每个记录不等长,不同记录中相同数据项也不等长,记录之间用回车符分隔,数据项之间有分隔符。常用的分隔符是逗号。用DELIMITED表示非标准格式。 (八)表与表结构的复制1、复制任何文件命令:COPY FILE TO (1)若是表文件,则该表文件必须处于关闭状态。(2)和均可使用通配符
29、。2、从一个表复制得到另一个表或其它文件命令:COPY TO 范围FOR /WHILE条件 FIELDS 字段名 / FIELDS LIKE 通配字段名/FIELDS EXCEPT 通配字段名TYPE DELIMITED WITH / SDF/XLS例将“XSCJ”姓名、性别、平均分3个字段复制到“XSPJ.DBF”。USE XSCJCOPY TO XSPJ FIELDS 姓名,性别,平均分USE XSPJ例将“XSCJ”中的男生学号、姓名、微机基础3个字段和“XSDA“中的该男生的奖惩情况均复制到XSNX.DBF中。SELE 1USE XSCJSELE 2USE XSDASELE 1COPY
30、 TO XSNX FIELDS 学号,姓名,微机基础,B-奖惩情况 FOR 学号= B-学号 SELE 3USE XSNX例将“XSCJ”中的记录复制得到文本文件。USE XSCJCOPY TO XSCJ-BZ SDF TYPE XSCJ-BZ.TXTCOPY TO XSCJ-FB DELI TYPE XSCJ-FB.TXT3、表结构的复制命令:COPY STRUCTURE TO FIELDS 字段名表例如:SELE 1 USE XSCJ SELE 2 USE XSDA COPYSTRU TO XSNX FIELDS 学号,姓名,A-微机基础,A-数据库命令执行后,新表名中只有表结构,没有库记
31、录。4、表结构的显示(1)命令执行方式:LIST/DISPLAY STRUCTURE TO PRINT(2)界面操作方式5、表结构的修改A、用命令执行方式: MODIFY STRUCTURE (1)修改表的结构后,将产生一个扩展名为.BAK的备份文件。(2)当表中没有记录时,结构可以任意修改;当表中有记录时,修改某字段的类型,原数据信息将全部丢失;减少某字段宽度,原数据中超宽的部分将丢失;删除某字段后,原数据信息将全部丢失。(3)新增加的字段数据全部为空(C型为空串;N值型为0;D期型为“”;L辑型为.F.;M注型为空串)。B、用界面操作方式:(1)USE ;(2)打开“显示”菜单,选择“表设
32、计器”。(九)记录定位当用USE命令打开表文件时,记录指针总是指向第一条记录。如果需要对指定的记录进行添加、修改、删除等操作时,必须将记录指针移向指定记录,这一操作叫做“记录定位”。记录定位分绝对定位与相对定位。1、绝对定位:GOTO/GO 或:GOTO/GO TOP/BOTTOM2、相对定位:SKIPN(1)N0时,指针向下移动N个位置;(2)N0时,指针向上移动N个位置;(3)省略N时,指针向下移动一个位置。注意:区别文件头(BOF)、文件尾(EOF)、记录首(TOP)、记录尾(BOTTOM)TOP=BOF+1EOF=BOTTOM+1(十)表记录的插入与追加1、插人新记录:INSERT B
33、EFORE BLANK例 在“XSCJ.DBF”中第2号记录前插人一条空记录;在原来2号记录后插入下列记录:961011037 郑军 .T. 75 84 92 75 70USE XSCJ GO 2 绝对定位到2号记录 INSERT BEFORE BLANK 在2记录前插入一个空记录 GO 3 绝对定位到3号记录,即原来的2号记录 INSERT 插入新记录2、追加新记录:无论表文件中是否有记录,都可以在表尾部追加新记录。1)INSERT-SQL命令格式:INSERT INTO 表名(字段名1,字段名2,)VALUES(表达式1,表达式2,)功能:在表尾追加一个新记录,并直接馈入记录数据。例INS
34、ERTINTO SB(编号,名称,启用日期,价格,主要设备,备注)VALUES (“100-1”,“打印机”,1997/08/15,5000.00,.F.,“调拨”) 可以将数组或内存变量的值填入记录中:格式:INSERT INTO 表名 FROM ARRAY 数组名/FROM 内存变量例如:DIME ASD(5)ASD(1)=98129123ASD(2)=李林ASD(3)=.T.ASD(4)=79ASD(5)=81INSERT INTO XSCJ FROM ARRAY ASD2)APPEND命令:APPEND BLANK(1)选择BLANK,则向表尾部追加一条空记录;省略BLANK,可以追加
35、若干条记录,或修改原字段值。(2)该操作也可以用界面操作方式:选择表菜单,再选择追加新记录命令。(3)该操作也可以直接用键盘操作命令:Y3)APPEND FROM 命令APPEND FROM FIELDSFORTYPEDELIMITEDWITH/WITH BLANK/WITH TAB/SDF/XLS例 将SB2.DBF中记录的编号、名称字段追加到SB3.DBF尾。 USE SB3APPENDFROM SB2 FIELDS 编号,名称说明:该操作用界面操作方式:选择表菜单,再选择追加记录命令。例将XSCJ-WBB.TXT记录以标准数据格式添加到XSCJ.DBF尾。USE XSCJAPPEND F
36、ROM XSCJ-WBB SDF(十一)表记录的删除与恢复1、逻辑删除:DELETE 范围FOR/WHILE条件若省略所有选择项,则只给当前记录作删除标记。例给“XSCJ”库中的最后两条记录作删除标记。USE XSCJGO BOTTOMDELETESKIP -1DELETEDELETE ALL FOR 平均分=60RECALLALLFOR LEFT(学号,2)=“99”说明:可用界面操作方式:选择表菜单,再选择恢复记录命令。3物理删除记录:PACKUSE XSCJDELETE ALL 姓名=SPACE(9)DELETE FOR 姓名=“罗林”PACK说明:可用界面操作方式:选择表菜单,再选择彻
37、底删除命令。4删除所有记录:ZAP(十二)成批量的替换数据格式:REPLACE范围字段名1 WITH表达式1 ,字段名2 WITH 表达式 2ADDITIVE FOR/WHILE条件功能:对当前表中指定范围内、符合条件的所有记录进行修改,用表达式值替换字段值。例将学生成绩表“XSCJ.DBF”总分和平均分字段值成批量填入。USE XSCJLIST &总分和平均分的字段值为空REPLA ALL总分 WITH(英语+微机基础+数据库+高等数学+大学语文)LIST &总分的字段值已经填入APPEND BLANKREPLACE 学号 WITH “992345098”,姓名 WITH “李康”例把学生的
38、学号和家庭住址添加到“XSDA”中的奖惩情况(备注型)中。USE XSDAREPLACE ALL 奖惩情况 WITH ,+学号+,+家庭住址 ADDI(十三)表的单个记录与数组的数据传递1、将表的单个记录传递到数组格式:SCATTER FIELDS MEMO TO (1)省缺FIELDS,则传递除备注型以外的所有字段。选择MEMO,则传递备注型字段。(2)使用TO ,将数据复制到数组元素中,若数组元素多余字段数,则多余的数组元素仍保持以前的值。若数组元素少于字段数,则系统自动建立数组或自动扩大数组元素个数,以便接纳数据。DIME P(5)USE XSCJSCATTER TO P&系统自动扩大数
39、组元素个数,以接纳数据。DISP MEMO(3)可以将数据复制到一组内存变量中。为了区别与字段变量同名的内存变量,应在内存变量前加“M.”。 USE XSCJGO 3SCATTER MEMVAR&第3个记录的数据传递到内存变量? M.学号,M.姓名,M.性别GO 5SCATTER TO AB MEMO&第5个记录的数据(包括备注型字段)传递到数组AB中。2、将数组元素值或内存变量值传递到表的单个记录格式:GATHER FROM /MEMVARFIEIDSMEMO (1)省略FIEIDS,则按数组元素顺序依次传递到记录的个字段中,否则按字段名表顺序依次传递。(2)若数组元素少于库字段数,则多余的
40、字段填空值,若数组元素多余库字段数,则多余的数组元素被省略。(3)数组元素与对应字段的数据类型必须一致。(4)选择MEMO传递备注型字段,但不传递通用型字段。例将数组A的数据追加至表文件“SB1”中。DIME A(7)A(1)=9-532A(2)=洗衣机A(3)=2001/10/20A(4)=9100.50A(5)=21A(6)=.F.USE SB1APPEND BLANKGATHER FROM A(十四)表的成批记录与数组的数据传递1、将表的一批记录传递到数组格式:COPYTOARRAY FIELDS范围 FOR条件 / WHILE功能:将当前表指定的一批数据复制到一个二维数组中,但不复制备
41、注型字段。或将当前表的单个记录复制到一个一维数组中。(1)省缺FIELDS,则传递除备注型以外的所有字段。(2)若命令中指定的数组不存在,系统将自动建立数组。(3)将当前表的一批数据复制到一个二维数组时,若数组元素多余字段数,则多余的数组元素仍保持以前的值。若数组元素少于字段数,则多余的数据被忽略。系统不扩大数组元素个数。USE SBDIME CT(2,3)COPY TO ARRAY CT? CT(1,1), CT(1,2), CT(1,3), CT(2,1), CT(2,2), CT(2,3)屏幕显示:037-2 磨床 07/21/90038-1 车床 10/12/89表有6个记录,每个记录有6个字段,但只复制2个记录,每个记录只复制3个字段。可见,使用该命令时,系统不扩大数组元素个数。2、将数组元素值追加到记录格式:APPEND FROM ARRAY FOR FIEIDS功能:将满足条件的数组中行数据按记录依次追加到当前表中。但忽略备注型字段。(1)数组可以是一维数组或二维数组。二维数组的每一行追加到当前表的一个记录。(2)省略FIELDS,则按数组元素顺序依次传递到记录的个字段中,否则按字段名表顺序依次传递。(3)若数组列数少于库字段数,则多余的字段填空值,若数组列数多余库字段数,则多余的数组元素被省略。(4)数组元素与对应字段的数据类型必须一致。USE SB