首页 第2章VFP数据库管理系统概述

第2章VFP数据库管理系统概述

举报
开通vip

第2章VFP数据库管理系统概述nullnull第二章 Visual FoxPro 数据库管理系统概述null第 一 节 VFP的操作环境nullVFP主要特点 ▲ 数据库技术方面 完善了关系型数据库概念,严格区分数据库与数据表; 采用Rushmore技术和复合索引技术; SQL(结构化查询语言)命令的引入。 ▲ 数据操作方面 灵活多样的数据交换手段,支持众多的与其它应用程序进行数据交换的文件格式。null▲ 程序设计方面 快速创建可视化应用程序,并可进行编译;具有面向对象的程序设计功能。 ▲ 操作...

第2章VFP数据库管理系统概述
nullnull第二章 Visual FoxPro 数据库管理系统概述null第 一 节 VFP的操作环境nullVFP主要特点 ▲ 数据库技术方面 完善了关系型数据库概念,严格区分数据库与数据 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf ; 采用Rushmore技术和复合索引技术; SQL(结构化查询语言)命令的引入。 ▲ 数据操作方面 灵活多样的数据交换手段,支持众多的与其它应用程序进行数据交换的文件格式。null▲ 程序MATCH_ word word文档格式规范word作业纸小票打印word模板word简历模板免费word简历 _1714041030685_1方面 快速创建可视化应用程序,并可进行编译;具有面向对象的程序设计功能。 ▲ 操作使用方面 提供了一个功能相对完善的集成环境及丰富的开发工具,如向导、设计器、生成器和管理器等。null一、VFP的操作操作界面 VFP提供了一个可视化的集成操作环境,其操作界面的风格和常规操作完全遵循Windows设计规范。VFP的集成操作环境主要包括: 菜单栏 是一个动态的菜单系统,在操作过程中,随当前被操作的对象而进行调整。 工具栏 工具栏按钮的功能与某些菜单命令相对应,可完成常用的操作。 主窗口 用于显示输出结果。 命令窗口 只能显示在主窗口中,用户可在命令窗口中输入命令。 状态栏 用于显示VFP的当前状态。null主菜单栏主窗口命令窗口状态栏工具栏菜单栏 是一个动态的菜单系统,在操作过程中,随当前被操作的对象而进行调整。工具栏 工具栏按钮的功能与某些菜单命令相对应,可完成常用的操作。主窗口 用于显示输出结果。命令窗口 只能显示在主窗口中,用户可在命令窗口中输入命令。状态栏 用于显示VFP的当前状态。null二、VFP命令的命令说明 VFP命令的表述遵循以下的约定: ▲ 斜体字 命令的一个语法成分,由用户定义 ▲ 方括号 该语法成分在命令中是可选项 ▲ 省略号 前一语法成分可重复多次 ▲ 竖线 前后语法成分选择其一 例如: DELETE FILE [ FileName | ? ] [RECYCLE]null 当光标在命令行上的任意处,按回车键后,该命令即被执行。 一条命令通常占一行,若把一条命令分成若干行,则在每行(最后一行除外)的末尾加 “ ;” ;在命令窗口中,按Ctrl+Enter键可实现换行输入;执行时,光标可在任意一行上,然后按回车键。 绝大多数命令中的关键字均可用其前四个字符代替;命令后面可以用“ && ”引导命令的注解,即:命令中“ && ”后的字符是不会被执行的。null几个常用命令 ▲ ? 和 ?? 格式: ? | ?? 表达式1 [,表达式2 ] …… 功能:在VFP主窗口中显示表达式的值。 说明: 使用 ? 命令时,在输出一个换行符后再输出表达式的值; 使用 ?? 命令时,不输出换行符,直接输出表达式的值。null▲ * 和 && 功能:在程序文件中引导注释内容。 说明: 两者的区别在于: * 必须为命令行的第一个字符,且将整个命令行定义为注释的内容; && 可以用在其它命令的后面,将其后面的字符定义为注释内容。 ▲ CLEAR 格式: CLEAR 功能:用于清除当前VFP主窗口中的信息,使下一次显示时,从窗口的左上角开始。null▲ DIR 格式: DIR [ [ Path ] [ Filename ] ] 功能:在VFP主窗口中显示文件的 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 。 说明: Path 和 filename 分别是指定文件的路径和文件名。 Path 缺省是指当前目录; 文件名应包括主文件名和扩展名,若扩展名缺省,是指表文件(.dbf); 文件名中可以含通配符。null▲ MD | RD | CD 格式: MD | RD Path CD [ Path ] 功能: MD 创建一个文件夹 RD 删除一个文件夹 CD 将当前目录改为指定的文件夹 说明: Path可以是绝对路径,也可以是相对路径,必要时还可以包含盘符; 用RD命令删除一个文件夹时,该文件夹必须是空文件夹; 不带Path参数的CD命令,将显示当前路径。null▲ COPY FILE | RENAME | DELETE FILE 格式: COPY FILE FileName1 TO FileName2 RENAME FileName1 TO FileName2 DELETE | ERASE FILE FileName | ? [RECYCLE] 功能:复制文件、文件重命名、删除文件 说明: 文件名中可以含通配符、文件所在的盘符和路径(缺省时指当前路径),且文件必须被关闭; RENAME命令前后的文件说明若不位于同一磁盘或文件夹,则对文件改名的同时,移动文件;null DELETE | ERASE命令中的RECYCLE用于指定从硬盘上删除的文件被放入回收站;选择?选项,则弹出文件浏览对话框,供查找文件。null▲ RUN 格式:RUN [ / N ] DOS Command | ProgramName 功能:调用外部的DOS命令或应用程序 说明: / N参数表示不需要等待该命令执行结束即可执行另一个Windows应用程序。 DOS Command和ProgramName分别指DOS命令和应用程序名。 ▲ QUIT 格式:QUIT 功能:关闭所有VFP文件,并结束VFP的运行。null三、配置VFP操作环境 VFP提供了许多设置,用户可以通过修改这些设置来改变系统的操作环境。 通过“工具”菜单的“选项”命令,可以对VFP的操作环境进行设置。 设置完毕后,需要按“确认”按钮退出;如果按Shift+确认,则将当前设置在命令窗口中显示;如果需作为默认的设置,则按“设置为默认值”按钮退出。 VFP操作环境也可以通过SET命令进行临时设置(即在当前有效,在下次启动VFP进将不起作用。常用的SET命令见教材P34)。null第 二 节 VFP文件类型null VFP是一个数据库管理系统软件,它提供了一组集成的开发工具,因此可以在VFP环境下,创建多种类型的文件。在VFP中创建某种文件一般有多种方式,可以通过主菜单栏、工具按钮或命令方式。 VFP的文件类型详见教材P35列表(请记住重要的文件类型的扩展名)。 特别要注意的是:当用户创建了某一种类型的文件后,在磁盘上保存时不一定是一个文件,往往会生成一些相关的文件。null第 三 节 VFP的项目管理及其操作null 软件的开发工作是一个系统工程应将工程化的概念、思想、方式和技术应用于研制、设计、生产和管理软件开发的全过程,这就是所谓的“软件工程”。 一个应用系统就是一个工程项目,以项目为单位管理一个系统中的相关组件。项目是一个系统中文件、数据、文档和对象的集合,即组织和管理其它文件的文件。 VFP中的“项目管理器”是VFP中处理数据和对象的主要组织工具,项目管理器通过项目文件(扩展名为.PJX)对项目中的数据和对象进行集中的管理,因此项目管理器可以称为VFP的控制中心。nullnull项目文件的创建方法: ◆ 窗口命令 CREATE PROJECT [ Filename | ? ] ◆ 菜单命令 文件 / 新建 ◆ 工具按钮 “新建”按钮 对已存在的项目,可利用MODIFY PROJECT命令,或菜单命令“文件/打开”,“打开”工具按钮来打开并修改它。null一、选项卡 项目管理器窗口中有6个选项卡,用来分类显示各个数据项。 ▲全部 把下面5个分类项全部列在一起 ▲数据 包含了一个项目中的所有数据文件:数据库、自由表、查询和视图等 ▲文档 包含了处理数据时所用的全部文档:表单、报表、标签 ▲类 包含了表单和程序中所用的类库和类 ▲代码 包含了程序、API库和二进制应用程序文件 ▲其它 包含了菜单文件、文本文件和其它文件(位图、图标等)null 若要处理项目中某一特定的文件或对象,可选择相应的选项卡。在“项列表”中,可选择所要操作的文件或对象。 与Windows中资源管理器类似,项目管理器的目录也可以折叠和展开。null二、定制项目管理器 项目管理器在VFP窗口中可以多种不同的方式显示,系统默认的显示方式为窗口方式。双击其标题栏,或将它拖放到工具栏区域,则项目管理器呈工具栏形状。双击其工具栏空白处或将它拖放到VFP主窗口中,项目管理器又恢复窗口形状。 当项目管理器呈窗口形状时,可通过“折叠/展开”按钮,对项目管理器折叠或展开。 当项目管理器呈工具栏形状或折叠时,可以通过鼠标拖放操作,把选项卡从管理器上“撕下”,使之成为浮动选项卡。其中的“图钉”可决定该选项卡是否保持在主窗口的最前端(即不会被其它窗口覆盖)。null三、项目管理器的操作 有关项目的操作,可以利用“项目”菜单,或“项目管理器”窗口中的命令按钮,或快捷菜单进行。 1、命令按钮 项目管理器中显示的命令按钮是“动态”的,随当前选择的操作对象或类型而有所变化。 ●新建 创建一个新文件或对象,其类型与已选定项类型相同,且新文件或对象被项目所管理。 ●添加 将已存在的且不被项目所管理的文件添加到项目之中; ●修改 在相应的设计器中打开选定项;null●浏览 在浏览窗口打开选定的表或视图,且仅当选定一张表或视图时可用; ●关闭 关闭一个已打开的数据库,且仅当选定一个数据库时可用。若选定的数据库已关闭,则此按钮变为“打开”; ●打开 打开一个数据库,且仅当选定一个数据库时可用。若选定的数据库已打开,此按钮变为“关闭”; ●移去 从项目中移去选定的文件或对象;移去时系统会提问是仅从项目中移去,还是同时将其从磁盘上删除;null●连编 连编一个项目或应用程序,专业版中还可以连编一个可执行文件; ●预览 在打印显示方式下显示选定的报表或标签,当选定项目中的一个报表或标签时可用; ●运行 执行选定的查询、表单或程序,当选定项目管理器中的一个查询、表单或程序时可用。null2、快捷菜单 选择某操作对象或类型后,可调用快捷菜单,以完成某些操作。 ●包含/排除 将所选项设置为项目包含或项目排除。 若某项设置为项目包含,则该项在运行时是只读的,且在项目连编为可执行的应用程序时,该项的所有文件均包含在可执行文件之中,当程序运行时,不再需要这些文件; 若某项设置为项目排除(该项前有带斜线的圆圈标志),则该项在连编时被排除,即不会包含在可执行文件之中。当程序文件运用时,若需要调用这些文件时,程序文件将会到磁盘上查找并调用。null●设置主文件 把选定的程序、表单、查询或菜单指定为主文件。 主文件是在已编译的应用程序中作为主执行程序执行的,即为应用程序的“入口”。一个项目中只能设置一个主文件(第二次设置时,第一次的设置自动作废)。 ●重命名 修改所选项的名称。 在改名时,不仅修改项目中该项的名称,而且修改该项所对应的所有文件的文件名,即可对多个相关文件进行同步改名。null●编辑说明 编辑所选项的说明信息。 ●项目信息 用于编辑或设置一些与项目有关的信息。null3、项目间共享文件 通过与其它项目共享文件,可以使用在其它项目开发上和工作成果。被共享的文件并未被复制,项目只是存储了对该文件的引用。 一个文件可以同时属于不同的项目。 若要在项目间共享文件,首先需要打开要共享的两个项目,在包含该文件的“项目管理器”窗口中选择该文件,并拖动该文件到另一个项目容器中。null第四节 VFP语言基础null一、数据类型 数据类型是指数据对象的取值集合,以及对之可施行的运算集合。 创建表时需要用户指明表中每个字段的数据类型,变量或数组的数据类型则由保存在其中的值来决定。null字符型(C) 由任意字符(字母、数字、空格、符号和汉字)所组成,数字组成的字符型数据不能进行算术运算。 字符型数据的长度最多为254个字符。 字符型常量必须要用英文的双引号(")、单引号( ' )或方括号([ 和 ])引起来。 例: "南京财经大学" '123' [信息工程学院]null数值型(N) 用于表示数值数据。 数值型数据只能由 0 ~ 9 、正负号、小数点以及e和E所组成。 数据在内存中占8字节;在表中占1~20字节。 小数的有效位数最多为15位。 数值数据的范围:从-0.9999999999E+19 到0.9999999999E+20 12.34 -0.123 1.345E-2null货币型(Y) 表示货币数据。 在货币型数据中如果小数位数超过四位,VFP则将把它四舍五入到四位。 货币型数据最多为8个字节。 货币型数据的范围: 从-922337203685477.5808 到 922337203685477.5807 货币型常量要在数字前面加上“ $ ”,如: $100.35null日期型(D) 用于存储日期数据。日期的常用格式为: mm/dd/yyyy yyyy-mm-dd 日期型变量以“yyyymmdd”字符格式保存,长度固定为8个字节,其中yyyy占4个字节,mm和dd分别各占2个字节。 数据值从{01/01/1000}到{12/31/9999}。 使用日期型常量时,应将日期值放在{ } 中,如:{10/01/2007} 日期的显示格式有多种,取决于系统命令SET DATE TO、SET MARK TO、SET CENTURY ON/OFF的设置。null日期时间型(T) 用于存储日期、时间数据,也可以保存仅有日期或仅有时间的数据;若缺省日期值,则VFP用系统默认值1899年12月30日填入;若缺省时间值,则用系统默认的午夜零点时间填入。 数据的固定长度为8个字节中,其中,第一个4字节保存日期,另一个4字节保存时间。 时间从午夜起计算,以1/100秒为最小记时单位。时间的常用格式为hh:mm:ss。 日期时间型常量也需置于{ }中,以{ : }表示空日期时间值。null逻辑型(L) 逻辑型数据只含两个值,.T. 和 .F.(也可以为.Y. 和 .N.)。 注意:字母两旁的两点不能忽略。 逻辑数据的长度为1个字节。null浮点型(F)* 浮点数据类型与数值型完全等价,包含此类型是为了与其它软件相兼容。 浮点的数据长度、数值范围使用方法与数值型数据相同。null双精度型(D)* 双精度型用于在表中存储精度较高、位数固定的数值。与数值型数据不同,在表中输入双精度数值时,小数点的位置由输入的数值决定。 双精度型数据占8个字节。 数值范围: +/-4.94065645841247E-324 到 +/-8.9884656743115E307null整型(I)* 整数类型用于在表中存储无小数的数值。 整型数据占4个字节,它用二进制存储,在存储4位以上数据时,它比数值型字段占用的空间要少。 数值范围:从-2147483647 到 2147483646null备注型(M)* 用于在表中存储数据块。在表中,备注字段含有一个4字节的引用,指向实际的备注内容,备注数据的真正大小取决于用户实际输入的数据量。 备注型字段的内容存储于一个与表文件同名、扩展名为.FPT的文件中。 备注文件的大小没有限定,只受存储空间的限制。null通用型(G)* 用于存储表中的OLE对象。 通用字段含有一个4字节的引用,指向该字段真正的内容,这些内容可以是:电子表格、字处理文档或用另一个应用程序创建的图片等 通用型字段的真正类型和数据的大小取决于创建这些对象的OLE服务器,以及这些OLE对象是以链接方式还是以嵌入方式与该应用程序相联系。null二、常量与变量 1、名称命名规则 VFP中给变量、数组、表等命名时必须遵守以下规则: ▲名称中只能包括字母(含汉字)、数字和下划线; ▲名称的开头只能是字母或下划线,不能是数字(以下划线开头的变量通常是系统变量,字段名不能以下划线开头); ▲除表的字段名、表的索引标识和内存变量名至多10个字符之外,其余名称不得超过128个字符; ▲避免使用系统保留字。null 文件的命名规则虽然由所使用的操作系统决定,但在实际应用中,文件的命名同样应尽可能地遵守上述的名称命名规则,否则可能会发生在命令中无法引用该文件的情况。 如果在文件名(包括路径)中使用了空格符号,那么在命令中引用该文件名时,需要给文件名加引号。null2、常量 常量在所有操作过程中其值保持不变。 常量根据其数据类型可能分为6种: ◆ 数值型常量 数值型常量用于表示数量的大小。它在内存中占8个字节,在表中占1 ~ 20字节。 ◆ 货币型常量 用于表示货币值。表示货币型常量时,需在数字前加上符号 $ 。货币常量无浮点表示法,它在内存中占8个字节。null◆ 字符型常量 也称为字符串,它是用字符串定界符括起来的一串字符,这些字符可以是一切可以表示的字符。 字符串定界符有三种:单引号、双引号、方括号。 注意: ▲不能用中文标点的引号作为定界符; ▲定界符必须成对且匹配; ▲如果某种定界符本身即为字符串的内容,则需用另一种定界符表示该字符串; ▲不含任何字符的字符串称空字符串,它与包含空格的字符串不同; ▲字符串中的字母,其大小写不等价。null◆ 逻辑型常量 逻辑型常量只有两个值:逻辑真和逻辑假。 逻辑型常量在内存中占1个字节。 逻辑型常量字母前后的点符号是逻辑型常量的定界符,不可省略。null◆ 日期型常量和日期时间型常量 其定界符是一对花括号。花括号内各部分之间用分隔符进行分隔。 VFP支持的日期格式有两种: ▲传统的日期格式({10/01/2009}) ▲严格的日期格式({^2009-10-01}) 请注意严格的日期格式的表示方式。null 传统的日期格式是VFP 5.0及以前版本所使用的默认格式,这种格式的常量要受到SET DATE TO、SET CENTUREY ON/OFF命令设置的影响,其默认形式是美国日期格式。 严格的日期格式是VFP6.0及以上版本所使用默认格式。在VFP6.0中使用传统的日期格式需要用SET STRICTDATE命令进行设置。这种格式不受SET DATE TO、SET CENTUREY ON / OFF命令设置的影响。null格式:SET STRICTDATE TO [ 0 | 1 | 2 ] 功能:用于设置是否对日期格式进行检查。 0表示不进行严格的日期格式检查,目的与早期的VFP兼容。 1表示进行严格的日期格式检查,是系统的默认设置。 2表示进行严格的日期格式检查,但如果函数CTOD( )、DTOC( )出现在代码中,将产生编译错误。 无任何参数,则恢复默认的设置。null3、内存变量 内存变量是由用户定义的内存中的一个(组)存储单元,由变量名进行标识,其值可以由命令或程序操作修改。在使用过程中,该存储单元中存放的数据通过变量名来读写。 变量可以是任意数据类型,并且可以在任何时候改变它的值。 VFP的变量有两种类型: ▲字段变量 即表中的字段,必须依赖于表而存在。 ▲内存变量 不依赖于表而存在的变量。可以在任何时候改变它的值和数据类型。null 字段变量的数据类型可以是VFP数据类型中的任何一种,在建立表的结构时,即定义了字段变量的数据类型,更改其数据类型必须修改表的结构。 浮点型、双精度型、整型、备注型、通用型数据不能用于内存变量。null(1)内存变量的创建 内存变量不需要特别申明,可以使用STORE命令或赋值运算符“ = ” 直接进行赋值。在赋值的同时,也就完成了变量的创建,并且确定了该变量的数据类型以及目前变量的值。 语法: 内存变量名 = 变量值 STORE 表达式 TO 变量名表 例: UNIVERSITY = "南京财经大学" STORE "南京财经大学" TO UNIVERSITY STORE 6*3+2 TO A1null 用STORE命令可以给多个内存变量赋同一个值,各内存变量名之间用逗号间隔。例: STORE 3 TO A1 ,A2 ,A3 而下列企图同时给A1、A2、A3赋于数值3的命令是错误的: A1 = A2 = A3 = 3null(2)控制变量访问 在VFP中使用内存变量(包括数组)时,内存变量的作用范围是有限制的。根据内存变量的作用范围,内存变量可分为: ◆ 局部变量 局部变量是用LOCAL命令定义的变量,它只能在创建它们的程序中使用和修改,不能被更高或更低层的程序访问,在它们所属的程序停止运行时,局部变量(包括数组)将被释放。 注意: LOCAL不能缩写(因为缩写后与命令LOCATE的前四个字母相同)。nullDO BLOCAL X X=15 DO C ? X出错!nullDO BLOCAL X X=15 RETURN ? X出错!null◆ 私有变量 私有变量仅在定义的模块及其下层模块中使用,其上层模块不能使用该变量;当定义它的模块执行完毕后,自动被释放。nullDO BX=15 DO C ? X 15nullDO BX=15 RETURN ? X出错!null 私有变量一般不需要作说明,但当私有变量与上层模块定义的变量同名时,必须用PRIVATE命令说明,以屏蔽上层的同名变量,直到模块结束,才自动恢复上层的同名变量。nullX=4 DO B ? XX=15 RETURNX=4 DO B ? XPRIVATE X X=15 RETURN154null◆ 全局(公共)变量 全局变量是用PUBLIC命令定义的变量,它是在任何模块中都能使用的变量。 ● 在下层模块中定义的变量要在上层模块或所有模块中使用必须用PUBLIC说明为全局变量。nullDO B ? XX=15 RETURN出错!DO B ? XPUBLIC X X=15 RETURN 15null ● 在命令窗口中定义的变量为全局变量,但不能在程序中使用。 ● 程序执行完毕后,定义的全局变量不会自动清除,必须用命令清除。null(3)访问变量 VFP通过变量名访问变量。 当内存变量名与字段变量名同名时,这时字段变量优先,即变量名是指字段变量,如果要访问内存变量,需在变量名前加前辍: M– > 或 M . 。 如: ? m .xm && 显示内存变量xm的值 ? m – > xm && 显示内存变量xm的值 ? xm && 显示字段xm的值null(4)内存变量的保存与恢复 内存变量是系统在内存中设置的临时存储单元,当退出VFP时其数据自动丢失。若要保存内存变量以便以后使用,则要用SAVE TO命令将变量保存到内存变量文件(扩展名为.MEM)中。 语法: SAVE TO 文件名 [ ALL LIKE 变量通配符 | ALL EXCEPT 变量通配符 ] 说明: ALL LIKE子句保存与通配符相匹配的内存变量;ALL EXCEPT子句不保存与通配符相匹配的内存变量;两者均无,则保存当前所有的内存变量(通配符的使用与Windows中相同)。null 要将内存变量文件中所保存的内存变量恢复到内存,则使用RESTORE FROM命令。 语法: RESTORE FROM 文件名 [ ADDITIVE ] 说明: ▲文件名为内存变量文件名; ▲选用ADDITIVE子句,是保留当前已存在的内存变量,将内存变量文件中的内存变量追加到当前内存中(若有变量名相同的变量,则被内存变量文件中变量覆盖),否则当前内存变量被清除。null4、数组 数组是一种特殊的内存变量。它是存储在内存中的有序的数据值系列,其中的数据值被称为元素,并可通过数据序号(下标)被引用。 数组有一维数组和二维数组。 一维数组:A(3) 、Name(10) 二维数组:B(2,3); Student(5,2) 说明: DIMENSION B(2,3)命令是定义了一个2行3列的数组,它包括: B(1,1)、 B(1,2)、 B(1,3) B(2,1)、 B(2,2)、 B(2,3)null(1)数组的声明 数组在使用前,必须先定义(声明)。 语法: DIMENSION / DECLARE 数组名(下标) 例:DIMENSION 成绩(50,4) 上述命令定义的是私有数组,私有数组还可以用DECLARE命令定义;使用PUBLIC和LOCAL命令定义的分别是全局数组 和局部数组 。 数组在定义之后,每个元素被默认地赋于逻辑值 .F. 。null2、为数组元素赋值 VFP允许同一数组的不同元素有不同的数据类型,且同一元素前后的数据类型也允许改变。 数组可以单个赋值,如同内存变量的赋值,也可以所有元素赋于同一值(给数组名赋值)。 如:DIME A(2,3) A(1 , 1)= "张三" &&单个元素赋值 A = 100 &&数组中所有元素赋于同一值如果A(5) = 200 命令执行后,哪个元素的值是200? 答案:A(2,2) 即二维数组也可以用一维数组来表示。nullDIME A(2,3)&& 定义一个数组 A = 100 && 数组中所有元素赋于同一值 A(1 , 1)= 200 && 给数组中元素赋值 A(1 , 2)= 300 ? A && 访问数组名 200 即:对数组名的访问,是对数组中第一个元素的访问。null几个重要结论: ▲数组定义完毕后,其中的每个元素的值均为逻辑假。 ▲以一维数组的形式对二维数组进行访问时,数组的下标 n 表示是对该数组中第n个元素进行访问。 ▲给数组名赋值,即给该数组中所有的元素赋于同一个值。 ▲访问数组名时,即对数组中第一个元素进行访问。null 数组元素与字段之间可以通过下列命令,互相之间交换数据值。 ● SCATTER TO 数组名 将当前记录的数据传送至数组 ● GATHER FROM 数组名 将数组中的数据传送至表中的当前记录 ● COPY TO ARRAY 数组名 将当前选定表中的数据复制到数组 ● APPEND FROM ARRAY 数组名 从相应的数组行中取出数据添加到当前选定表的记录中null5、字段 字段是包含在记录中的数据项,是表的记录中拥有特定数据类型的命名位置。字段可以是VFP允许的任何一种数据类型或字段类型。字段的命名在设计阶段由表设计器设置其数据类型,或者在程序运行时由CREATE TABLE命令来确定。null6、对象 对象是类的实例,类是对于拥有数据和一定行为特征的对象集合的描述。 VFP中,各种控件、表单、表单集等都是应用程序中的对象。 每个对象都有各自的属性和方法,并能响应特定的事件。属性表示了对象的特征。 可以通过对象的事件、属性和方法来处理对象。 对象的创建可以通过CREATEOBJECT( )函数或表单设计器进行。null7、不同数据存储容器作用域对象属性字 段数 组变 量常 量容 器作 用 域私有公共、私有或局部公共、私有或局部永久存储,当保存此记录的表被打开时方可访问通过对象和对象容器层次被引用#DEFINE ERRS="错误"Var = 7Name(1,1)="计算机基础"REPL Ke WITH="计算机"Frm.txt.Value ="计算机"举 例null三、VFP的系统函数 函数是预选编制好的一个程序代码,可供VFP程序在任何地方调用。函数的参数可以是一个或多个(参数间用逗号隔开),其返回值却仅有一个(单值)。 函数可由VFP提供(系统函数),也可由用户根据需要自已定义(用户自定义函数)。null 函数由三部分组成: ▲ 函数名 起标识的作用 ▲ 参数 即自变量,写在圆括号内 ▲ 圆括号 使函数与命令相区别 语法:函数名(参数1,[ 参数2 [,……] ])null VFP提供的函数的种类很多,按功能分可分为五大类。具体的分类,见教材P46。 每一个函数都有其返回值,不同的函数,其返回值的数据类型是各不相同的。在表达式中使用函数时,必须了解函数的返回值的数据类型,以免发生数据类型不一致的错误。 注意: 函数的类型(返回值的数据类型)与函数参数的数据类型不一定是一致的。 学习函数的关键是要记住函数的功能和语法、参数的数据类型和个数以及每个参数的含义、函数的返回值及其数据类型。null需要掌握的常用函数 1、数据类函数 ABS ( ) ALLTRIM ( ) ASC ( ) AT ( ) ATC ( ) BETWEEN ( ) CHR ( ) CTOD ( ) DATE ( ) DAY ( ) DTOC ( ) EMPTY ( ) INT ( ) LEFT ( )nullLEN ( ) LTRIM ( ) MAX ( ) MIN ( ) MOD ( ) MONTH ( ) RIGHT ( ) ROUND ( ) RTRIM ( ) SPACE ( ) STR ( ) SUBSTR ( ) TIME ( ) TRIM ( ) TYPE ( ) VAL ( ) YEAR ( )null2、数据库类函数 BOF ( ) DATETIME ( ) DBGETPROP( ) DBSETPTOP( ) DBUSED ( ) DELETED ( ) EOF ( ) FCOUNT ( ) ORDER ( ) RECCOUNT ( ) RECNO ( ) SEEK ( ) TAG ( ) USED ( )null3、文件管理函数 FEOF ( ) FILE ( ) GETFILE ( ) 4、程序设计文件管理函数 CREATEOBJECT ( ) GETOBJECT ( ) IIF ( ) MESSAGEBOX ( ) 5、数据库环境函数 INKEY ( ) 6、网络操作函数 TABLEREVERT ( ) TABLEUPDATE ( )null1、数值函数 ▲ ABS( )函数 语法:ABS(数学表达式) 功能:返回数学表达式的绝对值。 返回值数据类型:数值型null▲ MAX( )函数 语法: MAX(表达式1,表达式2 [,表达式3……]) 功能:对指定的表达式求值,并返回具有最大值的表达式的值。 返回值数据类型:与表达式数值类型相同 说明:所有表达式必须为同一数据类型。? MAX ( 8 , 12 , 3*4 + 2 , ABS ( -123 ) ) 返回值: 123 ? MAX ( DATE ( ) , {^2020-05-01} ) 返回值: 05/01/2020null▲ MIN( )函数 语法: MIN(表达式1,表达式2 [,表达式3……]) 功能:对指定的表达式求值,并返回具有最小值的表达式的值。 返回值数据类型:与表达式数值类型相同 说明:所有表达式必须为同一数据类型。null▲ INT( )函数 语法:INT(数学表达式) 功能:计算数学表达式的值,并返回其整数部分。 返回值数据类型:数值型? INT(2.5),INT(-2.5) 2 -2注意: 在返回其整数部分时,对小数部分的处理并不遵守四舍五入的规则。null▲ MOD( )函数 语法:MOD(数学表达式1,数学表达式2) 功能:返回表达式1除以表达式2的余数。 返回值数据类型:数值型 说明: ●表达式1的小数位数决定了返回值的小数位数; ●返回值的正负号与表达式2的符号相同。null? MOD(25.34,4) 返回值: 1.34 ? MOD(25,4.34) 返回值: 3 ? MOD(25,4) 返回值: 1 ? MOD(-25,-4) 返回值: -1 ? MOD(-25,4) 返回值: 3 ? MOD(25,-4) 返回值: -3null即: ●余数的小数位数与被除数相同; ●余数的正负号与除数的符号相同; ●如果被除数和除数同号,那么函数值的绝对值即为两数相除的余数; ●如果被除数和除数异号,则函数值的绝对值为除数的绝对值减去余数的绝对值。 null▲ ROUND( )函数 语法:ROUND(数学表达式1,数学表达式2) 功能:对表达式1的值,按指定的小数位数进行。四舍五入处理。 返回值数据类型:数值型 说明:小数的位数由数学表达式2的值决定;如果其值为负数,则表示返回的结果在小数点左端包含指定个零。null? ROUND(25.345,2) 返回值:25.35 ? ROUND(25376,-2) 返回值:25400 ? ROUND(253.65,0) 返回值:254 ? ROUND(523.65,-3 ) 返回值:1000 ? ROUND(253.65,-3 ) 返回值:0 注意教材P49页上的命令:SET DECIMALS TO和SET FIXED ONnull▲ SQRT( )函数 语法:SQRT(数学表达式) 功能:返回数学表达式值的平方根。 返回值数据类型:数值型▲ RAND( )函数 语法:RAND() 功能:返回一个0 ~ 1之间的随机数。 返回值数据类型:数值型思考:如何返回一个10至30之间的随机数? ? RAND( )* 20 + 10null2、字符函数 ▲ ALLTRIM( )函数 语法:ALLTRIM(字符表达式) 功能:删除字符表达式的值前后的空格。 返回值数据类型:字符型 说明:并不删除字符串中间的空格。null▲ TRIM( )函数、RTRIM( )函数 语法:TRIM(字符表达式) RTRIM(字符表达式) 功能:删除字符表达式的值的尾部空格。 返回值数据类型:字符型 说明: 与其功能类似的函数为LTRIM( )函数(删除字符表达式的值的前导空格)。null▲ AT( )函数 语法: AT(字符表达式1,字符表达式2 [,数学表达式]) 功能:返回表达式1在表达2 中出现的位置(从最左边开始计数)。 返回值数据类型:数值型 说明:数学表达式的值指定了表达式1在表达式2中第几次出现,缺省时为1;若表达式1没有在表达式2中出现,则返回0值。? AT( "科学" ,"计算机技术与科学系" ) 返回值:13 ? AT( "技术" ,"计算机技术与信息技术",2 ) 返回值:17null▲ ATC( )函数 语法: ATC(字符表达式1,字符表达式2 [,数学表达式]) 功能:返回表达式1在表达2 中出现的位置(从最左边开始计数)。 返回值数据类型:数值型 说明:ATC( )与AT( )功能基本相同,不同的是:AT( )函数区分字母的大小写,ATC( )函数不区分字母的大小写。? AT( "ab" ,"ABCabc" ) 返回值:4 ? ATC( "ab" ,"ABCabc" ) 返回值:1null▲ LEN( )函数 语法:LEN(字符表达式) 功能:返回字符表达式的值中所含的字符个数。 返回值数据类型:数值型 说明: 返回的字符个数包括表达式中所含的空格数。 注意:一个汉字或一个全角字符占2个字符。? LEN ( "ABCabc" ) 返回值:6 ? LEN ( "南京财经大学" ) 返回值:12null▲ SUBSTR( )函数 语法: SUBSTR(字符表达式,数学表达式1 [,数学表达式2]) 功能:从指定的字符表达式返回一个子字符串。 返回值数据类型:字符型 说明: 数学表达式1用于指定所取的字符串在字符表达式中的开始位置;数学表达式2指定所取的字符个数,缺省时指所取字符串直至字符表达式最后一个字符; 如果数学表达式1的值大于指定字符串长度,则返回一个空字符串; 如果数学表达式2的值大于所能取的字符数目,则指至最后一个字符。null? SUBSTR ("南京财经大学",9) 返回值:"大学" ? SUBSTR ("新编VFP教程",5,3) 返回值:"VFP" ? SUBSTR ("南京财经大学",5 ,10) 返回值:"财经大学"null▲ LEFT( )函数 语法:LEFT(字符表达式,数学表达式) 功能:从指定的字符表达式最左边的一个字符开始,返回指定数目的字符。 返回值数据类型:字符型 说明: 数学表达式的值必须为正,且取其整数值后即为返回的字符的数目;如果数学表达式的值为负,则返回空字符串。 数学表达式的值大于指定字符串的长度,则返回全部字符。? LEFT ("南京财经大学",4) 返回值:"南京"null▲ RIGHT( )函数 语法: RIGHT(字符表达式,数学表达式) 功能:从指定的字符表达式最右边的一个字符开始,返回指定数目的字符。 返回值数据类型:字符型 说明: 与LEFT( )函数类似,数学表达式的值大于指定字符串的长度,则返回全部字符。? RIGHT ("南京财经大学",4) 返回值:"大学"null▲ SPACE( )函数 语法: SPACE(数学表达式) 功能:返回由指定数目的空格构成的字符串。 返回值数据类型:字符型 说明: 数学表达式用于指定的空格个数。? LEN ( SPACE ( 4 ) ) 返回值:4null3、日期/时间函数 ▲ DATE( )函数 语法:DATE() 功能:返回当前的系统日期。 返回值数据类型:日期型 说明: 返回的日期格式由VFP命令SET CENTURY、SET DATE TO、SET MARK TO设置。 ▲ DATETIME( )函数 语法:DATETIME() 功能:返回当前的系统日期和时间。 返回值数据类型:日期时间型null▲ TIME( )函数 语法:TIME() 功能:以24小时、8位字符串格式返回当前的系统时间。 返回值数据类型:字符型 说明: 返回的时间格式是hh : mm : ss,其实际的最大精度值是1/18秒。null▲ DOW( )函数 语法: DOW (日期表达式 | 日期时间表达式 [ , 星期开始日 ] ) 功能:从日期表达式或日期时间表达式中,返回该日期是一周的第几天(系统默认第一天为星期日)。 返回值数据类型:数值型▲ DAY( )函数 语法:DAY(日期表达式 | 日期时间表达式) 功能:返回指定日期是该月的第几天。 返回值数据类型:数值型null▲ MONTH( )函数 语法:MONTH(日期表达式 | 日期时间表达式) 功能:返回指定日期的月份值。 返回值数据类型:数值型 ▲ YEAR( )函数 语法:YEAR(日期表达式 | 日期时间表达式) 功能:返回指定日期的年份。 返回值数据类型:数值型 说明:YEAR( )函数总是返回带世纪数的年份,CENTURY的设置(ON/OFF),并不影响此函数的返回值。null4、数据类型转换函数 ▲ ASC( )函数 语法:ASC(字符表达式) 功能:返回字符表达式中,第1个字符的ASCII值。 返回值数据类型:数值型 说明: ●返回的是十进制数; ●字符表达式值的第1个字符可以是空格; ●若字符表达式的值是一个空字符串,则返回值为0。null▲ CHR( )函数 语法:CHR(数学表达式) 功能:返回以数学表达式的值为ASCII的字符。 返回值数据类型:字符型 说明: 数学表达式的值必须在0 ~ 255之间。在实际应用中,CHR( )函数可向打印机发送控制代码。null▲ VAL( )函数 语法:VAL(字符表达式) 功能:返回由数字组成的字符表达式的数值。 返回值数据类型:数值型 说明: ●VAL( )函数在数据转换时,从左到右依次返回字符表达式中的数字,直至遇到非数字型字符(包括空格)时止,转换时忽略字符表达式的前导空格; ●若字符表达式的第1个字符不是数字、正号、负号,则返回值为0。nullSET FIXED ON ? VAL(" 234.56") 返回值:234.56 ? VAL(" ABC ") 返回值:0.00 注:默认的小数位数为2位。 ? VAL(" -24.5ABC") 返回值:-24.50 ? VAL(" 7.56e4") 返回值:75600.00 ? VAL(" -7.56E-4") 返回值:0.00 思考:为什么?null▲ DTOC( )函数、TTOC( )函数 语法: DTOC(日期表达式 |日期时间表达式 [,1]) TTOC (日期时间表达式 [,1 | 2]) 功能:将日期表达式的值转换为字符型数据。 返回值数据类型:字符型 说明: 参数“ 1 ”用于指定以年月日顺序且无分隔符的形式返回字符型日期(时间以24小时制显示); 参数“ 2 ”用于指定仅返回含时间部分的字符型时间(显示格式由默认设置确定)。null▲ CTOD( )函数、CTOT( )函数 语法: CTOD(字符表达式 ) CTOT (字符表达式) 功能:将字符表达式的值转换为日期型和日期时间型数据。 返回值数据类型:日期型、日期时间型 说明: 字符表达式的求值结果必须在VFP所支持的日期或时间范围之内,且格式与日期或时间格式相吻合,否则返回空日期。null▲ STR( )函数 语法: STR(数学表达式 [,长度 [,小数位数 ] ]) 功能:将数学表达式的值转换为对应的字符型数据。 返回值数据类型:字符型null说明: ▲长度应该为: 整数部分长度+小数部分长度+1(小数点); ? STR(123.456,6,2) 返回值:"123.46" ▲如果不指定长度和小数位数时,取默认长度10个字节且仅取整数; ? STR(1234567890.987) 返回值:"1234567891"null▲仅指定长度,没有指定小数位数时,仅取整数;若长度大于整数位数,则加前导空格; ? STR(123.456,6) 返回值:" □□□123"null▲指定了长度和小数位数,但长度小于实际的数据位数,首先保证整数部分的输出,若长度小于整数部分,则返回“ * ”号。 ? STR(123.456,5,2) 返回值:"123.5" ? STR(123.456,3,2) 返回值:"123" ? STR(123.456,2,2) 返回值:"**" 注意:转换时遵守四舍五入的原则。null字符型数值型VAL( )STR( )数据类型相互转换关系ASCII码对应字符CHR( )ASC( )null字符型日期型日期时间型CTOD( )DTOC( )DTOT( )TTOD( )TTOC( )CTOT( )数据类型相互转换关系null5、其它常用函数 ▲ BETWEEN( )函数 语法:BETWEEN(测试值,下界,上界) 功能:判断一个表达式的值是否在另外两个相同数据类型的表达式的值之间,返回值为.T. 、.F.或 NULL。 返回值数据类型:逻辑型 说明: 如果测试值在指定的下界和上界之间,则函数返回为.T. ,否则返回为.F. 。请注意教材P55的叙述: 如果下界或上界值为NULL,则返回NULL值?null? BETWEEN(3 , 12 , NULL) 返回值:.F. ? BETWEEN(3 , NULL , 2) 返回值:.F. ? BETWEEN(3 , 1 , NULL) 返回值:.NULL.null▲ INKEY( )函数 语法:INKEY([数学表达式]) 功能:返回一个键码值,该键码值对应于键盘缓冲区中第一个按键操作。 返回值数据类型:数值型 说明: 数学表达式的值指定INKEY( )函数对键击的等待时间(以秒为单位);如果无此参数,函数立即检查键盘缓冲区中是否有按键并返回此按键的值,如果没有则返回0值;参数为0,函数一直等待,直到有键击为止。如果超过指定的秒数,仍没有按键,则本函数返回0值。null下表列出了按键时INKEY( )函数返回值。null▲ TYPE( )函数 语法:TYPE(表达式) 功能:返回表达式的值的数据类型。 返回值数据类型:字符型 说明: 表达式必须加用引号 C 字符型 N 数值型 L 逻辑型 D 日期型 U 不确定的类型null? TYPE ( " ( 12 * 3 ) + 4 " ) 返回值:N ? TYPE ( " DATE ( ) " ) 返回值:D ? TYPE ( " AA " ) 返回值:U AA = " 10/01/1949 " ? TYPE ( " AA " ) 返回值:C ? TYPE ( AA ) 返回值:Nnull▲ IIF( )函数 语法:IIF(逻辑表达式,表达式1,表达式2) 功能:根据表达式的值,返回两个值中的一个。 返回值数据类型: 说明: 当逻辑表达式的值为真时,返回表达式1的值,否则返回表达式2的值。 ? IIF (成绩>=60,"合格","不合格")null▲ DISKSPACE( )函数 语法:DISKSPACE() 功能:返回默认磁盘驱动器上可用的字节数。 返回值数据类型:数值型 说明: 此函数可用于确定是否有足够的可用空间来备份文件。如果返回值为-1,则表示默认磁盘驱动器中没有磁盘。null▲ FILE( )函数 语法:FILE(文件名) 功能:用于测试指定文件是否存在。 返回值数据类型:逻辑型 说明: ●文件名中应包括文件的盘符、路径和文件的扩展名,且加用引号; ●若指
本文档为【第2章VFP数据库管理系统概述】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_676837
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:其他高等教育
上传时间:2011-03-19
浏览量:44