第三章 表的基本操作_第1页
第三章 表的基本操作_第2页
第三章 表的基本操作_第3页
第三章 表的基本操作_第4页
第三章 表的基本操作_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 表的基本操作 3 1 建立表 一 表结构的建立 1 命令方式 命令格式 1 CREAT TABLE 长度 例如 CREAT TABLE 选课表 学号 C 8 课程号 C 4 成绩 N 3 2 create 例如 create xsda 2 菜单方式 文件菜单 新建 表 新件文件 注意 希望大家能有好的保存习惯 设置默认目录方法 1 工具 选项 文件位置 默认目录 2 set default to 完整路径完整路径 如 set defa to e vf 二 数据的输入 1 立即输入 1 备注型数据的输入 方法 光标定位 memo 处 双击鼠标 输入 编辑结束后 点击编辑窗口的 关闭 按钮 VFPVFP 会自动将修改 后的数据保存 返回到数据输入的正常状态 按 或 Esc 键则清除当前输入的信息 返回到数据输 入的正常状态 2 通用型数据的输入 同上 打开窗口后 通过 VFP 的 编辑 菜单的 粘贴 或 插入对象 选项来完成 注意 1 数据输入时不要有空格 2 关闭就存盘 3 如字段名输错 字段宽度或类型设计错 多输或少输了字段名 字段位置调整 可使用 1 显示菜单 表设计器 2 在命令窗口中输入命令 Modify structure 3 如果字段值需要修改 可输入命令 browse 或点击显示菜单的 浏览 和 编辑 选项也可以进行操作 4 如果要添加新的记录输入 append 或在 显示 菜单里选择 追加方式 选项 4 备注型 宽度为 4 系统默认显示为 memo 或者 Memo 有内容时 通用型 宽度为 4 系统默认显示为 gen 或者是 Gen 有内容时 4 个字节存放的是地址指针 指向备注文件 文件名和表文件名一样 扩展名为 FPT 对应的内容 重要提示 只要表中有备注或者通用字段 不管是一个或者多个 或者两个同时都有 系统就会自动产生 一个与表文件名相同的备注文件 扩展名为 FPT 用于存放备注型和通用型字段的内容 3 23 2 表的打开 显示和关闭表的打开 显示和关闭 一 打开表 1 打开表 1 命令方式 格式 USE 功能 在当前工作区打开一个表文件 注 表文件名如没有加路径则默认打开 c program files microsoft visual studio vfp98 下的表文件 在打开表文 件的同时同名的备注文件和复合索引文件也同时打开 2 菜单方式 单击 文件 菜单中的 打开 选项 打开时请将 独占 选项选中 否则表不能进行修改 注意 1 表建立时就会被打开 2 表是否被打开可查看状态栏是否显示有表名 或看 显示 菜单 在窗口上是不会有任何的显示 想 要查看记录可用命令或选择菜单项来完成 二 关闭表 命令方式 格式 1 USE功能 关闭当前工作区中正打开的表文件及其索引文件 格式 2 CLOSE ALL 关闭所有工作区中打开的数据库 表和索引 并选择工作区 1 CLOSE ALL 也关闭任何用 FCREATE 和 FOPEN 低级文件功能打开的文件 CLOSE ALL 关闭 表单设计器 项目管理器 标签设计器 报表设计器 查询设计器 但 CLOSE ALL 不关闭 命令窗口 调试窗口 帮助系统 跟踪窗口 格式 3 CLOSE DATABASES ALL 关闭当前数据库和表 若没有当前数据库 则关闭所有工作区内所有打开的自由表 索引和格式文件 并选 择工作区 1 格式 4 CLOSE TABLE ALL 关闭所有当前选中数据库中的所有表 若没有已打开的数据库 则 CLOSETABLES 关闭所有 工作区内的自由表 包含 ALL 可以关闭所有数据库中的所有表以及自由表 但所有数据库保持打开 格式 5 CLOSE ALL 功能 关闭所有工作区中的所有表及各类型文件 并释放内存变量 三 表记录的显示 1 显示文件记录的两个命令 list 和 display LIST OFF FIELDS FOR WHILE TO PRINTER TO FILE 功能 显示当前表文件中指定的记录和字段的内容 说明 1 范围 用于确定执行该命令涉及的记录 有如下几种 all 全部记录 next 从当前记录开始的 N 条记录 record 第 N 条记录 rest 当前记录起到最后一条记录为止的所有记录 范围 所有记录 all 或者第 几条记录 recored n 或者 从多少条到多少条 next n 或者从当前一直到最后一 条 rest 注意 如没指定范围 则 LIST 命令默认范围为 ALL 即全部记录 DISPLAY 默认范围为当前记录 例如 Use 学生登记表 DISP LIST GO 2 LIST NEXT 3 LIST RECORD 4 GO 3 LIST REST LIST ALL 2 FIELDS 子句 用于确定需要操作的字段 例如 Use 学生登记表 List fields 学号 姓名 性别 入校总分 Go top List next 3 fields 学号 姓名 出生年月 3 for 为逻辑表达式 用于指定选择记录的条件 在 LIST 命令中没有指定范围时默认是所 有的记录中筛选 例如 Use 学生登记表 List for 入校总分 570 00 AND 三好生 TYPE DELIMITED WITH 3 复制表结构 COPY STRUCTURE TO FIELDS 功能 把当前表的结构复制到指定的新文件中 注 只复制当前表的结构 不复制其中的数据 2 若使用 FIELDS 选项 则新表的结构只包含其指明的字段 同时也决定了这些字段在新表中的排 列次序 3 如有备注型和通用型字段则同时生成一个同名备注文件 use 学生 copy stru to heng copy stru to hi fields 学号 性别 姓名 简历 3 6 记录的操作 一 定位记录 1 使用菜单方式移动记录指针 表 转到记录 下一个 2 使用命令方式移动记录指针 GO TO TOP BOTTOM GO TO 二 显示记录 1 用菜单方式浏览记录 2 用 BROWSE 命令浏览记录 BROWSE FIELDS FOR LAST 功能 在浏览窗口显示或修改数据 3 用 LIST DISPLAY 命令显示记录 LIST DISPLAY FIELDS FOR OFF TO PRINTER TO FILE 功能 在工作区窗口显示当前表中的记录 三 修改记录 1 在浏览窗口中修改记录 2 CHANGE EDIT 命令 CHANGE EDIT FIELDS FOR WHILE 功能 对指定范围内 符合条件的那些记录的指定字段进行编辑修改 说明 若命令写声 EDIT 则是对记录号指定的记录进行修改 可连续修改多个记录 修改完成后 按 CTRL W 存盘并结束修改 3 自动替换 重点 1 命令方式 命令 REPLACE FOR WHILE 字段名 1 WITH 表达式 1 ADDITIVE WITH ADDITIVE 功能 在当前表的指定记录中 直 接将字段值用指定的表达式值 来替换 字段变量应该使用 replace 命 令来修改 而内存变量使用 等号 命令或者 store 命令 修改 说明 该命令对内符 合的记录用 的值来替换的值 若范围和条件等选项都缺省 只对当前记录的有关字段进行 替换 ADDITIVE 用于备注型字段 表示将表达式值添加到字段的 原有内容后 而不是取代原有内 容 例 1 给表学生 dbf 增加一个字段年龄并且自动替换 先 modi comm 插入年龄字段 N 3 replace all 年龄 with year date year 出生年月 例 2 如果一张表有语文 数学 外语和总分四个字段 而前三个字段数据已经填写现在请自动填写总分 字段 并且把男同学的总分增加 10 repl all 总分 with 语文 数学 外语 repl all 总分 with 总分 1 1 for 性别 男 例 3 将入校总分字段全部清空 repl all 入校总分 with 0 例 4 将第 5 条记录的姓名字段改为 李四 repl reco 5 姓名 with 李四 或者 go 5 repl 姓名 with 李四 四 删除与恢复记录 1 记录逻辑删除命令 命令 DELETE FOR WHILE 功能 对当前表在指定范围内满足条件的记 录打上删除标记 说明 若可选项都缺省 只删除当前记录 DELETE 命令只是将指定的记录打上标记 并不是彻底的从表中删除记录 打上标记的记录可以恢复 2 记录物理删除命令 命令 PACK 功能 从物理上彻底删除打上 了删除标记的记录 说明 删除的记录不可以恢复 3 记录恢复命令 命令 RECALL FOR WHILE 功能 对当前表在指定范围内满 足条件的记录去掉删除标记 若可选项都缺省则只恢复当前 记录 4 记录清除命令 命令 ZAP 功能 从物理上删除当前表中 的所有记录 注 ZAP 只是将表中的记录全 部删除了 但是表结构仍然存 在 dele 逻辑删除 recall 恢复删除 pack 在 dele 的基础上物理删除 zap 与上面三条命令无关 直接清除表中所有数据 保留表结构 delete 范围 for while 删除指定的记录 加删除标记 recall 范围 for while 恢复删除指定的记录 去掉删除标记 pack 和 zap 没有参数 例如 Use 学生 Go 2 Insert blank Dele next 3 List Recall all List 补充 SET DELETED ON OFF 指定是否处理标有删除标记的记录 以及其他命令是否可以操作它们 SET DELETED On 使用范围子句处理记录 包括在相关表中的记录 的命令忽略标有删除标记的记录 SET DELETED OFF 默认值 使用范围子句处理记录 包括在相关表中的记录 的命令可以访问标有删除标记的记录 例如 use xsda set dele on list set dele off list 3 73 7 表的过滤表的过滤 表的过滤 了解 1 记录的过滤 命令 SET FILTER TO 功能 从当前表中过滤出符合指定条件的记录 随后的操作仅限于这些记录 说明 缺省条件时表示取消所设置的过滤器 例如 SET FILTER TO 性别 女 LIST SET FILTER TO 取消过滤 LIST 2 字段过滤 命令 SET FIELDS TO ALL 功能 为当前表设置字段过滤器 说明 其中是需要访问的字段名称列表 个字段之间用 隔开 ALL 选项表示所有字段都在字 段名表中 命令 SET FIELDS ON OFF 决定字段名表是否有效 当设置字段过滤器时 SET FIELDS 自动置 ON 表示只能访问字段名表指定的字段 SET FIELDS OFF 表示取消字段过滤器 恢复原来状态 例如 SET FIELDS TO 学号 姓名 性别 LIST SET FIELDS ON LIST SET FIELDS OFF 取消字段过滤 LIST 3 8 数组和表之间的数据交换 1 将表中记录传送到数组或内存变量 命令 SCATTER FIELDS MEMO TO BLANK MEMVAR BLANK 功能 将当前记录的字段值按顺序依次送如数组元素中 或依次送如一组内存变量 说明 若选择 FIELDS 子句 则只传送字段名表中的字段值 否则将传送所有字段值 备注型和通用型字 段除外 若要传送备注型字段值 还需要使用 MEMO 项 scatter 用法一 将当前记录的值赋给内存变量 格式 scatter fields 字段名表 MEMVER 例如 use 学生 go 3 disp scatter fields 学号 姓名 入学成绩 memvar m 学号 m 姓名 m 入学成绩 scatter 用法二 将当前记录的值赋给数组变量 格式 重点掌握 scatter fields 字段名表 to 数组变量名例如 use xsda go 3 scatter fields 学号 姓名 入学成绩 简历 to kk memo list memo like kk 例如 use xsda go 3 dime ks 3 scatter to ks list memo like ks 思考 KS 的单元有几个 备注型字段的值传到了数组 ks 中吗 通用型字段呢 6 NO NO 结论 1 scatter to 数组变量名时 数组可以不先定义 数组的下标大小由字段个数确定 2 如果定义了数组 如果字段个数超过了数组下标 则会下标会自动扩展下标说明 dime arr 4 4 就是下 标 3 通用型不能赋给数组 备注型可以 但是必须要加参数 memo 例如 scatter to yuio memo yuio 的单元就变成 7 个了 2 将数组或内存变量的数据传送到记录 命令 GATHER FROM MEMVAR FIELDS MEMO 功能 将数组或内存变量的数据依次传送到当前记录 以替换相应字段值 说明 修改记录前应确定记录指针位置 若使用 FIELDS 子句 仅中的字段才会被数组元素替代 缺省 MEMO 子句时将忽略备 注型字段 内存变量值将传送给与它同名的字段 若某字段无通明的内存变量 则不对该字段进行数据替换 若数组元素多于字段数 则多余的数组元素不传送 而数组元素少于字段数 则多余的字段其值 不会改变 gatherfrom 数组 将数组的值传给给表 例如 use xsda go 3 disp dime ks 3 scatter to ks ks 3 张三 gather from ks disp 例 use 学生 dime hh 3 list go 3 scatter to hh hh 2 hh 2 李四 gather from hh List GO 5 SCATTER MEMVAR DISP MEMO 学号 A0201105 GATHER MEMVAR DISP 2 多记录和数组之间的数据交换 1 将表的一批记录复制到数组 命令 COPY

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论