数据记录的维护操作._第1页
数据记录的维护操作._第2页
数据记录的维护操作._第3页
数据记录的维护操作._第4页
数据记录的维护操作._第5页
免费预览已结束,剩余19页可下载查看

下载本文档

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

文档简介

章节章节第三章第三章 数据记录的维护操作数据记录的维护操作 教学教学 目的目的 要求要求 通过对第三章的学习 使学生对工作区的概念有个全面的理解 并会 使用工作区来打开表 会使用多个工作区 使学生对表中的数据记录能够 进行添加 修改 删除 替换 定位等操作 同时能够使用命令完成这些 操作 教学教学 重点重点 难点难点 教学重点 1 工作区的用法 2 多工作区的使用 3 掌握表结构 数据记录的显示命令 4 掌握数据记录的添加 定位 删除 替换命令 教学难点 1 多工作区的使用 2 数据记录的添加 定位 删除 替换命令的使用 拟留拟留 作业作业 与与 实训实训 作业 1 工作区的使用 2 显示表结构 3 显示表数据记录 4 数据记录的定位 包括绝对定位和相对定位 5 数据记录的添加 6 数据记录的删除 替换 实训 实训 完成实训大纲中实训项目四 小结小结 通过本章学习 1 掌握工作区以及多工作区的使用方法 2 掌握表菜单下的命令操作 3 掌握表菜单下的命令操作对应的命令 渤海大学教案用纸 2006 年 3 月 2 教学主要内容教学主要内容 教学方法教学方法 时间分配时间分配 学习目标 知识点 1 熟悉工作区的概念 2 掌握工作区的使用方法 3 掌握多工作区的使用 4 掌握在当前工作区操作其他工作表的方法 技能点 1 会选择工作使用表 2 会切换工作区使用表 3 在当前工作能够对其他工作区表进行操作 第一节 第一节 工作区的的使用工作区的的使用 一 工作区的概念与多表的使用一 工作区的概念与多表的使用 在以前版本中一直沿用了多工作区的概念 在每个工作区中可以打 开一个表 即在一个工作区中不能同时打开多个表 如果在同一时刻需 要打开多个表 则只需要在不同的工作区中打开不同的表就可以了 Visual FoxPro 最多可以同时打开 32767 个数据表 每个打开的表都要 在存储器中开辟一个存储区域 我们把这个存储区域叫做工作区 所以 可知 Visual FoxPro 为数据表提供了 32767 个工作区 用 USE 命令打开表时 系统默认使用 1 号工作区 而且每当使用 USE 命令打开表时 Visual FoxPro 会先将此工作区原先已打开的表关 闭 由此可知 假如希望同时打开多个表 必须先选择工作区 USE 命 令中的 IN WorkArea 选项可以指定工作区 专门选择工作的命令是 SELECT nWorkArea cWorkArea cTableAlias 在 Visual FoxPro 中规定工作区编号是 1 32767 只有前 10 个工作区 有固定的名称 分别是 A J 工作区别名是指定工作区中打开的数据库 表别名 举例来说 假设有学生及成绩两个表 并且希望同时打开它们 则 在命令窗口中执行下列命令 CLOSE DATABASE ALL OPEN DATABASE 学生管理 SELECT 1 USE 学生 SELECT 2 USE 成绩 在 USE 命令中加入选项同样可以同时打开表学生及成绩 执行命令 如下 CLOSE DATABASES ALL OPEN DATABASE 学生管理 USE 学生 IN 1 USE 成绩 IN 2 由上面的练习发现 IN 参数能使在不离开当前所在工作区的情况下 在别的工作区打开表 前面我们曾经提到过 未加入任何参数的 USE 命 3030 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 3 令 能够关闭当前所在工作区中已打开的表文件 而搭配 IN 参数的使 用 则能够让在不离开当前所在工作区的情况下 关闭别的工作区中已 打开的表 在前面的例子中 学生表在工作区 1 中 成绩表打开在工作区 2 中 而当前工作区仍然是 1 号工作区 假设希望工作区 2 位于当前工作区 可以用 SELECT 命令实现 看下面的命令 SELECT 2 SELECT B 注意 我们通常称当前所在的工作区为当前工作区 而打开于当前 工作区的表则称为当前表 或活动表 在某些时候 可以同时打开了好几个表 甚至搞不清楚哪些工作区 已打开 而哪些尚未打开 为了避免发生这种情况 建议每次都在被占 用的最小号工作区中打开表 什么是被占用的最小号工作区呢 举例来 说 假设已经在第 1 号与第 3 号工作区中打开表 而未被占用的最小号 工作区就是 2 号工作区 选择未被占用的最小号工作区可以使用下列两种方法 1 使用 SELECT 0 命令 每次打开数据表前 先执行 SELECT 0 命令 系统便会选择未被占用 的最小号工作区为当前工作区 例如 CLOSE DATABASE ALL OPEN DATABASE 学生管理 SELECT 1 USE 学生 SELECT 3 USE 成绩 SELECT 0 USE 课程 2 使用 IN 选项 直接使用添加了 IN 0 选项的 USE 命令打开表 例如 CLOSE DATABASES ALL OPEN DATABASE 学生管理 USE 学生 IN 1 USE 成绩 IN 3 USE 课程 IN 0 二 表的别名二 表的别名 选用最小号工作区打开表 很可以使我们一时不知道该表占用的工 作区编号或名称 在这种情况下 我们该如何切换工作区呢 其实在前 面介绍的 SELECT 命令语法中 也可利用工作区中打开表的别名 Alisas 来选择工作区 而表的别名可以在用 USE 命令打开表时指定 若不指定则默认为表原名就是别名 例如 假设我们分别在工作区 1 与 工作区 2 中打开表学生与成绩 如下所示 2020 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 4 CLOSE DATABASES ALL OPEN DATABASE 学生管理 SELECT 0 USE 学生 SELECT 0 USE 成绩 若想切换回第 1 号工作区 只要执行命令 SELECT 学生 而若想再切换回第 2 号工作区 只要执行命令 SELECT 成绩 可在 USE 命令中使用 ALIAS AliasName 参数来指定表的别名 例如 CLOSE DATABASES ALL OPEN DATABASE 学生管理 SELECT 0 USE 学生 ALIAS STUDENT SELECT 0 USE 成绩 ALIAS SCORE 必须注意的是 一旦指定了别名 则必须利用别名切换工作区 所 以此时若想切换回第 1 号工作区中 必须执行命令 SLECT STUDENT 想再切换回第 2 号工作区中 必须执行命令 SELECT SCORE 注意 各个工作区中已打开的表的别名不可重名 三 直接操作非当前工作区的字段 直接操作非当前工作区的字段 Visual FoxPro 也允许在当前工作区 直接操作其他工作区中已打 开表的字段 但是请使用下面的引导格式 别名 字段名称 或 别名 字段名 举例来说 假设我们在工作区 1 中打开了表学生 在工作区 2 中打开 了表成绩 2 号工作区是当前工作区 假如希望要浏览表学生中学号与 姓名字段的内容 请键入如下命令 CLOSE DATABASES ALL OPEN DATABASE 学生管理 SELECT 0 USE 学生 SELECT 0 USE 成绩 学生 学号 学生 姓名 CLOSE DATABASES 利用 别名 字段名称 的格式 可以让您清楚地指出 此字段是哪一 个工作区中表的字段 如果在字段名称前不加别名引导 表示它为当前 工作区的当前表字段 四 重复打开同一个表 重复打开同一个表 Visual FoxPro 允许在不同的工作区中 同时打开同一个表文件 3030 分钟分钟 详讲 详讲 2020 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 5 这种操作必须在 USE 命令中增加选项 AGAIN 假设我们希望同时在三个 工作区中打开表学生 可使用下列方式 CLOSE DATABASE ALL OPEN DATABASE 学生 SELECT 0 USE 学生 SELECT 0 USE 学生 AGAIN USE 学生 IN 0 AGAIN 在不同的工作区中重复打开同一个表时 假如我们没有指定别名的 话 则第一次以表名作为别名 再次重复打开时则以工作区名作为别名 如果前 10 个工作区中打开 那么别名则分别可能是 A J 如果在 11 32767 号工作区打开 则别名分别可能是 W11 W32767 让我们看看下面的实例 CLOSE ALL OPEN DATABASE 学生管理 SELECT 1 USE 学生 ALIAS 学生 SELECT 2 USE 学生 AGAIN ALIAS B SELECT 10 USE 学生 AGAIN ALIAS J SELECT 0 USE 学生 AGAIN ALIAS C SELECT 11 USE 学生 AGAIN ALIAS W11 SELECT 0 USE 学生 AGAIN ALIAS B SELECT30 USE 学生 AGAIN ALIAS W30 渤海大学教案用纸 2006 年 3 月 6 SELECT 32767 USE 学生 AGAIN ALIAS W32767 CLOSE ALL 渤海大学教案用纸 2006 年 3 月 7 教学主要内容教学主要内容 教学方法教学方法 时间分配时间分配 渤海大学教案用纸 2006 年 3 月 8 学习目标 知识点 1 显示表的结构 2 显示表的记录 技能点 1 用命令显示表结构 2 用命令显示数据记录 第二节 数据表的显示第二节 数据表的显示 一 显示表结构一 显示表结构 可以使用命令来查阅当前表的结构 命令如下 LIST STRUCTURE 或 DISPLAY STRUCTURE LIST 命令以连续输出方式显示表结构 DISPLAY 命令以分页的方 式显示表结构 比方说 想要列出表学生的结构 可以这样 CLOSE DATABASES ALL OPEN DATABASE 学生管理 USE 学生 LIST STRUCTURE 如果在使用 LIST STRUCTURE 命令前 还没有打开表 屏幕会出 现一个 打开 对话框 提示先选择并打开一个表 假如您希望将表的结构用打印机打印出来 只要在 LIST STRUCTURE 命令中加入 TO PRINTER 关键字即可 例如 CLOSE DATABASES ALL OPEN DATABASE 学生管理 USE 学生 LIST STRUCTURE TO PRINTER 或许希望将表的结构存储到一个文本文件中 请在 LIST STRUCTURE 命令中加入 TO FILE FileName 参数 例如 CLOSE DATABASES ALL OPEN DATABASE 学生管理 USE 学生 LIST STRUCTURE TO FILE TEST 该命令将表学生的结构复制到文本文件 TEST TXT 中 TXT 为默认 扩展名 二 显示表记录二 显示表记录 LIST 命令 语法 LIST FIELDS FieldList Scope FOR Expression1 WHILE Expression2 OFF NOCONSOLE NOOPTIMIZE TO PRINTER PROMPT TO FILE FileName 3030 分钟分钟 详讲 详讲 1010 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 9 DISPLAY 命令 LIST FIELDS FieldList Scope FOR Expression1 WHILE Expression2 OFF NOCONSOLE NOOPTIMIZE TO PRINTER PROMPT TO FILE FileName LIST 命令与 DISPLAY 命令都可用来显示表的数据记录 它们的语法 也基本相同 我们将详细介绍 LIST 命令的使用方法 然后再说明 DISPLAY 命令与 LIST 命令的差异 但要注意的是 在使用 LIST 命令或 DISPLAY 命令之前必须先使用 USE 命令打开表文件 假设我们想显示表学生的数据内容 在命令唇膏口中执行下列命令 OPEN DATABASE 学生管理 USE 成绩 LIST 结果屏幕上会出现表学生的所有记录 我们发现没有参数的 LIST 命令 显示了当前表中的所有记录 而且 在首行显示出各字段名称的序列 如果不希望将字段名显示出来 请先 执行状态控制命令 SET HEADING OFF 例如 SET HEADING OFF LIST 那么 屏幕上显示表学生的所有记录时 字段名将不被显示 如果希望恢复字段名的显示 可在命令窗口中执行下列命令 SET HEADING ON 1 显示指定字段内容 如果只想显示部分字段的内容 请使用 FIELDS FidldList 关键字 FIELDS 可省略 其中 FidldList 即为字段名称系列 而各个字段名称之 间请使用逗号分隔 假设我们只想显示表学生中 学号 姓名 及 性 别 三个字段的内容 请在命令窗口中输入下列命令 OPEN DATABASE 学生管理 USE 学生 LIST 学号 姓名 性别 各个字段之间用逗号来分隔 2 指定记录显示范围 利用 Scope 参数可以限定显示记录的范围 此范围值如下 RECORE nExpr 表示指定仅显示第 nExpr 条记录 NEXT nExpr 表是指定仅显示从当前记录开始的 nExpr 条记录 REST 表示指定从当前记录开始到表结尾的全部记录 ALL 表示指定显示所有的数据记录 例如 显示学生表的第 5 条记录 OPEN DATABASE 学生管理 1010 分钟分钟 详讲 详讲 1010 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 10 USE 成绩 CLEAR LIST RECORD 5 例如 显示学生表中第 1 条至第 3 条数据记录 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST NEXT 3 例如 接着范例 2 显示表学生中 从当前数据记录开始至表结尾的数据记 录 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST REST 例如 显示表学生中第 5 条记录的 姓名 及 院系 字段 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST 姓名 院系 RECORD 5 3 显示满足条件的全部记录 如果加入 FOR Iexpression1 的条件子句 则 LIST 命令会在指定范 围内查找符合 Iexpression1 条件的记录 而且只有这些符合条件记录会 被 LIST 命令显示出来 例如 将表学生中 学生姓名为 季节 的记录显示出来 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST FOR 姓名 季节 例如 将表学生中 显示院系中包含 中文 的记录显示出来 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST FOR 中文 院系 例如 将成绩表中 成绩介于 70 80 之间的记录显示出来 OPEN DATABASE 学生管理 USE 成绩 CLEAR LIST FOR 成绩 70 AND 成绩 1985 01 01 例如 将学生表中男学生的姓名字段值显示出来 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST FOR 性别 男 4 显示满足条件的连续记录 在 LIST 命令中 选项 WHILE 会从当前记录开始 逐一测试记录是否 满足条件 Iexpression2 满足条件则显示该记录 一旦遇到不符合条件 记录时 便立刻停止测试结束显示操作 比较下面的两段程序的执行情况 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST FOR 性别 男 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST WHILE 性别 男 5 不显示记录号 如果在 LIST 命令中加入选项 OFF 则记录号将不被显示 例如 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST 姓名 院系 性别 OFF 6 打印输出 如果在 LIST 命令中加入选项 TO PRINTER LIST 命令将会在把记录输 出到屏幕的同时 也送到打印机打印出来 例如 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST 姓名 院系 性别 TO PRINTER 7 建立一个文本文件 如果在 LIST 命令中加入 FILE FileName 选项 LIST 命令的输出将会 存储至指定的文本文件中 此文本文件默认扩展名为 TXT 5 5 分钟分钟 略讲 略讲 5 5 分钟分钟 略讲 略讲 渤海大学教案用纸 2006 年 3 月 12 例如 OPEN DATABASE 学生管理 USE 学生 CLEAR LIST FOR 姓名 院系 性别 TO FILE TEST 8 DISPLAY 命令的差异 LIST 命令默认操作范围是所有数据记录 即 ALL 而 DISPLAY 命令 的默认操作范围是当前数据记录 即 NEXT 1 当表中的数据记录太多 无法用一屏幕显示完时 DISPLAY ALL 命令 会以分页方式显示 并提示用户继续 而 LIST 命令则会连续显示 直到 最后一行记录在屏幕上显示出来为止 9 用浏览窗口显示记录 对比 LIST 和 DISPLAY 命令在屏幕编辑区显示记录的方式 相信有不 少用户更加怀念易学易用的浏览窗口方式 其实使用命令方式也可以启 动浏览窗口 只需执行 BROWSE 命令即可 例如 OPEN DATABASE 学生管理 USE 学生 BROWSE 同样地 也可在 BROWSE 命令中假如 FIELDS 选项 从而仅浏览特定 的字段 或使用 FOR 参数指定符合特定条件的记录 以下是 BROWSE 命 令几个最常用的用法示范 例如 浏览学生表中 所有学生的 学号 姓名 院系 及 出生日 期 OPEN DATABASE 学生管理 USE 学生 BROWSE FIELDS 学号 姓名 院系 出生日期 例如 浏览学生表中 院系是中文系的学生数据 OPEN DATABASE 学生管理 USE 学生 BROWSE FOR 中文 院系 例如 浏览学生表中 中文系女生的姓名 OPEN DATABASE 学生管理 USE 学生 BROWSE FIELDS 姓名 FOR 中文 院系 AND 性别 女 1010 分钟分钟 详讲 详讲 1010 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 13 教学主要内容教学主要内容 教学方法教学方法 时间分配时间分配 学习目标 知识点 3 记录指针的操作 4 数据记录的搜索 技能点 3 用命令实现记录指针的操作 4 用命令进行数据记录的搜索 第三节 数据记录的查询第三节 数据记录的查询 一 记录指针的操作一 记录指针的操作 当我们输入表记录时 按照记录输入的先后次序 系统自动为每一 条记录赋予了记录号 表中也存在着一个与 记录号 对应的指针 随着记录操作的变动 记录指针也随之变化 任何时候 记录指针总 是指向某一条记录 这条记录就叫做当前记录 使用 USE 命令打开表 以后 记录指针指向第一条记录 对数据记录指针的操作可以使用 表 菜单中的 转到记录 命 令 其中有 第一个 最后一个 上一个 下一个 命令 可以 在表中移动记录指针 在这里详细介绍如何使用命令来操作记录指针 对记录的任何操作 只能对当前记录起作用 很多命令 如 LIST 等 都可以自动控制记录指针 如果必要 也可以使用 GO GOTO 及 SKIP 命令直接移动记录指针 从而选择当前操作的记录 接下来是这些命令的详细使用说明 GO 命令 命令语法 GO nRecordNumber IN nWorkArea IN cTableAlias GO TOP BOTTOM IN nWorkArea IN cTableAlias NRecordNumber 参数是记录号 在命令窗口中执行 GO 命令 记录 指针将移至给定记录号的记录上 例如 假设要将记录指针移至第 4 条记录 请键入下列命令 OPEN DATABASE 学生管理 USE 学生 GO 4 DISPLAY 如果想将记录指针移至第一条记录上 请添加参数 TOP 如果想将 记录指针移至最一条记录上 请添加参数 BOTTOM 例如 OPEN DATABASE 学生管理 USE 学生 3030 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 14 GO BOTTOM DISPLAY GO TOP DISPLAY 利用 IN nWorkArea 或 IN cTableAlias 子句 也可以移动其他工作 区中表的记录指针 其中 nWorkArea 可以是工作区数字编号 cTableAlias 则可以是工作区的别名或工作区名 例如 CLOSE DATABASES ALL USE 学生 IN 0 USE 成绩 IN 0 GO 4 RECNO 4 GO 3 IN 2 RECNO 2 3 注意 RECNO 函数会返回当前记录指针所指向记录的编号 其 语法是 RECNO nWorkArea cTableAlias 参数 nWorkArea 与 cTableAlias 可以指示 RECNO 函数检查其他 工作区 GOTO 命令与 GO 命令完全相同 SKIP 命令 命令语法 SKIP nRecords IN nWorkArea IN cTableAlias SKIP 命令可以将记录指针相对与当前记录 往前或往后移动若干 条记录 没有任何参数 SKIP 命令相当于 SKIP 1 命令 会将记录指 针下移一条记录 例如 CLOSE DATABASES OPEN DATABASE 学生管理 USE 学生 RECNO 1 SKIP RECNO 2 DISPLAY 如果选项 nRecords 为正数 则记录指针会从当前记录向下移动 如果选项 nRecords 为负数 则记录指针会从当前记录向上移动 选项参 2020 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 15 数值是移动的记录条数 例如 CLOSE DATABASES OPEN DATABASE 学生管理 USE 学生 SKIP 5 RECNO 5 SKIP 3 RECNO 3 利用 IN nWorkArea 或 IN cTableAlias 子句 SKIP 命令也可以移 动其他工作区的记录指针 NWorkArea 可以是工作区数字编号 cTableAlias 则可以是工作区的别名 或工作区名 例如 CLOSE DATABASES OPEN DATABASE 学生管理 USE 学生 SKIP RECNO 2 SKIP 4 IN 成绩 RECNO 学生 5 测试函数 在数据表第一条记录之前是表的起始位 而在最后一条记录之后 则是表的结束位 当记录指针已经指向第一条记录时 再用 SKIP 1 命令移动指针 将会使记录指针移至表的起始位 但是利用 RECNO 函数查看当前记 录号 会发现记录号仍然是 1 若再次执行记录指针 SKIP 1 命令 系 统将会提示出错信息 为了防止出错 在程序中常会利用 BOF 函数 判断记录指针的位置 如果记录指针已到达起始位 BOF 函数将返回 逻辑真值 否则返回逻辑假值 为了避免再次执行 SKIP 1 命令时发生 错误 通常的作法是执行 GO TOP 命令 将记录指针再移至第一条记录 上 例如 OPEN DATABASE 学生管理 USE 学生 CLEAR RECNO 1 BOF F 3030 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 16 SKIP 1 RECNO 1 GO TOP 当记录指针位于最后一条记录时 再执行 SKIP 命令 就会把记录指 针移至结束位 但是此时的记录号仍然是最大记录号再加 1 若再执行 SKIP 命令 系统将会提示出错西 我们常会利用 EOF 函数判断记录指针是否到达表的结束位 如果 记录指针已达到表的结束位 EOF 函数将返回逻辑真值 否则将返回逻辑 假值 为了避免再次执行 SKIP 命令十发生错误 通常的作法是执行 GO BOTTOM 命令 将记录指针在移至最后一条记录 例如 OPEN DATABASE 学生管理 USE 学生 GO BOTTOM CLEAR RECNO 8 EOF F SKIP EOF T RECNO 9 GO BOTTOM 二 数据记录的搜索二 数据记录的搜索 对数据记录的搜索可以使用 表 菜单中的 转到记录 命令 其中有 定位 命令 可以在表中定位记录指针 选择 定位 命令 在弹出的对话框中 可以选择搜索的范围 条件 范围包括四种选项 ALL NEXT REST RECORD 在 FOR 选项弹出 的表达式生成器中可以设置搜索记录的条件设置 在这里详细讲解数据记录的查询命令 当数据表中的记录非常多时 不可能在浏览窗口中查看或利用 GO 与 SKIP 命令逐项查找需要的记录 此时 借助专为搜索操作所设计的 LOCATE 命令就是明智的选项 下面是 LOCATE 命令的语法 LOCATE FOR lExpression LOCATE 命令可以找出当前表中 所有符合指定条件 lExpression 的 记录 并且将记录指针指向第一条满足条件的记录 当找不到满足条件的 记录时 会将记录指针指向结束位 在状态栏中显示 已到搜索范围的结尾 的信息 并结束搜索操作 LOCATE 命令找到了满足条件的记录 表是查找操作成功 执行 2020 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 17 FOUND 函数将返回真值 而 EOF 函数则会返回假值 反之 如果 LOCATE 命令没有找到满足指定条件的记录 FOUND 函数将返回假值 EOF 函数 则会返回真值 当数据表中存在多个满足条件的记录时 可以用 CONTINUE 命令逐 次找出后面的记录 以下是几个使用 LOCATE 命令搜索数据记录的例子 注意 在使用 LOCATE 命令找到指定条件的数据记录后 可随即执 行 DISPLAY 命令将其内容显示出来 或是执行 BROWSE 命令以便在浏览窗 口中检查或编辑此条数据记录 例如 在表学生中 找出学生姓名为 季节 的记录 并将其内容显示 在编辑区 OPEN DATABASE 学生管理 USE 学生 LOCATE FOR 姓名 季节 DISPLAY 例如 在表学生中 找出学生姓名为 王晓丹 的学生记录 并在浏览 窗口中检查其内容 OPEN DATABASE 学生管理 USE 学生 LOCATE FOR 姓名 王晓丹 BROWSE 例如 在表学生中 找出所有中文系的学生记录 并一一显示在编辑区 OPEN DATABASE 学生管理 USE 学生 LOCATE FOR 院系 中文 DISPLAY CONTINUE DISPLAY 直到状态栏出现 已到搜索范围的结尾 的信息 渤海大学教案用纸 2006 年 3 月 18 教学主要内容教学主要内容 教学方法教学方法 时间分配时间分配 渤海大学教案用纸 2006 年 3 月 19 学习目标 知识点 5 数据记录的插入 6 数据替换操作 技能点 5 用命令向表中插入记录 6 用命令替换数据记录 第四节 数据表的维护与编辑第四节 数据表的维护与编辑 一 数据记录的插入一 数据记录的插入 维护数据库的一项经常性的操作就是根据需要随时向表文件中添 加记录 添加记录包括追加记录 插入记录和利用其他文件追加 追加 记录的菜单使用在前面已经讲过 在这里详细介绍如何使用命令来向表 中追加记录 向表中追加记录包括在表的尾部增加记录和在表中当前指 针位置插入记录 APPEND 命令 APPEND 命令是在表的尾部增加记录 它有三种格式 APPEND APPEND BLANK APPEND FROM 表名 使用 APPEND 命令需要立刻交互输入新的记录值 一次可以连续输入 多条新的记录 然后关闭窗口结束输入新记录 APPEND 命令相当于在向 表中增加记录时选择追加记录方式 而 APPEND BLANK 是在表的尾部增加一条空白记录 然后再用 EDIT CHANGE 或 BROWSE 命令交互修改空白记录的值 或用 REPLACE 命令 直接修改该空白记录值 APPEND BLANK 命令相当于在向表中增加记录时 选择追加新记录方式 而 APPEND FROM 命令是从 FROM 指定的表中向当前打开的表中追加全 部记录 但是要特别注意的是 追加的来源表必须和要追加的目的表的 表结构完全相同 例如 OPEN DATABASE 学生管理 USE 学生 APPEND 结果 可以在学生表的编辑模式状态下输入任意多条记录 例如 OPEN DATABASE 学生管理 USE 学生 APPEND BLANK 结果 只可以在学生表的浏览模式状态下输入一条记录 例如 OPEN DATABASE 学生管理 USE 学生 COPY TO XS APPEND FROM XS 3030 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 20 注意 COPY TO XS 是把当前打开的学生表的全部数据记录复制到以 XS 为名的表文件里 结果 把 XS 表里的全部数据记录追加到学生表的后面 INSERT 命令 INSERT 命令可以在表的任意位置插入新的记录 它的命令格式为 INSERT BEFORE BLANK 如果不指定 BEFORE 则在当前记录之后插入一条新记录 否则在当前 记录之前插入一条新记录 如果不指定 BLANK 在当前记录之后 之前 输入任意多条记录 并 以交互方式输入记录的值 否则在当前记录之后 或之前 插入一条空 白记录 然后再用 EDIT CHANGE 或 BROWSE 命令交互式输入或修改空白 记录的值 或用 REPLACE 命令直接修改该空白记录值 例如 OPEN DATABASE 学生管理 USE 学生 INSERT 结果 可以在当前记录指针后输入任意多条记录 例如 OPEN DATABASE 学生管理 USE 学生 INSERT BLANK 结果 可以在当前记录指针后输入一条记录 例如 OPEN DATABASE 学生管理 USE 学生 INSERT 结果 可以在当前记录指针后输入任意多条记录 例如 OPEN DATABASE 学生管理 USE 学生 INSERT BEFORE 结果 可以在当前记录指针前输入任意多条记录 例如 OPEN DATABASE 学生管理 USE 学生 INSERT BLANK BEFORE 结果 可以在当前记录指针前输入一条记录 注意 如果在表上建立了主索引或候选索引 则不能用以上的 APPEND 或 INSERT 命令插入记录 必须用 SQL 的 INSERT 命令插入记录 二 数据替换操作二 数据替换操作 利用 表 菜单下的 替换字段 命令可以实现对数据记录的替换 操作 在 替换字段 中有字段 替换为 替换条件三个部分 其中 字段文本框中要输入的是需要替换的字段名 替换为文本框中可以输入 要替换为的值 也可以用表达式生成器来实现 同时 可以对替换操作 2020 分钟分钟 详讲 详讲 3030 分钟分钟 详讲 详讲 渤海大学教案用纸 2006 年 3 月 21 设置替换范围 可以在 FOR 或 WHILE 文本框中输入替换范围 也可以使 用表达式生成器来实现 下面详细介绍数据替换操作的命令 利用 REPLACE 命令 可以对大批记录的某个 或某几个 字段值做 统一的更新 REPLACE 命令的语法如下 REPLACE FieldName1 WITH eExpression1 ADDITIVE FieldName1 WITH eExpression2 ADDITIVE FOR lExpression 语法中的 FieldName1 FieldName2 等 即为要更新的字段名 WITH 子句中的 eExpression1 eExpression2 等 则是用来置换对应字段值的 表达式 然而必须特别注意 被更新字段的数据类型必须与置换表达式 的数据类型相同 1 基本操作 例如 我们要把表学生中第 5 条记录性别字段的内容 男 改为 女 键入命令 OPEN DATABASE 学生管理 USE 学生 GO 5 REPLACE 性别 WITH 女 如果希望使用 REPLACE 命令增加一条新记录至表学生中 可以使用 下列命令 OPEN DATABASE 学生管理 USE 学生 APPEN BLANK REPLACE 学号 WITH 99036004 REPLACE 姓名 WITH 张明 REPLACE 性别 WITH 男 REPLACE 院系 WITH 建筑 REPLACE 出生日期 WITH 1984 03 04 REPLACE 备注 WITH 小学 或 OPEN DATABASE 学生管理 USE 学生 REPLACE 学号 WITH 99036004 姓名 WITH 张明 性别 WITH 男 院系 WITH 建筑 出生日期 WITH 1984 03 04 REPLACE 备注 WITH 小学 此外 在替换数值字段值时 若是替换值超过被替换值的宽度 则 REPLACE 命令会采取下列方式来调整 a 小数点后的数字被截掉并按四舍五入方式进位 若仍无法容 纳此数 则采用下一方式 b 用科学计数法表示字段内容 若这种方法仍不行 则采用下 一方式 渤海大学教案用纸 2006 年 3 月 22 c 用星号 来取代字段内容 表示内容超出范围 2 备注字段的替换 虽然指定了备注字段以后 用 WITH 子句就可以替换其中的内容 但 是只有在 LOCATE 命令中添加了选项 ADDITIVE 以后 才会使替换内容追 加到备注字段中已存在数据内容的后面 例如 OPEN DATABASE 学生管理 USE 学生 LOCATE FOR 姓名 季节 REPLACE 备注 WITH 小学 MODIFY MEMO 备注 CLOSE DATABASES 例如 OPEN DATABASE 学生管理 USE 学生 LOCATE FOR 姓名 季节 REPLACE 备注 WITH 中学 ADDITIVE MODIFY MEMO 备注 CLOSE DATABASES 结果 会把 中学 追加到姓名为季节的学生的备注字段内容之后 即姓名为季节的学生的备注字段内容为 小学中学 例如 OPEN DATABASE 学生管理 USE 学生 LOCATE FOR 姓名 季节 REPLACE 备注 WITH 高中 MODIFY MEMO 备注 CLOSE DATABASES 结果 会把姓名为季节的学生的备注字段中原先的 小学中学 内 容先删除 在把 高中 追加到姓名为季节的学生的备注字段内容 即 姓名为季节的学生的备注字段内容为 高中 注意 MODIF

温馨提示

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

评论

0/150

提交评论