VFP全套教程2
VFP_2
出
2.3.2 打开与关闭数据库
(2) 使用菜单打开数据库 选择“常用”工具栏上的“打开”按钮或“文 件” → “打开”命令,可以使用打开文件的一般 方法打开数据库。
HEP
高等教育出版社
返 回
上 页
下 页
退 出
2.3.2 打开与关闭数据库
(3) 使用命令打开数据库 命令基本格式 OPEN DATABASE <数据库名> 命令功能:打开指定的数据库。 参数说明:“数据库名”指定要打开的数据库 文件名,其中可以包含路径。
HEP
高等教育出版社
返 回
上 页
下 页
退 出
2.2.2 使用命令创建表
选择“FIELDS 字段列表”,只把“字段列 表”指定的数据复制到新表。缺省该选项,则把 所有字段的数据复制到新表。其中,“字段列表” 中每两个字段之间用逗号分隔。 选择“FOR 条件”,只复制满足条件的记录; 缺省该选项,则复制所有记录。其中,“条件” 是一个逻辑表达式。
选择“FIELDS 字段列表”,只把“字段列表” 指定的字段复制到新表。缺省该选项,则把所有 字段复制到新表。其中,“字段列表”中每两个 字段之间用逗号分隔。
HEP
高等教育出版社
返 回
上 页
下 页
退 出
案例2. 3—创建学籍管理数据库
Visual FoxPro使用数据库文件管理表和表与 表之间的关系。
“字段名”、“类型”、“宽度”、“小数位数” 分别指定字段名、字段类型、字段宽度和小数位数。 其中,“类型”使用字段类型的代码。
HEP
高等教育出版社
返 回
上 页
下 页
退 出
2.2.2 使用命令创建表
VFP第2章 表的操作
第2章表的操作表是VFP基本内容。
数据库的管理最终是对表的管理。
表是对数据进行有效的加工、管理,使数据更能显示出它的价值,由于表可以独立于程序,因而表使得数据得以共享,同时使数据得到充分的利用。
VFP中的表可分为自由表、数据库表两种。
本章讲的表是针对自由表而言的,数据库表将在后续章节中介绍。
本章主要介绍表的建立、表的基本操作。
2.1 表的建立在VFP中表的建立方式有多种。
本节中只介绍可视化的界面建立表和用命令建立表两种方式,其他几种方式将在后续章节中逐步介绍。
建立表的过程一般可分为三步。
第一步要确立表的结构,第二步用界面或用命令开始建表,以上步骤实际上就是对表结构的定义。
第三步输入表的内容。
表2.1所示是学生自然情况表。
生自然情况表介绍表的建立及相关知识。
2.1.1 确定表的结构一个二维表是由它的列项与行项组成,从1.2.2节中已经掌握了表的列项称为字段,表中内容一行称为一个记录。
学段也是一种变量,它的命名规则已在前面介绍了。
字段变量类型可为表1.1数据类型中的所有数据类型。
由表2.1来确定学生自然情况表的结构:学号C(9)、姓名C(6)、性别C(2)、出生D、团否L、入学成绩N(3)、近照G及备注M。
2.2.2 建表、修改、显示一个表的建立应确定表建立在磁盘中的位置,这样,在建立表后,需要打开表时,按表在磁盘中的位置找到表将表打开。
为了叙述的方便本书规定用“―〉”表示进行下一步操作。
在X盘上已经建立一个Y文件夹,X盘表示任意盘,Y文件夹表示任意名的文件夹。
例如在D盘建立一个名为学生的文件夹,也可由用户自定义文件夹的名。
建文件夹可通过win的我的电脑或资源管理器等建立。
如果用户不给出路径,VFP可以建立默认路径,当打开VFP时它自动在默认路径上。
下面给出默认路径的方法:单击工具菜单->[选项],打开选项对话框,如图2.1所示。
->[文件位置]选项卡->选[默认目录]->[修改]按钮,打开[更改文件位置]对话框->使用[默认目录]复选框->在定位默认目录文本框中输入路径。
Visual FoxPro 实用教程(第2版)(十一五国家规划)第07章 VFP的类
第7章 类的创建和使用
7.4 编程创建类和表单
说明: 说明: 以上程序中用到的DEFINE CLASS语句来创建一个用户定义的类或子类, 且指定类和子类的属性,事件和方法. 格式: 格式 DEFINE CLASS类名1 AS 基类名 [[Protected 属性名表] 属性名=表达式 ......] [ADD OBJECT [Protected] 对象名 AS 类名2 [NOINIT] [WITH属性名=表达式, ...]... [[Protected] FUNCTION | PROCEDURE 对象引用.事件名 语句序列 [ENDFUNC | ENDPROC] ...] ENDDEFINE
第7章 类的创建和使用
7.2 用类设计器交互创建类
(3) 编写事件代码
* My_RecordMove的Click事件代码 sel=THIS.Value DO CASE CASE sel=1 GO TOP CASE sel=2 IF !BOF() SKIP -1 ENDIF CASE sel=3 (4) 关闭类设计器,系统询问 IF !EOF() 是否将My_RecordMove类保 SKIP 存到 ENDIF CASE sel=4 RY_Class.VCX库中, 回 GO BOTTOM 答是即可完成新类的创建 ENDCASE
第7章 类的创建和使用
7.3 新定义类的使用
2.覆盖默认属性设置 . 基于新创建的类的对象添加到表单后用户可 以修改对象中未保护的属性,这时在类设计 器中修改此属性时,对象中的属性不受影响; 如没有在表单中修改属性值,则 受其影响. 3.调用父类方法程序代码 . 用户可以用函数DODEFAULT()或作用域操 作符(::)来调用父类中的程序代码
第7章 类的创建和使用
vfp教程02(第二章)
第二章 Visual FoxPro 应用基础2.1 数据库和表的建立一、几个常用符号的约定:1、< > 必选参数表示符2、[ ] 任选参数表示符3、/ 二选一表示符二、改变默认盘和当前路径命令:命令格式:SET DEFAULT TO [<字符表达式>]三、命令注释:命令格式:&&<注释内容>四、数据库操作命令1、创建数据库命令:命令格式:CREATE DA TABASE [<库文件名>/?]命令功能:在VFP所指定的当前路径下创建一个数据库并打开它2、打开数据库命令:命令格式:OPEN DA TABASE [<库文件名>/?]3、关闭数据库命令:命令格式:CLOSE DATABASE命令功能:关闭当前打开的数据库,同时也关闭了这个数据库中已经打开的各种文件。
4、删除数据库命令:命令格式:CLOSE DATABASE <库文件名>命令功能:从磁盘中删除指定的数据库以及这个数据库所包含的所有文件。
五、创建数据库表:命令格式:CREATE [<表文件名>/?]命令功能:在当前打开的数据库中定义一个表文件结构,并把该文件存入磁盘。
六、打开表文件命令:命令格式:USE <表文件名>命令功能:打开指定的表文件,同时关闭原来已打开的表文件。
如果该表文件有备注型字段,则同时打开其相应的备注文件。
七、记录指针及其操作命令:1、指针绝对移动命令:命令格式:GO[TO] [RECORD] <数值表达式>/TOP/BOTTOM2、指针相对移动命令:命令格式:SKIP [±<数值表达式>]八、追加记录操作命令:命令格式:APPEND [BLANK]命令功能:在表文件的末尾追加新的记录九、插入记录操作命令:命令格式:INSERT [BLANK] [BEFORE]十、从其它表中追加记录命令:命令格式:APPEND FORM <表文件名>/? [FIELDS<字段名清单>] [FOR<条件>]命令功能:自动从一指定源文件中读出一些记录,并追加到当前文件(即目的文件)中去。
VFP基础教程第二章VFP语言基础-电脑资料
VFP基础教程第二章VFP语言基础-电脑资料2.1 程序设计概述1. 程序设计方法简介设计方法主要概念设计过程程序执行方式结构化程序设计功能模块(即过程、自定义函数)编制各个功能模块,再用主程序将它们串起来将应用程序分解成若干功能模块,通过各模块的相互调用来完成整个执行过程,是过程驱动的,。
面向对象程序设计类、对象、属性、事件、方法设计类、子类、对象(设计外观、设置属性、为事件编写方法程序)将应用程序分解成具有特定属性的对象,通过调用各对象的不同方法来完成相关事件,是事件驱动的。
2.数据类型VFP 包含下列数据类型:通用的数据类型字符型Character货币型Currency日期型Date日期时间型DateTime逻辑型Logical数值型Numeric仅用于字段的数据类型双精度型Double浮点型Float整型Integer通用型General备注型Memo3. 数据容器VFP中用来存储数据的容器有:常量、变量、数组、记录和对象。
(1)常量(constants):一个在操作过程中保持不变的数值或字符串。
常用的常量类型常量类型数值型常量字符型常量逻辑型常量日期型常量表示方式-25.36"abc","123","中国".T. .F.{^2005/07/10}(2)变量(variables):是内存中的一个存储单元的位置,其中的内容可以变化,但标识该存储位置的名称(即变量名)不变。
变量的命名习惯:类型变量代号如:cStud 、nCj 、dCsrq ——分别代表一个字符型、数值型、日期型的变量名变量的赋值方式:1)用STORE 命令如:STORE "王兰" TO cStud2)用赋值操作符 = 如:cStud = "王兰"变量的作用域: 即变量起使用的有效范围,电脑资料《VFP基础教程第二章 VFP语言基础》(https://www.)。
《VisualFoxPro9.0项目开发案例教程》第02章
报表生成
1
报表设计器
VisualFoxPro9.0提供了强大的报表设
查询与过滤
2
计器,支持多种样式和布局类型、不 同的数据源和多个页类型等。
报表生成的核心在于数据的准确性,
用户可以基于SQL语句进行数据筛选
和排序,进而生成相应的报表。
Байду номын сангаас
3
导出与打印
报表生成后,用户可以选择将其导出 为不同的格式,如Word、Excel和 PDF等。也可以直接打印到打印机或 PDF文件中。
语法基础
1
变量类型
VisualFoxPro9.0支持不同的变量类
运算符
2
型,包括字符型、数值型、日期型和 逻辑型等。每种类型对应的取值范围
VisualFoxPro9.0提供了丰富的运算
和运算规则都不同。
符支持,例如算数运算符、关系运算
符、逻辑运算符和位运算符等。还可
以通过自定义函数扩展运算。
3
控制语句
常见问题解答
常见错误解决
VisualFoxPro9.0常见错误解决是解决常见的维 护问题,解决后将为您的工作效率提升一个层 次。
速度优化
VisualFoxPro9.0运行速度对于处理大数据的应 用有很大的影响,快速运行速度可以节约大量 的时间,提高开发效率。
实际案例
企业员工管理系统
该系统基于VisualFoxPro9.0教程,结合企业管理流程需要进行开发,收到了广泛应用。
未来发展前景
VisualFoxPro9.0以面向对象和精细化的开发思 路,赢得了越来越多的用户的青睐和认可。在 未来,随着应用范围的不断扩大, VisualFoxPro9.0也会越来越受到关注和创新。
VFP课件 (2)精选全文
9.1.1 建立表单
➢ 启动表单向导有以下四种途径: ✓ 打开“项目管理器”,选择“文档”选项卡,从中选择
“表单”。然后单击“新建”按钮。在弹出的“新建表单” 对话框中单击“表单向导”按钮。 ✓ 在系统菜单中选择【文件】|【新建】命令,或者单击工具 栏上的“新建”按钮,打开“新建”对话框,在文件类型 栏中选择“表单”。然后单击“向导”按钮 ✓ 在系统菜单中选择【工具】|【向导】|【表单】命令。 ✓ 直接单击常用工具栏上的“表单向导”图标按钮。
9.1.2 运行表单
✓ [linked]:若包含linked,表单对象将随指向它的变量的清除而 关闭(释放);否则,即使变量已经清除,表单对象依然存在.但 不管有没有linked,指向表单对象的变量并不会随表单的关 闭而清除,此时,该变量的取值为.null.
✓ [NOSHOW]:如果包含NOSHOW关键字,表单运行时将 不显示,直到将表单的Visible属性被设置为.T.,或者调用 表单的Show方法。
9.2.3 数据环境
➢ 数据环境指表单或表单集使用的数据源,包括表、视图、 以及表之间的关系。数据环境中表或视图会随着表单的打 开或运行而自动打开,随着表单的关闭或释放而关闭。设 置数据环境后,设置表单中各控件的controlsource属性,使 控件与字段相关。
9.2.3 数据环境
1、数据环境的常用属性 ➢ 数据环境是一个对象,有自己的属性、方法和事件。常用
9.2.2 控件操作与布局
2、控件布局 要快速整齐的排列表单中的控件,选种控件后,选择【格
式】菜单中相应命令或利用“布局”工具栏来实现 3、设置Tab键次序 ✓ 当表单运行时,用户可以按Tab键选择表单中的控件,使
光标在控件间移动。 ✓ 控件的Tab键次序决定了选择控件的次序。表单控件的默
VF第2章表的基本操作
Visual FoxPro第2章表的基本操作2.1表的建立与修改quit/ alt和F4--命令方式关闭VF建立表结构命令操作窗口:窗口-隐藏,ctrl+F2窗口再次出现。
用户文件默认目录:工具-选项-文件位置-默认目录-修改-更改文件夹位置。
set default to<目录名>--设置默认目录命令格式。
字段属性:1字段名:以字母汉字开头,长度不超过10的字母,汉字,数字,下划线组成。
2类型与宽度:3小数位数:当字段类型为数值型和浮点型时,应为其设置小数位数。
输入表数据建立表结构:create [<表文件名>/?] 功能:在当前目录中建立一个新表文件.文件指建立以.dbf为扩展名的vfp数据库文件显示表结构:display/list structure [in <工作区号>/<别名>][……]功能:显示当前表或指定工作区已打开表的结构。
在当前工作区打开指定文件:USE <表文件名> 关闭当前工作区中打开的表:use关闭所有工作区中打开的自由表:close tables清除所有内存变量,同时关闭所有工作区中打开的表:clear all关闭所有已打开的文件,包括表文件:close all修改表结构确定:ctrl+w用表设计器修改当前表结构:modify structure修改表数据浏览:browse 修改:change 编辑:edit 彻底删除:pack追加新纪录:append(在表末追加一个新纪录)。
追加记录:append from(追加一批记录)。
通用型字段插入商标:modify general 商标2.2表达式与函数常量与变量常量⑴数值型常量整数小数或用科学计数法表示的数⑵符型常量单引号‘’双引号“”方括号[]如果字符串中有定界符则必须用另一个定界符括起来。
”I’m s student.”⑶逻辑型常量逻辑真用.T.、.t.、.Y.、.y.表示;逻辑假用.F.、.f.、.N.、.n.表示。
第2章 VFP表的基本操作
GO BOTTOM
?RECNO() ?EOF() GO 3 ?RECNO() GO TOP ?RECNO()
&& 定位到末记录
&& 定位到首记录
2.6.2相对定位
【命令格式】SKIP[+/-] [<数值表达式>]
【功能】从当前记录开始向前或向后移动记录指针。 【说明】 SKIP 向表尾方向移动1个记录。 向表尾方向移动n个记录。 向表头方向移动n个记录。
关系名 字段名
照 片 略 略 略 略 略 略 略
简历 略 略 略 略 略 略 略
1343.56 1050.20 890.00 678.00 1040.40 860.00 880.00
记录(行)
值
属性(列)
1.表结构的分析
注:①同一列数据必须使用相同的数据表示方法,也就是数据类型。 ②要给字段值预留足够的存储空间,也就是定义字段的宽度(1个汉字占用 2个字节)。 ③字段的名称、类型、宽度等构成表的框架,及结构。 ④表的建立分两步,第一步定义表结构,第二步输入数据。定义表结构 就是定义各个字段的属性,包括字段的个数以及每个字段的名称、类型、宽 度等。 ⑤宽度和小数位:字段的宽度规定了字段值可以容纳的最大字节数。数 值型字段除需要定义字段的总宽度外,还需要定义小数位。
USE teacher
LIST STRUCTURE
2.4 目录操作
2.5文件的复制和删除 2.5.1表文件的复制
【命令格式】COPY TO <新表名>[<范围>][FIELDS<字段名 表>][FOR<条件>] 【功能】将当前表的结构和记录全部或部分复制到新表中。 【说明】 若没有任何子句,则将复制一个与当前表结构和内容 完全相同的新表。新表的结构由FIELDS子句的<字段名表> 决定,新表的记录个数由FOR子句的<条件>决定。
全国计算机等级考试二级教程(VFP6.0)
③数据库管理系统
数据库管理系统(DBMS)是对数据库的建 立、使用和维护进行专门管理的软件系统。
硬件 系统
操作 系统 数据库管 理系统 数据库应 用系统 数据库管理员 最 终 用 户
④数据库系统
开发人员
数据库系统是指引进数据库技术后的 计算机系统。它由五部分组成,各层次间 的关系如右图所示:
3/17
1.3.2数据库设计过程
②多对多联系。创建含有两 (2)确定需要的表 个表的主关键字的“纽带表”, 改多对多联系为两个一对多联系。 是数据库设计中技巧性最强的 参见图书读者关系 一步,因为用户的需求往往不能直 ③一对一联系。考虑合并。
接成为设计数据库的线索,还需要 (5)设计求精 认真分析、抽象、挖出本质特性, 根据用户意见反复修改和调整 才能确定需要的表。
4/17
1.1.3 数据模型
1.实体的描述 ①实体 客观存在并且可以相互区别的事物称为实体。可以是实际事物,如 职工、图书或抽象事件,如退休、借书等。 ②实体的属性 描述实体的特性称为属性。例如职工属性可有:职工号、姓名、性 别、出生年月等。图书属性可有:总编号、分类号、书名、作者、单价、 出版社等。借书属性可有:图书编号、借阅人、借阅时间、归还时间等。 ③实体型和实体集 一个实体可用属性值的集合表示,而属性的集合则表示一种实体的 类型,简称实体型。同类型实体的集合,称为实体集。 例如:(姓名,性别,职称,执教科目)表示教师类型;(华罗庚, 男,教授,数学)表示一个教师;多个教师的集合就是教师实体集。 ④实体集的表示 在VFP中,用“表”来存放实体集,用“字段”表示实体的属性。 字段值的集合组成表的一条记录,代表一个实体。所有记录就是实体集。
数据库技术与网络技术相结合,以结合的紧松,可分为物理 80年代初- 上分布、逻辑上集中和物理上分布、逻辑上分布的结构两种。 独立性、共享性、一致性、完整性均很高,冗余度可控。 数据库技术与面向对象程序设计相结合的产物,是面向对象 80年代初- 方法在数据库领域中的实现和应用。不但支持标准的过程化 程序设计,而且提供了面向对象程序设计的强大功能
2第二讲 Visual FoxPro 操作入门55页
文件命名方法
文件名由主文件名和扩展名两部分组成。 扩展名由圆点符“.”加3个字母组成,扩 展名表示文件类型。
• (1)主文件名最长由10个字符组成,可以包
括字母字符、数字字符、下划线和汉字字符, 但不能使用 “*” 、“?”、“/” 等字符。
Saturday, January 04, 2020
2.Visual FoxPro 6.0的退出
(1)在Visual FoxPro 6.0主窗口的标题 栏中单击FoxPro控制菜单图标(小狐狸), 弹出控制菜单,单击最后一项“关闭”。
(2)在Visual FoxPro 6.0主窗口中,单 击右上角的“关闭”按钮(×),或用快捷键 Alt+F4。
• (2)文件名中可以大、小写字母混合使用。 • (3)数据库中的表和字段名均支持长文件名,
安装后自定系统
打开Windows控制面板添加/删除程序
Saturday, January 04, 2020
2.1.3 VFP的启动与退出
1.启动Visual FoxPro 6.0系统 方法1:单击“开始”菜单,选下拉菜单中的
“程序”项,在级联菜单中找到 “Microsoft Visual Studio ”,单击组内 的“Microsoft Visual FoxPro ”菜单项。 方法2:运行Visual FoxPro安装目录下的 VFP6.EXE文件。 方法3:双击 Visual FoxPro 图标(快捷方 式)。
安装程序
Saturday, January 04, 2020
ID确认
Saturday, January 04, 2020
初始化安装程序
VFP基础教程第二章VFP语言基础2
2.2 VFP 6.0的语⾔成分1. 命令即:由⽤户发出的、指⽰VFP进⾏某种操作的指令。
如 USE aaa & 打开⼀个名为 aaa.dbf的数据表2. 函数即:⼀个预先编制好的模块,可由VFP程序在任何地⽅调⽤。
函数的使⽤⽅法:名称、功能、参数、返回值⼏个常⽤函数名称命令格式⽰例字符串截取函数 SUBSTR( expC,expN1[,expN2 ]) ? SUBSTR(“ABCDEFG”,2,4)结果是: BCDELEFT( expC,expN ) ? LEFT(“ABCDEFG”,2) 结果是: ABRIGHT( expC,expN ) ? RIGHTT(“ABCDEFG”,4)结果是: DEFG字符串查找函数 AT ( expC1 , expC2 [ expN ]) ? AT(“B”, “ABCDE”) 结果是: 2AT(“A”, “ABCDEASD” )结果是: 1AT(“A”,“ABCDEASD”,2 )结果是: 6⼤⼩写字母转换函数LOWER( expC ) ? LOWER(“DFGHa”) 结果是: dfghaUPPER( expC ) ? UPPER(“asdf”) 结果是: ASDF数值函数 MAX(exp1,exp1[,exp3,…]) ? MAX(15,23,4,56) 结果是: 56MIN(exp1,exp1[,exp3,…]) ? MIN(15,23,4,56) 结果是: 4ABS( expN ) ? ABS(-15.83) 结果是: 15.83INT( expN ) ? INT(25.62) 结果是: 25压缩空格函数 ALLTRIM( expC ) ? ALLTRIM(" AD B G ")结果是: AD B G类型转换函数 STR( expN1[,expN2][,expN3]) ? STR(789.678,6,2) 结果是: 789.68 CTOD( expC ) ? CTOD(“98/10/15”)结果是: 98/10/15VAL( expC ) ? VAL("123.45") 结果是: 123.45DTOC( expD ) ? DTOC({98/12/15})结果是: 98/12/15⽇期时间函数 DATE() ? DATE() 结果是: 2000/03/15DATETIME() ? DATETIME()结果是: 2000/03/15 10:15:30YEAR( expD ) ? YEAR({87/03/25}) 结果是: 1987数据库函数 RECNO( ) DBC( ) SEEK( ) 其它函数LEN( ) DELETED()EOF( ) BOF( ) FOUND( ) EMPTY(exp) INLIST(,,) RECCOUNT( ) SELECT( ) BETWEEN(,,) IIF(,,) TABLEREVERT( ) LOCK( ) CHR() ASC()TABLEUPDATE( ) FSIZE( ) TAG() INKEY()。
vfp教程 第二章 表的创建和使用
第二章表的创建和使用2.1 VFP6.0表1. 表的概念表(数据表):是指存放在磁盘文件中的一张二维表。
(相当FoxPro 2.x 版本中的数据库)自由表:不属于任何数据库的表。
数据库表:包含在一个数据库中的表。
表文件名:表名可以由字母、数字或下划线组成,系统自动给出的扩展名为 .DBF。
备注文件名:当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名为:.FPT的文件名。
表结构:存储表记录的公共结构。
(就是指一张表的表头结构,即字段的属性)。
记录:表中的一行。
它是多个字段的集合,同一张表的每个记录都有相同的字段。
字段:表中的一列。
它规定了数据的特征。
关系型数据表的特点:(1)每一个字段不可再分解,也不能有名字相同的字段;(2)每一列中的数据都有相同的数据类型;(3)表中没有内容完全相同的行(记录)。
2. 字段的基本属性字段的属性:包括:字段名、数据类型、字段宽度、小数位数、空值支持字段名:即每个字段的名字,必须以字母开头,可由字母、数字、下划线组合而成,字母大、小写无区别,但其中不许有空格或其它字符。
自由表的字段名最多由10个字符组成,数据库表的字段名支持长名,最多可达128个字符。
如果从数据库中移去一个表,那么此表的长字段名将被截短成 10 个字符。
VFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。
数据类型:指该字段的数据特征。
字段宽度:指该字段所能容纳数据的的最大字节数。
小数位数:指数值型数据将保留几位小数。
此时的字段宽度 = 整数位数+1+小数位数。
NULL 值(空值):无明确的值。
NULL 值不等同于零或空格。
一个 NULL 值不能认为比某个值(包括另一个 NULL 值)大或小,相等或不同。
表的创建:设计表名和表结构、输入记录、建立索引数据维护:增加记录、修改记录、删除记录创建表的主要步骤:设计表结构→输入记录→建立索引→数据维护(1)必须先打开所需的数据表才可进行以上操作;(2)当带有命令子句时,只对指定的记录进行操作;(3)LIST 命令的默认范围是所有记录,DISPLAY 命令的默认范围是当前记录。
VFP2
第 二 章 表 的 基 本 操 作
clear all、close all、close database[all]、close 、 、 、 tables[all]。他们还有的一些区别请见书 页。 。他们还有的一些区别请见书37页 (2) 通过窗口菜单的数据工作期命令来关闭表。 通过窗口菜单的数据工作期命令来关闭表。 (3) 通过退出 通过退出VFP来关闭。可以用界面操作方式或 来关闭。 来关闭 命令执行方式( 命令执行方式(quit)关闭。 )关闭。 2.1.3 表结构的修改 一、打开表设计器来修改表结构 可用界面操作方式,也可用命令执行方式, 可用界面操作方式,也可用命令执行方式,命令 格式为: 格式为:modify structure。 。 二、 利用表向导来修改表结构 2.1.4 表数据的修改 一、 两种记录显示方式
7
第 二 章 表 的 基 本 操 作
(1) <文件名 表示被打开的表的名字;缺省该项表 文件名>表示被打开的表的名字 文件名 表示被打开的表的名字; 示关闭当前工作区。 示关闭当前工作区。 (2) 打开一个表时,该工作区中原来打开的表自动 打开一个表时, 关闭。 关闭。 (3) 已打开的表总有一个记录指针,指针所指的记 已打开的表总有一个记录指针, 录称为当前记录。表刚打开时, 录称为当前记录。表刚打开时,记录指针指向第一 个记录。 个记录。 2. 打开表的其它常用方法 (1) 通过文件菜单的打开命令来打开表 (2) 通过窗口菜单的数据工作期命令来打开表。 通过窗口菜单的数据工作期命令来打开表。 3. 关闭表的其它方法 (1) 可用以下命令之一来关闭表
12
第 二 章 表 的 基 本 操 作
可为正负号、数字与小数点所组成的数, 可为正负号、数字与小数点所组成的数,可以是 用科学记数法所表示的数。 用科学记数法所表示的数。 例:18,-2.34,0.12E5 , , 二、字符型常量 是用单引号、 是用单引号、 双引号或方扩号等定界符括起来的 字符序列(又称字符串)。 字符序列(又称字符串) 车床’ ,[It’s] 例:‘车床’,“012“,[I ] ,[I 三、日期型和日期时间型常量 日期型常量必须用花括号括起来。 日期型常量必须用花括号括起来。 例:{06/30/1999},空白的日期可表示为:{}或{/}。 ,空白的日期可表示为: 或 。 日期时间型常量的写法为: 日期时间型常量的写法为:{06/30/1999 8:45},空 ,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)命令方式 索引表达式> 单索引文件> INDEX ON <索引表达式> TO <单索引文件> 标识名> 复合索引文件名] |TAG <标识名> [OF 复合索引文件名] [FOR<条件>][ASCENDING|DESCENDING] [FOR<条件>][ASCENDING|DESCENDING] [ADDITIVE] 条件 【功能】对当前表文件按指定的关键字建立索引文件。 功能】对当前表文件按指定的关键字建立索引文件。 说明】 索引表达式> 【说明】<索引表达式>:指定建立索引文件的关键字表 达式,可以是单一字段名, 达式,可以是单一字段名,也可以是多个字段组成的 表达式,表达式中各字段的类型只能是数值型、 表达式,表达式中各字段的类型只能是数值型、字符 型和日期型和逻辑型, 型和日期型和逻辑型,表达式中操作数据的数据类型 必须一致。 必须一致。
对读者表按读者编号、姓名、 【 例 】 对读者表按读者编号 、 姓名、 出生日期建立 索引,并使用这些索引对表进行浏览。 索引,并使用这些索引对表进行浏览。 USE 读者 INDEX ON 读者编号 TAG 读者编号 INDEX ON 姓名 TAG 姓名 BROWSE INDEX ON 出生日期 TO CSRQ BROWSE SET ORDER TO 读者编号 BROWSE
索引文件必须与原表一起使用,查询时根据索 索引文件必须与原表一起使用, 引关键字表达式的值先在索引文件中找到某字段 所在的记录号,然后再到表里直接定位。 所在的记录号,然后再到表里直接定位。打开索 引文件时,将改变表中记录的逻辑顺序, 引文件时,将改变表中记录的逻辑顺序,但并不 改变表中记录的物理顺序。 改变表中记录的物理顺序。 一个表文件可建立多个索引文件, 一个表文件可建立多个索引文件,也可同时打 开多个索引文件, 开多个索引文件 , 但在同一时间内只有一个索引 起作用, 主控索引。 起作用,这个索引与统计
通常情况下, 通常情况下, 表中的记录是按输入记录的先后顺 序存放的,但实际应用中, 序存放的,但实际应用中,有时需要按别的顺序重新 组织记录。因此, FoxPro提供了两种方法重 组织记录 。 因此 , Visual FoxPro 提供了两种方法重 新组织数据,即排序和索引。 新组织数据,即排序和索引。 排序是从物理上对表进行重新整理, 排序是从物理上对表进行重新整理 , 按照指定的 关键字段来重新排列表中数据记录的顺序, 关键字段来重新排列表中数据记录的顺序,并产生一 个新的表文件。由于新表的产生即费时间也浪费空间, 个新的表文件。由于新表的产生即费时间也浪费空间, 实际中很少用。 索引是从逻辑上对表进行重新整理, 实际中很少用 。 索引是从逻辑上对表进行重新整理 , 按照指定的关键字段的建立索引文件。 按照指定的关键字段的建立索引文件。一个表文件可 以建立多个索引文件,但对于打开的表文件, 以建立多个索引文件,但对于打开的表文件,任何时 侯只有一个索引文件起作用, 侯只有一个索引文件起作用,此索引文件称为主控索 引。
2.索引文件的关闭
SET INDEX TO
3、确定主控索引 一个表可能有多个索引文件被打开, 一个表可能有多个索引文件被打开,复 合索引文件又有多个索引标识, 合索引文件又有多个索引标识,但在一个 时刻只能有一个索引标识起作用, 时刻只能有一个索引标识起作用,这个索 引标识称为主控索引。 引标识称为主控索引。 在应用中,起作用的为当前的主控索引, 在应用中,起作用的为当前的主控索引, 所以我们经常要更换或设置主控索引标识。 所以我们经常要更换或设置主控索引标识。
PS:新建的索引文件自动打开,并开始起作用。 PS:新建的索引文件自动打开,并开始起作用。
从以上索引的组织方式可把索引分为三类: 从以上索引的组织方式可把索引分为三类: 单索引:扩展名为.IDX .IDX, (1)单索引:扩展名为.IDX,即一个文件中只 包括一个索引,属于非结构索引。 包括一个索引,属于非结构索引。 非结构化的复合索引:扩展名为.CDX (2)非结构化的复合索引:扩展名为.CDX 结构化复合索引:文件名与表名相同, (3)结构化复合索引:文件名与表名相同,扩 展名为.CDX .CDX。 展名为.CDX。前面使用表设计器建立的索引 都是属于这一类,它有以下特性 特性: 都是属于这一类,它有以下特性: 打开表的同时自动打开 在同一个索引文件中包含多个索引标识 在修改、增加、删除记录时自动维护。 在修改、增加、删除记录时自动维护。
(3)唯一索引 系统只在索引文件中保留第一次出现的索引关 键字值。 键字值。数据库表和自由表都可以建立唯一索引 (4)普通索引 是一个最简单的索引,允许关键字值的重复出 是一个最简单的索引, 适合用来进行表中记录的排序和查询, 现,适合用来进行表中记录的排序和查询,也适合 于一对多永久关联中“ 的一边(子表)的索引。 于一对多永久关联中“多”的一边(子表)的索引。 数据库表和自由表都可以建立普通索引。 数据库表和自由表都可以建立普通索引。
注意: 注意: 使用索引后, 使用索引后,表中记录的物理顺序并没有改 变,可观察其记录号。只是操作时记录指针 可观察其记录号。 按主控索引的逻辑顺序移动。 按主控索引的逻辑顺序移动。 使用索引后,GO N 仍指向具体的物理记录号, 仍指向具体的物理记录号, 使用索引后, 但是GO TOP, BOTTOM都指向逻辑顺序 但是GO TOP,GO BOTTOM都指向逻辑顺序 使用索引后,SKIP命令也按逻辑顺序移动。 使用索引后,SKIP命令也按逻辑顺序移动。 命令也按逻辑顺序移动
标识名> TAG <标识名>:此选项只对建立复合索引文件时有 指定建立或追加索引标识的标识名。 效,指定建立或追加索引标识的标识名。 条件> FOR <条件>:表示只对满足条件的记录建立 索引。 索引。 ASCENDING|DESCENDING: ASCENDING表示按升序建 ASCENDING|DESCENDING: ASCENDING表示按升序建 立索引,DESCENDING表示按降序建立索引 表示按降序建立索引。 立索引,DESCENDING表示按降序建立索引。缺省 按按升序建立索引。 时,按按升序建立索引。单索引文件不能选用 DESCENDING选项 选项。 DESCENDING选项。 ADDITIVE:表示建立本索引时, ADDITIVE:表示建立本索引时,保留以前打开的索 引文件。 引文件。
【例3】显示图书表中价格最高的五种图书。 显示图书表中价格最高的五种图书。 USE 图书 INDEX ON 价格 TAG JG DESCENDING NEXT5 LIST NEXT5
对图书表中记录按出版社排序, 【例4】对图书表中记录按出版社排序,出版 社相同的按书名排序。 社相同的按书名排序。 USE 图书 出版社+ INDEX ON 出版社+书名 TAG CSSX
STUDENT.DBF表文件建立出生日期单 【例1】对STUDENT.DBF表文件建立出生日期单 索引文件STUDCSRQ STUDCSRQ。 索引文件STUDCSRQ。 USE STUDENT INDEX ON 出生日期 TO STUDCSRQ 对表文件STUDENT DBF, STUDENT. 【例2】对表文件STUDENT.DBF,建立一个基于 出生日期字段的结构复合索引文件。 出生日期字段的结构复合索引文件。 USE STUDENT INDEX ON 出 生 日 期 TAG 出 生 日 期 DESCENDING
VFP中索引可分为下列四种类型: VFP中索引可分为下列四种类型: 中索引可分为下列四种类型 (1)主索引 主索引是一个永远不允许在指定字段和表达式 中出现重复值的索引。 中出现重复值的索引。它也是在数据库表的永久关 联中创建参照完整性时主表和被引用表使用的索引。 联中创建参照完整性时主表和被引用表使用的索引。 每一个表只能建立一个主索引, 每一个表只能建立一个主索引,只有数据库表才能 建立主索引。 建立主索引。 (2)侯选索引 侯选索引也是一个不允许在指定字段和表达式 中出现重复值的索引。数据库表和自由表都可以建 中出现重复值的索引。 立侯选索引,一个表可以建立多个侯选索引。 立侯选索引,一个表可以建立多个侯选索引。
例如: 例如: 1、对图书表,显示价格最高的五种图书。 对图书表,显示价格最高的五种图书。
2、对学生成绩表的女生,按外语成绩排序, 对学生成绩表的女生,按外语成绩排序, 外语成绩相同的则按数学成绩排序。 外语成绩相同的则按数学成绩排序。
二、索引的基本概念 当记录很多时, 排序既费时间由占磁盘空间, 当记录很多时 , 排序既费时间由占磁盘空间 , 因此一般按索引方法来重新组织记录。 VFP的索引 因此一般按索引方法来重新组织记录 。 VFP 的索引 是由指针构成的文件, 是由指针构成的文件,这些指针在逻辑上按索引关 键字进行排序。 键字进行排序。 索引文件可以看成索引关键字的值与记录号之 间的对照表。在建立索引文件时, 间的对照表。在建立索引文件时,把表所有记录的 索引关键字按指定顺序排序, 索引关键字按指定顺序排序,并把每个索引关键字 值与在表中所对应的记录对应起来, 值与在表中所对应的记录对应起来,保存在索引文 件中。 件中。
三、索引的建立 (1)菜单方式 打开表文件。 ① 打开表文件。 选择【显示】 表设计器】命令, ② 选择【显示】|【表设计器】命令,打开表设计器 对话框,选择“索引” 对话框,选择“索引”标签 在索引名中输入索引标识名, ③ 在索引名中输入索引标识名 , 在类型的下拉列表 框中确定一种索引类型, 框中确定一种索引类型,在筛选中输入确定参加索 引的记录范围,在排序序列下默认的是升序按钮, 引的记录范围,在排序序列下默认的是升序按钮, 单击可改变为降序按钮。完成后, 确定” 单击可改变为降序按钮。完成后,选“确定” 。 同样的方法也可以将以前建立的索引调出, ⑤ 同样的方法也可以将以前建立的索引调出 , 利用 表设计器上的“插入” 删除” 表设计器上的“插入”或“删除”按钮进行插入或 删除。 删除。