1.5k likes | 1.7k Views
Visual Foxpro 基 础. 第六章. 目的与要求 :. 第六章. 1. 能熟练地建立项目、数据库、表 。. 2. 能正确确定表中各字段的类型、宽度。. 3. 正确理解主索引、候选索引、惟一索引、普通索引的概念,能准确为表选定索引。. 第六章. 准备 :. 1. 添加工具栏. 添加”数据库设计器”:“显示”菜单 “工具栏 …” 命令. 2. 修改默认目录. 即确定工作目录:“工具”菜单 ”选项 …” 命令 “文件位置”标签 修改“默认目录”,单击“设置为默认目录”按钮单击“确定”按钮。 目的是:便于今后保存数据。.
E N D
Visual Foxpro 基 础 第六章 荆楚理工学院
目的与要求: 第六章 1.能熟练地建立项目、数据库、表。 2.能正确确定表中各字段的类型、宽度。 3.正确理解主索引、候选索引、惟一索引、普通索引的概念,能准确为表选定索引。 荆楚理工学院
第六章 准备: 1.添加工具栏 添加”数据库设计器”:“显示”菜单“工具栏…”命令 2.修改默认目录 即确定工作目录:“工具”菜单”选项…”命令“文件位置”标签修改“默认目录”,单击“设置为默认目录”按钮单击“确定”按钮。 目的是:便于今后保存数据。 3.使用系统设置 “工具”菜单”选项…”命令“区域”标签,选中“使用系统设置”复选框。在“货币和数字”栏,将货币符号修改为¥。 荆楚理工学院
6.1 项目管理器 6.1 项目管理器 项目管理器是Visual FoxPro(简称VFP)应用程序开发过程中所有对象与数据的“控制中心(Control Center)”,它可以集成管理所有与开发的应用程序有关的各类型文件,把应用程序的多个文件组成一个文件,或者组成为.APP应用程序文件或.EXE可执行文件。 荆楚理工学院
6.1 项目管理器 6.1.1 创建项目管理器 方法一:利用菜单创建 “文件”菜单“新建…”命令“文件类型”单选“项目”后,单击“新建文件”或“向导”大按钮。… 将新建的项目保存在默认目录中。 方法二:利用命令创建 CREATE PROJECT < 项目名|?> 项目是一个表,记录了创建一个应用程序所需要的所有文件以及文件间的所有关系、引用和连接。每一个项目都有一个以.PJX为扩展名及一个以.PJT为扩展名的文件。 荆楚理工学院
6.1 项目管理器 6.1.2 项目管理器的构成及功能 荆楚理工学院
6.1 项目管理器 6.1.3 操作项目管理器 项目管理器简化了建立和修改文件的过程,在相应的选项中选定要建立或修改的文件类型之后,只需单击“新建”或“修改”按钮即可达到操作的目的,同时VFP激活相应的设计工具。 通常情况下,项目管理器可以以分离窗口的形式出现,可以通过单击窗口右上角的箭头将其进行折叠,以节省屏幕空间。在折叠视图下将只显示标签,并且右上角的箭头变成下箭头。折叠项目管理器后,可以根据需要,在工作区中重新安排各标签。 荆楚理工学院
应用程序都应该有一个主文件作为其执行的起始点,它可以是包含在一个项目中的任何程序、表单或查询文件。选择“项目”“设置主文件”来建立应用程序的起始点。在项目中,只有一个文件能设置成为主文件。应用程序都应该有一个主文件作为其执行的起始点,它可以是包含在一个项目中的任何程序、表单或查询文件。选择“项目”“设置主文件”来建立应用程序的起始点。在项目中,只有一个文件能设置成为主文件。 设置起始点 安装应用程序环境 在安装应用程序环境时应注意:在安装源程序中,应先将初始环境存储起来,然后启动一个应用程序特定的环境,包括初始化变量、建立默认路径、引用外部库(External Library)和过程(Procedure)文件等。 一旦安装环境并且已经显示初始界面,就应该准备建立一个事件循环去等待用户交互。控制事件循环的方法是:发出READ EVENTS命令启动处理事件;发出CLEAR EVENTS命令去停止处理事件。 初始用户界面可以是一个开始屏幕、菜单栏、表单或者任何其他组件。可以在主程序中通过使用DO命令去运行一个菜单,或者通过DO FORM命令去运行一个表单,或者通过设置一个表单为主程序来初始化用户界面。 显示初始界面 控制事件循环 恢复原始环境 6.1 项目管理器 6.1.4 用项目管理器构造应用程序 构造一个应用程序的步骤: 荆楚理工学院
6.1 项目管理器 6.1.5 添加文件到一个项目 在建立了应用程序的框架后,就可以准备将其他文件添加到项目中,并将它们的功能并入应用程序。添加文件到项目中的一个好方法是去连编此项目。 连编项目的具体步骤如下: ①测试项目。 ②将项目连编为一个应用程序文件。 荆楚理工学院
6.1 项目管理器 6.1.6 生成应用程序 • 要从应用程序创建一个最终的文件,需要把它连编为一个应用程序文件,该文件带有.APP的扩展名.若要运行该应用程序文件,需要首先启动VFP,然后才能载如.APP文件。 • 连编一个应用程序的步骤: • ①在项目管理器中单击[连编]按钮. • ②在弹出的对话框[操作]选项组中选中[连编应用程序]或[连编可执行程序]选项. • ③在选项组中选择其他复选框并单击[确定] • 此外还可以在命令窗口使用BUILD APP或BUILD EXE命令来创建应用程序.如:项目为XSGLXT.PJX连编成应用程序MYAPP.APP,则在窗口中输入命令: • BUILUD APP MYAPP FROM XSGLXT • 或 • BUILD EXE MYEXE FROM XSGLXT 荆楚理工学院
6.1.7 利用项目管理器设计数据库和表 6.1 项目管理器 在项目管理器中可以通过[新建]功能创建数据库,表,视图,查询,连接,存储过程,表单,报表等项目所需要的对象. 1.在项目中创建数据库 “项目”菜单“数据库”命令“新建”单选后,确定新建数据库的名称和路径.单击[保存]按钮,VFP系统就会自动打开”数据库设计器”工具栏,在工具栏中有”新建表”,”添加表”,”移去表”,”新建远程视图”,”新建本地视图”,”修改表”,”浏览表”,”编辑存储过程”和”连接”等功能. 2.在项目中设计表 表分为自由表和数据表两类,自由表就是不在数据库中的表,不受数据库的约束,可以自由打开, 数据表是添加在数据库中的表,要打开此表先要打开数据库.创建方法: 项目”菜单“数据库” “数据”命令“新建”,弹出表设计器,图如下 荆楚理工学院
6.1 项目管理器 6.1.7 利用项目管理器设计数据库和表 荆楚理工学院
6.1 项目管理器 6.1.7 利用项目管理器设计数据库和表 • 在表设计器中输入表的字段名,字段类型,宽度,小数位等,选择字段的有效性,显示方式及字段有效性默认值,输入完成后按[是]进入数据录入状态,如录入数据到表. 荆楚理工学院
6.2 关于建立表及表结构的基本处理命令 6.2.1 显示表结构的命令 • 格式:DISPLAY STRUCTURE [IN NWORKAREA|CTABLEALIAS[TO PRINTER[PROMPT]|TO FILE FILENAME][NOCONSOLE] • 功能:显示当前表结构的有关信息.包括表文件名,记录个数,最后一次修改日期,各字段的字段号,字段名,类型,宽度和小数位,一条记录的字节总数. • 参数描述: 荆楚理工学院
6.2 关于建立表及表结构的基本处理命令 6.2.1 显示表结构的命令 • IN NWORKAREA|CTABLEALIAS字句表示在除当前工作区以外的其他工作区显示表的结构, NWORKAREA指定显示NWORKAREA所确定的工作区中打开的表的结构; CTABLEALIAS指定显示以CTABLEALIAS为别名的表的结构. • TO PRINTER字句表示将操作结果送到打印机. • TO FILE FLIENAME字句表示将操作结果输出到FILENAME指定的磁盘文件中. • NOCONSOLE字句表示不将表结构显示到VFP的主窗口,而输出到指定的其他地方. 荆楚理工学院
6.2 关于建立表及表结构的基本处理命令 6.2.2 建立”表”命令 • 1.建立表结构命令 • 格式:CREATE [FILENAME|?] • 功能:创建一个新的VFP表结构. • 参数描述: • FILENAME|?其中”FILENAME”为新建表的表名,”?”表示要打开创建对话框,”|”表示从前两个参数中任选一个. 荆楚理工学院
6.2 关于建立表及表结构的基本处理命令 6.2.2 建立”表”命令 • 2.建立表结构的其他方法 • (1)复制表结构 • 格式:COPY STRUCTURE TO <TABLENAME>[FILEDS<FILEDLIST>] • 功能:将当前打开的表文件结构的部分或全部复制为<TABLENAME>所指定一个表结构. 荆楚理工学院
6.2 关于建立表及表结构的基本处理命令 6.2.2 建立”表”命令 • (2)生成表结构文件 • 格式:COPY STRUCTURE EXTENDED TO <FILENAME>[DATABASE<DATABASENAME>[NAME<LONGTABLENAME]][FILEDS<FILEDLIST> • 功能:将当前表的结构复制生成一个特殊的表文件,即表结构文件 • 参数描述: 荆楚理工学院
6.2 关于建立表及表结构的基本处理命令 6.2.2 建立”表”命令 • DATABASE<DATABASENAME>指定一个数据库文件名,将新创建的表结构文件添加到该数据库中. • NAME<LONGTABLENAME>为创建的新表文件添加到数据库中时指定一个长文件名,最长可到128个字符. • FILEDS<FILEDLIST>指定当前表结构中哪些字段作为表结构文件的字段.如果省略该字句,当前表中的字段都将加入到新表结构文件. 荆楚理工学院
6.2 关于建立表及表结构的基本处理命令 6.2.2 建立”表”命令 • (3)将表结构文件还原成表结构 • 格式:CREATE<FILENAME>FROM • <TABLESTRUCTUREFILENAME> • 功能:将表结构文件还原成为普通文件.新建的表文件是个没有记录的表结构框架. 荆楚理工学院
6.2 关于建立表及表结构的基本处理命令 6.2.3 修改”表”结构 • 格式:MODIFY STRUCTURE • 功能:打开表设计器,修改当前表文件的结构. • 此命令是一条全屏操作命令,可以删除字段,插入新字段,修改字段名,宽度,类型和小数点 荆楚理工学院
6.3 常量,变量,表达式 6.3.1 常量 • VFP支持多种类型的常量. • 1.数值常量:数值(N)和浮点数(F). • 2.字符常量(字符串):包括可打印的ASCII字符以及空格,还包括所有的汉字和各种符号. • 3.日期常量:以月/日/年形式出现或YY.MM.DD如{04/28/96}或{^2001/01/03}. • 4.逻辑常量:只有两个值,即逻辑”真”和逻辑”假”,用.T.,.Y.和.F.,.N.表示. • 5.货币常量 荆楚理工学院
6.3 常量,变量,表达式 6.3.2 变量 • 1.内存变量:打开VFP系统后自定义的变量,可以被重新赋值但不允许重新定义或改变数据类型 • 2.字段变量:打开表时自动建立的,字段变量的变量名即为表字段名. • 3.数组 • (1)数组定义 • 格式:DIMENSION<ARRAYNAME(NROWS1)[,NCOLUMNS1])>[,<ARRAYNME2(NROWS2[,NCOLUMNS2])>]… • 功能:定义一个或多个一维或二维数组. 荆楚理工学院
6.3 常量,变量,表达式 6.3.2 变量 • (2)数组赋值命令 • 格式:STORE<EEXPRSSION>TO<ARRAYNAMELIST> • 格式2:<ARRAYNAME>=<EEXPRSSION> • 功能:将表达式的值赋给数组或数组元素. • (3)数组与表的字段之间的相互数据传递 • 格式:SCATTER[FILEDS<FILEDNAMELIST>|FILEDS LIKE<SKELETON>|FILEDS EXCEPT<SKELETON>][MEMO] TO <ARRAYNAME>|TO<ARRAYNAME>BLANK|MEMVAR|NAME<OBJIECTNAME> • 功能:将单条记录数据赋值给数组元素. 荆楚理工学院
6.3 常量,变量,表达式 6.3.2 变量 • 4.内存变量的基本操作 • (1)内存变量的赋值操作 • 格式:STORE<表达式>TO <VARNAMELIST>|<ARRAYNAMELIST> • 功能:将表达式的值赋给一个变量或多个变量. • (2)显示内存变量 • 格式1:LIST MEMORY[LIKE<FILESKELETON>][TO PRINTER[PROMPT]/TO FILE<FILENAME>][NOCONSOLE] • 格式2:DISPLAY MEMORY[LIKE<FILESKELETON>][TO PRINTER[PROMPT]/TO FILE<FILENAME>][NOCONSOLE] • 功能:显示当前内存中定义的自定义内存变量和系统内存变量有关信息.但都不显示字段变量. 荆楚理工学院
6.3 常量,变量,表达式 6.3.2 变量 • (3)保存变量 • 格式:SAVE TO <FIELNAME>|MEMO<MEMOFIELDNAME>[ALL LIKE <SKELETON>|ALL EXCEPT<SKELETON> • 功能:将内存变量以文件形式存入磁盘,文件名由<FIELNAME>指定. • (4)删除内存变量 • 格式1:RELEASE<MEMVARLIST> • 功能:删除指定的内存变量 • 格式2:CLEAR MEMORY • 功能:删除当前内存的所有内存变量. 荆楚理工学院
6.3 常量,变量,表达式 6.3.3 表达式与运算符 • 1.表达式的概念:由运算符和括号将常量,变量和函数连接起来的有意义的式子称为表达式. • 显示表达式: • 格式1:?<EEXPRESSIONLIST> • 格式2:??>EEXPRESSIONLIST> • 功能:计算表达式的值,将结构显示在屏幕上,?从下一行的开始端开始显示表达式的值,??则从光标当前所在的位置开始显示表达式值. • 2.运算符:是对数据对象进行操作运算的符号.VFP运算符分五类:算术运算符,关系运算符,逻辑运算符,字符串运算符,日期运算符 荆楚理工学院
6.4 常用函数 6.4 常用函数 FoxPro为用户提供了700多条命令、函数和内存变量,极大地提高了它的性能。本节仅讨论数值计算类,字符处理类,时间类,数据库类等四类常用函数的格式和功能。 在讨论中使用了下列通用表达式: <expN>-代表数值表达式, <expC>-代表字符表达式, <expL>-代表逻辑表达式, <expD>-代表日期表达式, <expr>-代表一般表达式。 荆楚理工学院
6.4 常用函数 6.4.1 数值计算类函数 一、三角函数与反三角函数 1.ACOS(<expN>)该函数按指定的<expN>值(余弦值),返回相应的角度值(单位:弧度)。表达式<expN>的有效范围是[-1,1],函数返回值的范围是[0,π]。 2.ASIN(<expN>)该函数按指定的<expN>值(正弦值),返回相应的角度(单位:弧度)。表达式<expN>的有效范围是[-1,1],函数返回值的范围是[-π/2,π/2]。 荆楚理工学院
6.4 常用函数 6.4.1 数值计算类函数 3.ATAN(<expN>)该函数按给定指定<expN>值(正切值),返回相应的角度(单位:弧度)。表达式<expN>的有效范围是整个实数集,但函数返回值的范围是[-π/2,π/2]。 4.ATN2(<expN1>,<expN2>)该函数按给定正弦值<expN1>和余弦值<expN2>返回相应的反正切值(单位:弧度)。小数位与ACOS()相同。 荆楚理工学院
6.4 常用函数 6.4.1 数值计算类函数 5.COS(<expN>)该函数按指定<expN>值,计算相应的余弦值。表达式<expN>的有效范围是整个实数集,单位为弧度,函数的返回值的范围是[-1,1]。 6.SIN(<expN>)该函数返回指定表达式<expN>的正弦值。表达式<expN>值的有效范围是实数集,单位为弧度,函数的取值范围是[-1,1]。 7.TAN(<expN>)该函数返回指定表达式<expN>的正切值。 荆楚理工学院
6.4 常用函数 6.4.1 数值计算类函数 二、金融函数 8.FV(<expN1>,<expN2>,<expN3>)该函数返回每期投资额<expN1>,期利率<expN2>,连续投资<expN3>期后,本利和的未来值,使用时要注意时间单位的一致性。 9.PAYMENT(<expN1>,<expN2>,<expN3>)该函数计算贷款额为<expN1>,期利率为<expN2>,分<expN3>期等额归还全部本利和,则每期应付和款额。 10.PV(<expN1>,<expN2>,<expN3>)该函数返回每期投资额为<expN1>,期利率为<expN2>,连续投资<expN3>后,本利和的现值。 荆楚理工学院
6.4 常用函数 6.4.1 数值计算类函数 三、转换函数 11.DTOR(<expN>) 该函数将指定的角度值<expN>转换成相应的弧度值。 12.RTOD(<expN>) 该函数将指定的弧度值<expN>转换成相应的角度值。 13. VAL(<expC>) 该函数将指定的由数字组成的字符表达式<expC>转换成数值。该函数在表达式<expC>中从左到右处理数字,直到遇到第一个非数字字符而终止。 荆楚理工学院
6.4 常用函数 6.4.1 数值计算类函数 四、其他数值函数 14.CEILING(<expN>)该函数返回大于或等于指定数值表达式<expN>值的最小整数。 15.EVALUATE(<expC>)该函数计算指定字符表达式<expC>的值,表达式<expC>的值可以是字符型、数值型、日期型、逻辑型或备注型,而表达式<expC>本身可以是一个字符串、一个合法的FoxPro表达式、内存变量、数组元素或其他类型的字段。 16.ROUND(<expN1>,<expN2>)该函数返回指定表达式<expN1>按<expN2>位小数四舍五入后的数值。 荆楚理工学院
6.4 常用函数 6.4.2 字符处理类函数 一、字符寻找函数 17.AT(<expC1>,<expC2>[,<expN>])该函数返回表达式<expC1>在表达式<expC2>中第<expN>次出现的起始位置,如果找不到,函数返回数值0。表达式<expN>的缺省值为1,函数对字符的大小写敏感。 18.ATC(<expC1>,<expC2>[,<expN>])该函数的功能与AT()相似,但它对表达式中字母的大小不敏感。 19.LIKE(<expC1>,<expC2>)若表达式<expC1>与表达式<expC2>匹配,该函数返回真值,否则返回假值。表达式<expC1>中允许存在通配符“*”或“?”。 荆楚理工学院
6.4 常用函数 6.4.2 字符处理类函数 二、字符截取函数 20.ALLTRIM(<expC>)该函数返回删除表达式<expC>的前后空格后的字符。 21.LEFT(<expC>,<expN>)该函数返回<expC>最左边<expN>个字符串。 22.RIGHT(<expC>,<expN>)该函数返回表达式<expC>的右边<expN>个字符串。 23.SUBSTR(<expC>,<expN1>[,<expN2>])该函数从表达式<expC>的第<expN1>个字符开始,返回<expN2>个字符。<expN1>的缺省值为1,<expN2>的缺省值为全部字符数。其中<expC>可以是表达式或备注字段。 荆楚理工学院
6.4 常用函数 6.4.2 字符处理类函数 三、字符替代类函数 24.CHRTRAN(<expC1>,<expC2>,<expC3>)该函数将表达式<expC1>中与表达式<expC2>中相匹配的字符用表达式<expC3>中相应的字符去替代。若<expC3>的字符数比<expC2>的多,多余的字符被忽略;若<expC3>中的字符比<expC2>的少,则<expC2>中的多余字符被替代成空格。 荆楚理工学院
6.4 常用函数 6.4.2 字符处理类函数 25.PADL(<expr>,<expN>[,<expC>]) 26.PADR(<expr>,<expN>[,<expC>]) 27.PADC(<expr>,<expN>[,<expC>]) 函数PADL()、PADR()和PADC()分别在表达式<expr>的左边、右边或两边填充字符<expC>,并使填充后的字符串长度为<expN>。 28.STR(<expN1>[,<expN2>[,<expN3>]])该函数从表达式<expN1>中返回<expN2>个字符(小数点计算在内),其中<expN3>规定返回的字符串中的小数位数。如果<expN2>值小于表达式<expN1>小数点左边位数,则函数返回一串空号,表示数值溢出。 荆楚理工学院
6.4 常用函数 6.4.2 字符处理类函数 29.STRTRAN(<expC1>,<expC2>[,<expC3>][,<expN1>][,<expN2>])该函数在表达式<expC1>中找到表达式<expC2>,就用表达式<expC3>代替表达式<expC1>中相应字符。其中,表达式<expN1>指定用表达式<expC3>替代表达式<expC1>的起始位置,即第<expN1>次出现<expC2>的位置开始替代,缺省值为1。<expN2>指出替代的次数,缺省值为全部字符数。若找不到,则不替换。 荆楚理工学院
6.4 常用函数 6.4.3 时间类函数 一、日期(年、月、日)函数 30.CMONTH(<expD>)该函数返回给定日期表达式<expD>值的月份。 31.CTOD(<expC>)该函数根据字符表达式<expC>,返回相应的日期表达式。表达式<expC>的缺省格式为mm/dd/yy。 32.DATE()该函数返回当前的系统日期,这一日期由操作系统自行决定。但是,命令SET CENTURY和SET DATE以及SET MARK TO都可改变返回的字符串格式。 荆楚理工学院
6.4 常用函数 6.4.3 时间类函数 33.DAY(<expD>)返回给定日期表达式<expD>指定月份的数值型日期,取值范围为1-31。 34.MONTH(<expD>)该函数返回给定日期表达式<expD>的月份值(数值型)。 35.YEAR(<expD>)该函数返回给定日期表达式<expD>的年份。 36.DTOC(<expD>[,1])该函数根据给定日期表达式<expD>值返回字符型日期,参数[1]表示按索引格式返回。 37.DTOS(<expD>[,1])该函数根据给定日期表达式<expD>值返回yyyy mm dd格式的字符串日期。 荆楚理工学院
6.4 常用函数 6.4.3 时间类函数 二、星期和时间函数 38.CDOW(<expD>)该函数根据日期表达式<expD>的值返回相应的星期几。 39.DOW(<expD>)该函数根据日期表达式<expD>的值返回相应的星期几。 40.SECONDS()该函数返回从0时开始,到现在已经走过的秒数,它的数值精确到毫秒。 41.TIME([<expN>])该函数返回当前系统时间,并按hh:mm:ss形式表示。若带有参数<expN>,则精确到1/18秒,表达式<expN>可取任意值。 荆楚理工学院
6.4 常用函数 6.4.4 数据库类函数 一、关于数据库文件的函数 42.ALIAS([<expN>|<expC>]) 该函数返回当前工作区(不带参数)或指定工作区<expN>|<expC>的别名,若工作区中没有打开的数据库文件,则函数返回空串。 43.DBF([<expN>|<expC>]) 该函数返回当前工作区或指定工作区<expN>|<expC>中数据库的名称。若工作区中不存在打开的数据库,函数返回空串。 荆楚理工学院
6.4 常用函数 6.4.4 数据库类函数 44.SELECT([0|1]) 该函数以数值型返回当前工作区号(若使用参数0)或当前可用的最大的工作区号(若使用参数1)。 45.UNIQUE() 如果指定的索引由UNIQUE关键字或命令SET UNIQUE ON一起产生,则函数返回逻辑真,否则返回逻辑假。 46.USED([<expN>|<文件别名>]) 该函数测试当前工作区(或特指工作区)中是否打开了数据文件,是则返回.T.,否则返回.F.。 荆楚理工学院
6.4 常用函数 6.4.4 数据库类函数 二、关于索引文件的函数 47.NDX(<expN>)[,<工作区号>|<工作区号>|<文件别名>) 该函数返回当前工作区(或特指工作区)数据文件的某个单项索引(.IDX索引)的索引文件名。每个数据文件最多可同时打开多个单项索引文件,函数根据<expN>的值返回与打开次序相应的单项索引文件的文件名。如果<expN>的值大于打开的单项索引文件的个数,函数返回一个空串。 荆楚理工学院
6.4 常用函数 6.4.4 数据库类函数 48.CDX(<expN>[,<工作区号>|<文件别名>]) 49.MDX(<expN>[,<工作区号>|<文件别名>]) CDX函数根据<expN>的值返回当前工作区(或特指工作区)相应的组合索引文件的文件名。如果该数据文件存在结构组合索引,则<expN>的值为1时,返回结构组合索引文件名;其值为2时,返回第一个独立组合索引文件名……。否则,“l”对应于第一个独立组合索引文件,“2”对应于第二个独立组合索引,依次类推。 MDX函数和CDX函数等价。 荆楚理工学院
6.4 常用函数 6.4.4 数据库类函数 50.ORDER([<工作区号>|<文件别名>[,<expN>]]) 在打开一个数据文件时可以同时打开对该数据文件所建立各种类形的多个索引文件,其排序规则已如上述。在打开单项索引文件后,数据文件的显示(或处理)的次序由第一个单项索引文件的索引表达式所决定,否则数据文件按物理次序进行处理。通过SET ORDER命令可以改变索引控制文件(或索引控制标记),使该数据文件的显示(或处理)的次序由另一个单项索引文件的索引表达式控制,或是由某一个组合索引的某个索引标记的索引表达式控制。我们称这个单项索引文件为索引控制文件(称组合索引标记为索引控制标记)。 荆楚理工学院
6.4 常用函数 6.4.4 数据库类函数 三、关于记录的函数 51.BOF([<expN>|<expC>])若当前工作区或指定工作区<expN>|<expC>中数据库记录指针已反向移过第一条记录,函数返回真值,否则返回假值。 52.DELETED([<expN>|<expC>])该函数返回当前记录的逻辑删除状况,若该记录带有删除标记,则返回逻辑真,否则返回逻辑假。 53.EOF([<expN>|<expC>])若当前工作区或指定工作区<expN>|<expC>中数据库记录指针已越过最后一条记录,则返回逻辑真,否则返回逻辑假。 荆楚理工学院
6.4 常用函数 6.4.4 数据库类函数 四、关于字段的函数 54.FCOUNT([<expN>|<expC>])该函数返回当前或指定工作区<expN>|<expC>中数据库的字段数。 55.FIELD(<expN1>[,<expN2>|<expC>]) 该函数返回当前或指定工作区<expN2>|<expC>中数据库的指定字段号<expN1>的字段名称。若表达式<expN1>值为1,返回该数据库的第一个字段名称,余类推。 荆楚理工学院
6.5.1 打开或选择数据表命令 6.5 对表操作的基本命令 1.打开表文件命令 格式:USE[[DATABASENAME!]<TABLE> |<SQLVIEWNAME>?][IN<NWORKAREA> <CTABLEALIAS>][AGAIN][ALIAS <CTABLEALIAS>][EXCLUSIVE][SHARED] [NOUPADTAE] 功能:在指定的工作区打开指定的表文件, 并为该表起个别名. 荆楚理工学院