




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 3 1 1创建自由表VisualFoxpro6 0将表分成数据库表和自由表两种 自由表通常单独使用 与其他表的数据之间没有联系 也不从属于任何数据库 数据库表从属于某一数据库 一个数据库通常有若干张表 表与表之间有关联 表文件由两部分组成 表结构 和 记录数据 第3章自由表操作 2 1 设计自由表结构二维表的各列称为字段 表的结构描述通过对表中各个字段的属性定义来实现 设计表结构即定义该表所包含的字段名 类型 宽度 小数位数 索引和NULL 表文件名表文件名可使用不超过255个字符 字母 汉字 数字或下划线 的名称 第一个字符必须是字母 汉字或下划线 表文件的扩展名为 dbf或 DBF 3 2 字段类型VisualFoxPro定义了13种字段数据类型 常用的字段类型见下表所示 1 字段名用来标识字段 以字母或汉字开头 由字母 汉字 数字和下划线组成 但最多10个字符 注意 同一个表中的字段名不能相同 4 5 3 字段宽度用以表明允许字段存储的最大字节数 只有字符型 数值型和浮点型等三种类型的字段宽度可以改变 其它类型字段有唯一确定的宽度 不能改变 在建立表结构时 应根据要存储数据的实际需要设定合适的宽度 例如 描述人的姓名字段 考虑到中国人的姓名绝大多数为三个汉字 再顾及到少数人的四个汉字 可以取姓名字段的宽度为8 6 在定义数值型和浮点型字段宽度时 应考虑到正负号和小数点 带小数的数值型字段宽度计算如下 字段宽度 1 正负号 整数位数 1 小数点 小数位数例如 数值型字段宽度为7 小数位数为2位 则能存放的最大数值为9999 99 最小数值为 999 99 7 4 索引指定是否以该字段为关键字建立索引 索引主要用于记录排序 5 NULL指定该字段可接收空值 2 建立自由表结构 1 设置默认目录方便用户对文件的操作和管理 一般将其放在固定的文件夹中 a 菜单操作方式b 命令操作方式setdefaulttod vfp 8 2 表结构的建立a 菜单操作方式建立自由表b 命令方式创建格式1 CREATE功能 打开表设计器 创建表 格式2 CREATETABLE 功能 不打开表设计器 在CREATETABLE命令中指定字段来购造表的结构 命令方式关闭表格式 USE 例3 1 用菜单方式建立 学生信息 自由表 表名为XSXX DBF 9 输入数据 1 创建表时立即输入数据 2 以追加方式输入数据 3 备注型数据输入 对备注型字段的输入 当光标位于该字段时 双击鼠标左键或按下Ctrl PgDn键进入编辑器 输入完字符型数据后关闭编辑器 此时memo变为Memo 表示该字段非空 4 通用型数据的输入 10 对通用型字段的输入 当光标位于该字段时 双击鼠标左键或按下Ctrl PgDn键进入编辑器 此时可选定 编辑 菜单的 插入对象 命令 插入图形 电子表格或声音等多媒体数据文件 然后关闭编辑器 此时gen变为Gen 表示该字段非空 若要删除通用型字段的数据 选择编辑菜单的 清除 命令 记录数据输入结束 按Ctrl W保存退出 若放弃已经输入的数据按Ctrl Q 若表中含有备注和通用型字段 除了 DBF的表文件外 还同时产生一个 FPT的备注文件 11 3 1 2VisualFoxpro的命令格式1 VisualFoxPro6 0命令的一般格式一条命令通常由命令动词和若干个短语组成 命令动词表明该命令执行什么操作 短语用于说明命令的操作对象 操作条件等 短语有时又称为子句 VisualFoxPro6 0命令的一般格式为 命令动词 FIELDS FOR WHILE 12 说明 1 命令动词 命令动词是VFP的命令的名字 用来表示命令的操作 如 LIST DISPLAY 等 2 范围子句 用来确定执行该命令涉及的记录 范围有4种限定方法 ALL所有记录NEXT N 从当前记录起的N个记录RECORD N 第N个记录REST从当前记录起到最后一个记录止的所有记录缺省范围子句时通常默认为ALL 例如LIST命令 但也有例外 DISPLAY命令在缺省范围子句时默认范围为当前记录 13 3 FOR子句 FOR子句的 条件 为逻辑表达式 它指定选择记录的条件 若命令中还含有范围子句 则在指定范围中筛选出符合条件的记录 4 WHILE子句 该子句也用于指明操作条件 但它仅在当前记录符合 条件 时开始依次筛选记录 一旦遇到不满足条件的记录时就停止操作 注意 若一条命令中同时有FOR与WHILE子句 则优先处理后者 WHILE子句 14 5 FIELDS子句 FIELDS子句确定需要操作的字段 该子句的保留字FIELDS在某些命令 如LIST 中可以缺省 而 字段名表 用来列出需要的字段 LIST命令将按筛选得到的记录依次算出表达式的值 并显示出来 2 VisualFoxPro6 0命令书写规则 1 命令动词必须写在命令的最前面 而各短语的前后顺序可以任意排列 15 例如 LISTFIELDS学号 姓名 性别FOR性别 男 LISTFOR性别 男 FIELDS学号 姓名 性别以上两条命令执行结果相同 2 命令动词与短语之间 短语与短语之间 短语的各部分之间必须用空格分隔开 3 命令动词 各短语中的关键字及函数名都可以简写为前4个字符 而且英文字母不区分大小写 如MODIFY可以写成MODI或modi 4 一条命令的长度可达8192个字符 当一行写不下时 可在适当位置输入续行符 并按回车键换行 继续输入该命令 16 3 2自由表基本操作3 2 1自由表的打开和关闭1 菜单方式打开表注意 若要对表进行编辑修改操作 则必须选定 独占 复选框2 命令方式打开表USE IN ALIAS EXCLUSIVE SHARED NOUPDATE 在当前或指定工作区中打开或关闭表 打开时 若该表有备注型或通用型字段 则自动打开同名的 FPT文件 17 说明 1 表示被打开的表名 缺省表示关闭当前工作区中打开的表 2 IN 指定打开表所在的工作区 缺省此项 默认为当前工作区 3 ALIAS表示打开表的同时定义表的别名 缺省此项 默认表名为别名 4 用EXCLUSIVE选项 则以独占方式打开表 用SHARED选项 则以共享方式打开表 5 选择NOUPDATE子句表示以只读方式打开表 18 表3 6表的打开方式 19 3 关闭表的其它方法 CLEARALL 关闭所有的表 并选择工作区1 释放所有内存变量 用户定义的菜单和窗口 不释放系统变量 CLOSEALL 关闭所有打开的数据库和表 并选择工作区1 关闭各种设计器和项目管理器 CLOSEDATABASE ALL 关闭当前数据库和其中的表 若无打开的数据库 则关闭所有自由表 并选择工作区1 带ALL则关闭所有数据库和其中的表 以及所有已经打开的自由表 20 CLOSETABLES ALL 关闭当前数据库中所有的表 但不关闭数据库 若无打开的数据库 则关闭所有自由表 带ALL则关闭所有数据库中所有的表和所有自由表 但不关闭数据库 除以上命令之外 还可通过退出VisualFoxPro来关闭已打开的表 选定 文件 菜单中的 退出 命令 或在 命令 窗口键入命令QUIT 21 3 2 2表记录显示1 菜单方式 显示 浏览 2 利用项目管理器3 命令方式格式1 BROWSE FIELDS FOR 功能 在浏览视图下显示表中符合的记录 并显示中指定的字段 如无子句 则显示表中所有记录的所有字段 FIELDS用于指定显示在浏览窗口中的字段 默认为所有字段 FOR用于指定显示在浏览窗口中记录应满足的条件 默认为所有记录 22 例3 4 用命令方式实现在浏览视图下显示XSXX DBF表中性别为 男 的所有记录 并显示 学号 姓名 和 性别 字段 usexsxxbrowsefields学号 姓名 性别for性别 男 Use格式2 LIST DISPLAY FIELDS FOR WHILE OFF TOPRINTER PROMPT TOFILE 功能 显示表中指定范围内符合条件的记录 23 说明 有 off 时 不显示记录号 有 toprint 时 显示内容送打印机打印 如果使用PROMPT 则在打印之前显示打印设置对话框 可以对打印机进行设置 有 TOFILE 则表示将显示的内容存入指定的文件中保存起来 默认扩展名为 TXT 缺省时 DISPLAY命令默认为当前记录 LIST命令默认值为ALL 并且当表中记录较多时 DISPLAY是分页显示 而LIST命令以滚动方式显示 24 例3 5 用LIST DISPLAY命令显示XSXX DBF表中入学成绩为520分以上且是团员的所有记录 并显示 学号 姓名 性别 入学成绩 和 团员否 字段 listfields学号 姓名 性别 入学成绩 团员否for入学成绩 520and团员否或 list学号 姓名 性别 入学成绩 团员否for入学成绩 520and团员否 T 25 3 2 3表记录的定位记录指针用来定位记录 表打开时 记录指针总是指向第一个记录 记录指针指向的记录称为当前记录 RECNO 函数的值就是当前记录的记录号 1 菜单方式定位记录打开要使用的表 在 显示 菜单下 选择 浏览 打开 表 菜单 选择 转到记录 2 命令方式定位记录 1 绝对定位命令 26 格式1 GO TO TOP BOTTOMGOTOP 将记录指针指向表的第一个记录GOBOTTOM 将记录指针指向表的最后一个记录格式2 GO TO 数值表达式 将记录指针指向某条记录 数值表达式 指出该记录的记录号 如 GO5 将记录指针指向第5条记录8 将记录指针指向第8条记录 27 2 相对移位命令格式 SKIP 功能 从当前记录开始移动记录指针 表示移动记录的个数 说明 负值表示向文件头移位 否则表示向文件尾移位 缺省时等同于1 例3 6 记录指针定位示例usexsxxgotopdisplay recno bof Skip 1 recno bof Displaygotobottom 28 recno eof DisplaySkip1 recno eof DisplayGo4Display recno bof eof Skip2Displayuse 29 3 2 4表的修改1 表结构的修改a 打开表b 显示 表设计器 或MODIFYSTRUCTURE若要在屏幕上显示当前表结构信息 可输入如下命令 LISTSTRUCTURE或DISPLAYSTRUCTURE在表中 存储1条记录所用的字节数是 所有字段长度之和 1 多出的1个字节用于存储记录的逻辑删除标记信息 表设计器的 表 选项卡中的 长度 或LISTSTRUCTURE显示信息中的 总计 项就是此值 30 2 记录的修改 两种记录编辑方式浏览窗口显示表记录的格式分为编辑和浏览两种 前者一个字段占一行 一条记录占用多行 后者一个记录占一行 浏览窗口的操作 滚动查看 改变显示列宽 字段显示顺序的调整 一窗两区 网格线 在浏览窗口追加与删除记录 例3 7 为XSXX DBF连续追加记录 31 3 2 5记录的添加1 插入新记录格式 INSERT BLANK BEFORE 功能 在当前记录之后 前 插入新记录 缺省时则在当前记录之后插入新纪录 使用BLANK子句立即插入一条空白子句留待以后填入数据 缺省时则出现记录编辑窗口 等待用户输入记录 2 追加记录 APPEND命令格式 APPEND BLANK 功能 在表尾追加新记录 32 使用BLANK子句能在表末尾追加一条空白记录 留待以后添入数据 若缺省BLANK子句就会出现记录编辑窗口 窗口内有空白的记录等待用户输入数据 APPENDFROM命令格式 APPENDFROM FIELDS FOR TYPE 功能 在当前表末尾追加一批记录 这些记录来自于另一个文件 说明 无TYPE子句 数据源文件为表文件 否则为文本文件或EXCEL文件 33 例3 8 有两个相同结构的表XSXX1 DBF和XSXX DBF 将XSXX DBF中的女性记录追加到XSXX1 DBF中 usexsxx1appendfromxsxxfor性别 女 List使用菜单方式将另一个文件的数据追加到当前表的尾部 打开 表 从 显示 菜单中选择 浏览 执行 表 中的 追加记录 A 3 导入 34 3 2 6记录的删除与恢复删除记录有逻辑删除和物理删除两种 删除记录一般需要两步 1 加删除标记 2 将带有删除标记的记录从表中删除 在物理删除前可以恢复 1 在 浏览 窗口中删除与恢复记录 1 直接用鼠标操作 2 菜单方式 表 切换删除标记 T 若删除满足一定条件和范围的记录 表 删除记录 D 若恢复满足一定条件和范围的记录 表 恢复记录 E 若要从表中彻底删除带有删除标记的记录 可从 表 彻底删除 M 35 2 命令方式删除与恢复记录 1 逻辑删除记录格式 DELETE FOR WHILE 功能 对当前表在指定内满足条件的记录作删除标记 若可选项都缺省 只指当前记录 用户若用LIST显示表记录 会看到记录号和第一个字段名间出现 号 说明 可以用SETDELETEDON命令将加过删除标记的记录暂时 隐藏 起来 输入SETDELETEDOFF可消除 隐藏 36 2 恢复逻辑删除的记录格式 RECALL FOR WHILE 功能 对当前表在指定内满足条件的记录去掉删除标记 若可选项都缺省只恢复当前记录 3 物理删除有删除标记的记录格式 PACK功能 从表中将带有删除标记的记录物理删除 4 物理删除表中全部记录格式 ZAP功能 物理删除当前表中的所有记录 仅保留表结构 相当于 DELEALLPACK 37 例3 9 表记录的删除和恢复应用 usexsxxdeleallfor班级 计算机071 listrecallfor入学成绩 520listpacklistzaplistUse 38 3 2 7数据替换1 命令方式格式 REPLACE WITH ADDITIVE WITH ADDITIVE FOR WHILE 功能 在当前打开表的指定记录中 将有关字段的值用相应的表达式值来替换 若与等选项都缺省 只对当前记录的有关字段进行替换 该命令对内符合的记录用的值来替换 39 说明 1 ADDITIVE 把对备注字段的替代内容追加到备注字段原内容的后面 ADDITIVE只对替换备注字段有用 如果省略ADDITIVE 则用表达式的值改写备注字段原有内容 2 各表达式的数据类型要与相应字段的数据类型一致 40 例3 10 对KCXX表添加一条记录 1206 线性代数 30 usekcxxappendblank 追加一条空记录replace课程号with 1206 replace课程名称with 线性代数 replace学时with30use以上3个replace命令也可以合并为 replace课程号with 1206 课程名称with 线性代数 学时with30 41 例3 11 REPLACE命令使用示例 usexsxxreplaceall入学成绩with入学成绩 10for性别 女 andyear 出生日期 1988replaceall入学成绩with入学成绩 10for团员否replaceall入学成绩with入学成绩 5fornot团员否Useb 菜单方式 例3 12 将XSXX表中1988年出生的女生的入学成绩增加10分 42 3 2 8逻辑表的设置1 过滤器使用过滤器可以将不满足条件的记录 隐藏 起来 即让这些记录在逻辑上消失 当操作完以后 再去掉过滤器来恢复这些记录 格式 SETFILTERTO 条件 功能 从当前表过滤出符合 条件 的记录 不符合 条件 的记录将被 隐藏 随后的操作仅限于满足过滤条件的记录 43 例3 13 条件过滤器示例 usexsxxsetfilterto性别 女 replaceall入学成绩with入学成绩 1 05listsetfiltertolistuse 44 2 字段名表字段名表用于限定命令能作用的字段 格式 SETFIELDSTO说明 SETFIELDSTO命令用来为当前表设置字段表 ALL表示所有字段都在字段表中 命令SETFIELDSON OFF决定字段是否有效 ON状态时 只能访问字段表所列的字段 此时其他字段就像不存在一样 当用SETFIELDSTO命令设置字段表时 SETFIELDS自动置ON OFF表示取消字段表 恢复到原来状态 系统默认为OFF状态 45 例3 14 字段访问限制示例 usexsxxsetfieldsto学号 姓名 性别listsetfieldsofflistuse 46 3 2 9表与表结构的复制1 复制任何文件类型命令格式 COPYFILETO功能 从文件复制得到的文件 说明 1 对表进行复制 该表必须处于关闭状态 2 和都可以使用通配符 和 closeallcopyfilexsxx dbftoxs dbfcopyfilexsxx fpttoxs fpt 47 2 复制表结构格式 COPYTOSTRUCTURE3 将表复制为表或其他类型的文件命令格式 COPYTO FOR WHILE FIELDS TYPE XLS SDF DELIMITED WITH WITHBLANK WITHTAB 功能 将当前表中选定的部分记录和部分字段复制成一个新表或其它类型文件 48 说明 1 首先要打开原表 2 对于含有备注型 通用型字段的表 在复制扩展名为 DBF的表文件的同时 自动复制扩展名为 FPT文件 3 TYPE子句指出复制得到的文件类型 若缺省则为数据表类型 若需要复制出其它类型文件必须使用TYPE子句 规定如下 TYPEXLS 新文件为Excel文件 扩展为 XLS TYPESDF 新文件为文本文件 扩展名为 TXT 数据间无分隔符 无定界符 不带WITH的TYPEDELIMITED 新文件为文本文件 扩展名为 TXT 数据间分隔符为 号 定界符为双引号 49 TYPEDELIMITEDWITH 新文件为文本文件 扩展名为 TXT 数据间分隔符为 号 定界符用指定 TYPEDELIMITEDWITHBLANK 新文件为文本文件 扩展名为 TXT 数据间分隔符为空格 定界符为双引号 TYPEDELIMITEDWITHTAB 新文件为文本文件 扩展名为 TXT 数据间分隔符为制表符 定界符为双引号 注意 定界符指的是字符型字段的定界符 其他类型字段没有定界符 分隔符是指字段之间用来分隔的字符 50 例如 UsexsxxCopytoxsxx1Copytoxsxx2for性别 女 fields学号 姓名 班级Copytoxsxx3sdfCopytoxsxx4delimitedwithblankCopytoxsxx5xlsUse4 导出 51 3 2 10表中数据与数组数据之间的交换1 将表的当前记录复制到数组格式 SCATTER FIELDS MEMO TO BLANK 功能 将表中当前记录从指定字段名表中的第一个字段内容开始 依次复制到数组名中的从第一个数组元素开始的内存变量中 如果不使用FIELDS子句指定字段 则复制除备注型M和通用型G之外的全部字段 52 如果事先没有创建数组 系统将自动创建 如果已创建的数组元素个数少于字段数 系统自动建立其余数组元素 如果已创建的数组元素多于字段数 其余数组元素的值保持不变 若选用MEMO子句 则同时复制备注型字段 若选用BLANK子句 则产生一个空数组 各数组元素的类型和大小与表中当前记录的对应字段相同 53 例3 15 将XSXX表中第3条记录复制到数组XS中 包括备注字段 usexsxxgo3scattertoxsmemo xs 1 xs 2 xs 3 xs 4 xs 5 xs 6 xs 7 xs 8 xs 9 listmemorylikexsuse 54 2 将数组数据复制到表的当前记录中格式 GATHERFROM FIELDS MEMO 功能 将数组中的数据作为一个记录复制到表的当前记录中 从第一个数组元素开始 依次向字段名表指定的字段填写数据 如果缺省FIELDS子句 则依次向各个字段复制 如果数组元素个数多于记录中字段个数 则多余的元素被忽略 若选用MEMO子句 则依次向备注字段复制数据 55 例3 16 利用数组实现对KCXX表添加一条记录 1207 分析化学 50 dimerr 3 rr 1 1207 rr 2 分析化学 rr 3 50usekcxxappendblankgatherfromrrdispuse 56 3 3排序和索引 3 3 1排序1 基本概念排序就是根据表中的某些字段重新排列记录顺序 排序后生成一个新表 新表的记录按新的物理顺序排列 2 排序命令格式 SORTTOON A D C A D C FOR WHILE FIELDS 功能 将当前数据表按指定的一个或多个字段进行排序 并将排序的结果保存到一个新的数据表中 57 注意 在SETDELEON的情况下 带有删除标记的记录不参加排序 显示时原表中还有此记录 但排序后的表中不存在 例3 17 对XSXX DBF表中是团员的记录按 入学成绩 从大到小排列 生成新表RXCJ DBF 新表中含有学号 姓名 性别 入学成绩字段 usexsxxsorttorxcjon入学成绩 Dfields学号 姓名 性别 入学成绩for团员否userxcjlistuse 58 例3 18 对XSXX DBF表中记录按 性别 升序排列 当 性别 相同时按 出生日期 降序排列 生成新表XSXXPX1 DBF usexsxxsorttoxsxxpx1on性别 出生日期 Dusexsxxpx1listuse 59 3 3 2索引1 索引的概念执行排序后 生成新的文件形成新的物理顺序 索引是按索引表达式使数据表中的记录有序地进行逻辑排列的技术 索引不改变当前数据表记录的物理顺序 而是建立一个与数据表相对应的索引文件 索引文件是由指针构成的文件 只包括关键字和记录号两项内容 所有关键字按升序或降序排列 每个关键字值对应原文件的一个记录号 这样便确定了记录的逻辑顺序 索引文件总是依附 从属原表文件而存在 不可单独使用 60 2 索引类型 61 通常 主索引用于主关键字段 候选索引用于那些不作为主关键字但字段值又必须唯一的字段 普通索引用于一般的查询 唯一索引用于特殊的程序设计 2 索引文件的类型在VFP中 索引文件分为两大类 单索引文件 IDX 和复合索引文件 CDX 复合索引文件又可以进一步分为结构复合索引文件和非结构复合索引文件 单索引文件 只包含一个索引 复合索引文件 可以包含多个索引 每个索引有一个 索引标识 代表一种记录逻辑顺序 在复合索引文件中 每一个索引标识等价于一个单索引文件 62 结构复合索引文件的文件名与建立复合索引文件的表文件名同名 而非结构复合索引文件的文件名与相关的表不同名 结构复合索引文件随着相关表的打开而自动打开 在添加 更改或删除记录时 结构复合索引文件会自动更新 而非结构复合索引文件不会随着相关表的打开而自动打开 要由用户打开 3 建立索引 1 在表设计器中建立索引 63 在 索引名 文本框中输入索引标识名 在 类型 列表框中 选定索引类型 在 表达式 文本框中 输入索引关键字表达式 向上箭头为升序索引 向下箭头为降序索引 如果需要 可输入筛选条件表达式 64 2 命令方式建立索引INDEXONTO TAG OF FOR COMPACT ASCENDING DESCENDING UNIQUE CANDIDATE ADDITIVE TO子句用于建立单索引文件 TAG子句用于建立复合索引文件及索引标识 用于指定非结构复合索引文件的名字 用来指定单索引文件为压缩的 分别用于指定升序或降序 仅使用于复合索引 表示建立唯一索引 表示建立候选索引 65 例3 19 建立单索引文件示例 usexsxxlistindexon姓名toxmsylistindexon出生日期torqsyfor性别 男 listindexon性别toxbsyuniquelistindexon性别 str 入学成绩 tosy1listindexon性别 dtoc 出生日期 tosy2listindexon 入学成绩tosy3listUse 66 例3 20 为XSXX DBF建立一个结构复合索引文件 建立一个按 团员否 降序排序的索引 标识为tysy 建立一个按 学号 升序排序的候选索引 标识为xhsy 建立一个按 班级 出生地点 升序排序的索引 标识为bjcssy Usexsxxindexon团员否tagtysydescendinglistindexon学号tagxhsycandidatelistindexon班级 出生地点tagbjcssylistuse 67 4 索引的使用要利用索引查询 必须同时打开表与索引文件 一个表可以打开多个索引文件 同一个复合索引文件中也可能包含多个索引标识 但任何时候只有一个索引文件能起作用 在复合索引文件中也只有一个索引标识能起作用 当前起作用的索引文件称为主控索引文件 当前起作用的索引标识称为主控索引 实现索引查询必须满足以下条件 打开表 打开索引文件 确定主控索引文件 对于复合索引文件还须确定主控索引 68 1 打开索引文件的命令 若当前仅有一个索引文件被打开 它就成为主控索引文件 若当前打开了多个索引文件 可通过SETINDEX命令来确定主控索引文件 除结构复合索引能随着表的打开而打开外 其他索引文件必须用命令打开 表关闭时 索引文件就随之关闭 命令格式 SETINDEXTO ADDITIVE 功能 打开当前表的一个或多个索引文件 69 说明 中的第一个索引文件为主控索引文件 如 usetssetindextoxmidx jgidxlist若仅使用setindexto或setindexto0 则关闭当前工作区中除结构复合索引文件外的所有索引文件 同时取消主控索引 若无ADDITIVE 则在用本命令打开索引文件时 除结构复合索引文件以外的索引文件均被关闭 70 命令USEINDEX功能 在打开数据表的同时打开一个或多个索引文件 如果索引文件有多个 文件之间用逗号分隔 并确定第一个索引文件为主控索引文件 例如 CLOSEALLUSETSINDEXXMIDX JGIDX 71 2 设置当前索引的命令一个文件在某一时刻 只有一个索引起作用 我们称之为当前索引 就是控制当前显示顺序的索引 格式 SETORDERTO TAG ASCENDING DESCENDING 功能 指定当前索引 说明 是建立索引的先后顺序号 该序号用来指定主控索引文件或主控索引 指定该单索引文件为主控索引文件 指定一个复合索引标识为主控索引 72 例3 21 根据 例3 19 和 例3 20 中建立的索引 练习索引的打开 关闭和指定主控索引 usexsxxlistSetordertotagtysylistSetordertotagbjcssylistsetindextoxmsy rqsylistsetindextoxbsy sy1 sy2 sy3additivelist 73 SetordertorqsylistSetordertolistsetindextouse 74 3 关闭索引文件格式1 USE功能 关闭表文件的同时 也关闭了所有已打开的索引文件 格式2 SETINDEXTO功能 关闭所有已打开的索引文件 但表文件仍处于打开状态 格式3 CLOSEINDEX功能 关闭所有已打开的索引文件 但表文件仍处于打开状态 75 4 删除索引单索引文件可采取删除文件的方法直接删除 DELEFILEJGZDX IDX复合索引文件可用下列命令删除 格式 DELETETAGALL 相关参数和选项的含义 DELETETAG 删除复合索引文件中的指定索引 DELETETAGALL 删除复合索引文件中的所有索引 此时复合索引文件将不存在 对于复合索引文件也可以在表设计器中删除索引标识 76 例3 22 删除 例3 20 建立的结构复合索引文件中的索引标识 usexsxxdeletetagtysydeletagallUse 77 5 索引的更新a 自动更新当表中的数据发生变化时 所有当前已打开的索引文件都会自动改变记录的逻辑顺序 实现索引文件的自动更新 b 重新索引若修改表中的记录之后再打开索引文件 则先用SETINDEXTO将索引文件打开 再使用REINDEX重新索引 78 3 4查询 查询就是在表中查找用户指定条件的记录和字段 3 4 1顺序查询顺序查询就是在表文件中依次查找满足条件的记录 也称直接查询 包括LOCATE和CONTINUE两条命令 格式 LOCATE FOR WHILE CONTINUE格式 在指定范围内搜索符合条件的记录 79 说明 1 缺省表示ALL 2 找到一条满足条件的记录后 要继续往下查找满足条件的其它记录就必须用CONTINUE命令 3 找到后可使用RECNO 返回该记录的记录号 此时 FOUND 返回值为 T EOF 返回值为 F 若找不到满足条件的记录 RECNO 值为表中记录数加1 FOUND 的值为 F EOF 的值为 T 80 例3 23 在XSXX DBF中进行顺序查找1990年以后出生的学生 closeallclearusexsxxlocateallfor出生日期 1989 12 31 Disp recn found eof contdisp recn found eof 81 例3 24 在XSXX DBF中进行顺序查找练习 closeallusexsxxlocateallfor姓名 王 displocateallfor姓名 王 dispuse 82 3 4 2索引查询索引查询是利用索引文件实现的快速查询 VFP提供了SEEK和FIND两条命令进行索引查询 索引查询要求表的记录是有序的 这就需要事先对表建立索引文件 格式 SEEK功能 在已确定当前索引的表文件中快速查找满足表达式值的第一条记录 可用SKIP定位到下一条 说明 1 指定SEEK搜索的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 道路雨水管网及配套设施改造更新工程技术方案
- 校园废旧建筑改造方案设计
- 专业盘扣脚手架租赁及配套安装工程合同
- 深圳建筑节能方案设计
- 离婚子女轮流抚养居住环境与设施协议
- 住宅小区物业维修资金管理与使用协议
- 离婚时个人名誉权保护与财产分割协议范本
- 智能制造领域专利代理与标准制定服务合同
- 城市私人土地买卖及配套设施建设合同
- 夫妻财产分割协议中明确赠与子女房产条款
- 基于Java的网上蛋糕预订销售系统的设计与实现
- 成人高考专升本医学综合考试真题及答案
- 可复制的领导力心得
- 《小猪变形记》一年级
- 抗菌药物临床应用指导原则
- MirrorView切换手册模板
- 急救车必备药品和物品 急救车物品药品管理
- GB/T 3253.8-2009锑及三氧化二锑化学分析方法三氧化二锑量的测定碘量法
- GB/T 24720-2009交通锥
- GB/T 15065-2009电线电缆用黑色聚乙烯塑料
- 陈嘉庚生平介绍(中文+英文版)
评论
0/150
提交评论