计算机二级vf上机考试题库-答案.pdf
计 算 机 二 级 2011年 9 月 计 算 机 二 级 vf上 机 考 试 模 拟 题 答 案 第 一 套 一、基 本 操 作 题(共 4 小 题,第 1和 2题 是 7分、第 3和 4题 是 8分)注 意:基 本 操 作 题 为 4 道 SQL题,请 将 每 道 题 的 SQL命 令 粘 贴 到 SQL1.txt文 件,每 条 命 令 占 一 行,第 1道 题 的 命 令 是 第 1行,第 2道 题 的 命 令 是 第 2行,以 此 类 推;如 果 某 道 题 没 有 做 相 应 行 为 空。在 考 生 文 件 夹 下 完 成 下 列 操 作:1.利 用 SQL SELECT命 令 将 表 stock_sl.dbf 复 制 到 stock_bk.dbf;2.利 用 SQL INSERT命 令 插 入 记 录(600028,4.36,4.60,5500)到 stock.bk.dbf 表。3.利 用 SQL UPDATE命 令 将 stock_bk.dbf表 中 股 票 代 码 为 600007的 股 票 现 价 改 为 8.88。4.利 用 SQL DELETE命 令 删 除 stock.bk.dbf表 中 股 票 代 码”为 600000的 股 票。本 题 的 主 要 考 核 点:SQL语 句 的 使 用。1、SELE*FROM stock.sl INTO DBF stock.bk2、INSE INTO stock-bk(股 票 代 码,买 入 价,现 价,持 有 数 量)VALU(600028,4.36,4.60,5500)3、UPDA stock_bk SET 现 价=8.88 WHER 股 票 代 码=6000074、DELE FROM stock-bk WHER 股 票 代 码=600000”三、综 合 应 用(1 小 题,计 30分)在 考 生 文 件 夹 下 有 学 生 成 绩 数 据 库 XUESHENG3,包 括 如 下 所 示 三 个 表 文 件 以 及 相 关 的 索 引 文 件:1、XS.DBF(学 生 文 件:学 号 C8,姓 名 C8,性 别 C2,班 级 C5;另 有 索 引 文 件 XS.IDX,索 引 键:学 号)2、CJ.DBF(成 绩 文 件:学 号 C8,课 程 名 C20,成 绩 N5.1;另 有 索 引 文 件 CJ.IDX,索 引 键:学 号)3、CJB.DBF(成 绩 表 文 件:学 号 C8,姓 名 C8,班 级 C5,课 程 名 C12,成 绩 N5.1)设 计 一 个 名 为 XS3的 菜 单,菜 单 中 有 两 个 菜 单 项 计 算 和 退 出。程 序 运 行 时,单 击 计 算”菜 单 项 应 完 成 下 列 操 作:将 所 有 选 修 了 计 算 机 基 础 的 学 生 的 计 算 机 基 础”成 绩,按 成 绩 由 高 到 低 的 顺 序 填 列 到 成 绩 表 文 件 C JB.DBF中 停 前 须 将 文 件 中 原 有 数 据 清 空)。单 击 退 出 菜 单 项,程 序 终 止 运 行。(注:相 关 数 据 表 文 件 存 在 于 考 生 文 件 夹 下)本 题 的 主 要 考 核 点:结 构 化 查 询 语 言(S Q L)中 的 联 接 查 询、查 询 的 排 序、查 询 的 去 向 等 知 识 解 题 思 路:在 本 题 中 要 想 得 到 所 有 选 修 了 计 算 机 基 础 的 学 生 的 计 算 机 基 础”成 绩 及 学 生 的 姓 名 等 信 息,就 需 要 用 到 联 接 查 询。因 为 学 生 的 姓 名、班 级 在 表 XS.DBF中,而 学 生 的 成 绩 在 表 CJ.DBF中。而 这 两 个 表 要 联 接 起 来 可 以 通 过 学 号 字 段。有 以 下 两 种 联 接 查 询 的 形 式:S E L E C T XS.学 号,姓 名,班 级,课 程 名,成 绩 F R O M X S,C J W H E R E XS.学 号=CJ.学 号 AND课 程 名 小 计 算 机 基 础 或 者 S E L E C T XS.学 号,姓 名,班 级,课 程 名,成 绩 F R O M X S L E F T JIO N C J O N XS.学 号=CJ.学 号 WH E R E 课 程 名=计 算 机 基 础 通 过 以 上 的 联 接 查 询 便 得 到 了 所 有 选 修 计 算 机 基 础 的 学 生 的 计 算 机 基 础”的 成 绩 及 学 生 的 姓 名 等 信 息。而 题 中 所 要 求 按 成 绩 的 降 序 排 序,所 以 应 该 在 以 上 SQ L语 句 的 基 础 上 加 入:O R D E R BY成 绩 D E S C将 查 询 所 得 到 的 结 果 放 于 一 个 数 组 变 量 AFieldsValue中,要 用 到 INTO ARRAY AFieldsValue.至 此 一 个 完 整 的 SQL 联 接 查 询 语 句 便 形 成 了:SELECT XS.学 号,姓 名,班 级,课 程 名,成 绩 FROM XS,CJ WHERE XS.学 号=CJ.学 号 AND课 程 名=计 算 机 基 础 ORDER BY 成 绩 DESC INTO ARRAY AFieldsValue清 空 CJB.DBF将 tableName中 的 资 料 添 加 到 已 被 清 空 的 CJB.DBF中 INSERT INTO CJB FROM ARRAY AFieldsValue二、简 单 应 用(2 小 题,每 题 20分,计 40分)1、在 考 生 文 件 夹 下 建 立 数 据 库 sc2,将 考 生 文 件 夹 下 的 自 由 表 score2添 加 进 sc2中。根 据 score2表 建 立 一 个 视 图 score-view,视 图 中 包 含 的 字 段 与 score2表 相 同,但 视 图 中 只 能 查 询 到 积 分 小 于 等 于 1500的 信 息。然 后 利 用 新 建 立 的 视 图 查 询 视 图 中 的 全 部 信 息,并 将 结 果 按 积 分 升 序 存 入 表 v2o2、建 立 一 个 菜 单 filemenu,包 括 两 个 菜 单 项 文 件 和 帮 助,文 件 将 激 活 子 菜 单,该 子 菜 单 包 括 打 开 存 为 和 关 闭 三 个 菜 单 项;关 闭”子 菜 单 项 用 SET SYSMENU TO DEFAULT命 令 返 回 到 系 统 菜 单,其 他 菜 单 项 的 功 能 不 做 要 求。第 1题,本 题 的 主 要 考 核 点 是 视 图 的 建 立。在 项 目 管 理 器”中 选 择 一 个 数 据 库,选 择 本 地 视 图,然 后选 择 新 建 按 钮,打 开 视 图 设 计 器。选 择 所 有 字 段,在 筛 选 栏 内 输 入 条 件 积 分=150 0,关 闭 并 保 存。在 数 据 库 设 计 器 中 打 开 视 图,用 sort o n 积 分 to v 2 命 令 存 入 新 表。第 2题,本 题 的 主 要 考 核 点 是 菜 单 的 建 立。新 建 菜 单 可 按 下 列 步 骤:选 择 文 件 菜 单 中 的 新 建 命 令,在 新 建 对 话 框 中 选 择 菜 单,单 击 新 建 文 件 按 钮。在 新 建 菜 单”对 话 框 中 选 择 菜 单 按 钮,调 出 菜 单 设 计 器 也 可 用 C R E ATE M ENU命 令 直 接 调 出 菜 单 设 计 器。在 菜 单 名 称 中 填 入 文 件 帮 助 文 件”结 果 为 子 菜 单,单 击 编 辑;在 子 菜 单 的 菜 单 名 称 中 输 入 打 开、存 为、关 闭,关 闭 结 果 为 命 令 S ET S YS M E N U T O DEFAULT.第 二 套 一、基 本 操 作 题(共 4 小 题,第 1和 2题 是 7分、第 3和 4题 是 8分)在 考 生 文 件 夹 下 完 成 下 列 操 作(在 成 绩 管 理 数 据 库 中 完 成):1.为“学 生 表 在 学 号 字 段 上 建 立 升 序 主 索 引,索 引 名 为 学 号;2.为 学 生 表 的 性 别 字 段 定 义 有 效 性 规 则,规 则 表 达 式 为 性 别$男 女 出 错 提 示 信 息 是:性 别 必 须 是 男 或 女3.在 学 生 表 的 性 别 和 年 龄 字 段 之 间 插 入 一 个 出 生 日 期 字 段,数 据 类 型 为 日 期 型(修 改 表 结 构);4.用 SQL的 UPDATE命 令 将 学 生 王 三 风 的 出 生 日 期 修 改 为 1983年 5 月 1 日,并 将 该 语 句 粘 贴 在 SQL2.TXT文 件 中(第 一 行、只 占 一 行)本 题 的 主 要 考 核 点:主 索 引 的 建 立、字 段 有 效 规 则 的 建 立,表 结 构 的 更 改,SQL语 言 的 使 用。解 题 思 路:1.在 表 设 计 器 中 的 索 引 页 面 建 立 索 引。2、建 立 有 效 性 规 则 在 表 设 计 器 中 的 字 段 选 项 卡。在 规 则 栏 中 输 入 性 别$男 女,提 示 信 息 栏 输 入 性 别 必 须 是 男 或 女(不 要 双 引 号)。4.SQL语 句 的 用 法 UPDA学 生 SET出 生 日 期=A1983/05/01 WHER姓 名 小 王 三 风 三、综 合 应 用 a 小 题,计 3。分)在 考 生 文 件 夹 下 有 仓 库 数 据 库 CK3,包 括 如 下 所 示 两 个 表 文 件:CK(仓 库 号 C(4),城 市 C(8),面 积 N(4)ZG(仓 库 号 C(4),职 工 号 C(4),工 资 N)设 计 一 个 名 为 ZG3的 菜 单,菜 单 中 有 两 个 菜 单 项 统 计 和 退 出。程 序 运 行 时,单 击 统 计”菜 单 项 应 完 成 下 列 操 作:检 索 出 所 有 职 工 的 工 资 都 大 于 1220元 的 职 工 所 管 理 的 仓 库 信 息,将 结 果 保 存 在 whl数 据 表(WH1为 自 由 表)文 件 中,该 文 件 的 结 构 和 CK数 据 表 文 件 的 结 构 一 致,并 按 面 积 升 序 排 序。单 击 退 出“菜 单 项,程 序 终 止 运 行。(注:相 关 数 据 表 文 件 存 在 于 考 生 文 件 夹 下)本 题 主 要 考 核 点:菜 单 的 建 立、结 构 化 查 询 语 言(SQL)中 的 嵌 套 查 询、查 询 结 果 的 去 向 等 知 识。解 题 思 路:利 用 菜 单 设 计 器 定 义 两 个 菜 单 项,在 菜 单 名 称 为 统 计 的 菜 单 项 的 结 果 列 中 选 择 过 程,并 通 过 单 击 编 辑 按 钮 打 开 一 个 窗 中 来 添 加 统 计”菜 单 项 要 执 行 的 命 令。在 菜 单 名 称 为 退 出”的 菜 单 项 的 结 果 列 中 选 择 命 令,并 在 后 面 的 选 项 列 中 输 入 以 下 退 出 菜 单 的 命 令:SET SYSMENU TO DEFAULT“统 计 菜 单 项 要 执 行 的 程 序:首 先 中 打 开 数 据 库 文 件 OPEN DATABASE CK3.DBC下 面 我 们 分 析 所 要 用 到 的 查 询 语 句 的 实 现,题 面 要 求 检 索 出 所 有 职 工 的 工 资 都 大 于 1220的 职 工 所 管 理 的 仓 库 信 息”,所 以 得 到 满 足 以 上 条 件 的 仓 库 号 成 为 解 答 本 题 的 关 键。所 有 职 工 的 工 资 都 大 于 1220的 职 工 所 管 理 的 仓 库”这 个 条 件 可 以 将 其 分 解 为 同 时 满 足 以 下 两 个 条 件 的 结 果 仓 库 号 不 存在 于 职 工 的 工 资 小 于 等 于 1220的 职 工 所 管 理 的 仓 库 号 中 并 且 仓 库 号 存 在 于 表 ZG中,而 以 上 两 个 条 件 我 们 可 以 利 用 SQL轻 松 写 出 来。所 以 最 后 形 成 的 查 询 语 句 以 下:SELECT*FROM CK WHERE 仓 库 号 NOT IN(SELECT 仓 库 号 FROMZG WHERE 工 资=1220)AND 仓 库 号 IN(SELECT 仓 库 号 FROM ZG)INTO TABLE whl.dbf.后 面 的 INTO TABLE whl.dbf决 定 了 查 询 的 结 果 是 生 成 一 个 whl.dbf文 件。本 题 还 考 对 查 询 的 排 序 和 查 询 的 去 向 进 行 了 考 核.可 以 用 0RDER BY order-item ASC|DESC来 让 查 询 的 结 果 按 某 一 列 或 某 几 列 的 升 序(ASC)或 降 序(DESC)进 行 排 列。而 查 询 的 去 向 可 以 通 过 INTO TABLE strTableName而 直 接 生 成 一 个 文 件 名 为 strTableName的.DBF表。二、简 单 应 用(2 小 题,每 题 20分,计 40分)1、根 据 考 生 文 件 夹 下 的 txl表 和 jsh表 建 立 一 个 查 询 query2,查 询 出 单 位 是 南 京 大 学 的 所 有 教 师 的 姓 名、职 称、电 话,要 求 查 询 去 向 是 表,表 名 是 query2.dbf,并 执 行 该 查 询。2、建 立 表 单 enterf,表 单 中 有 两 个 命 令 按 钮,按 钮 的 名 称 分 别 为 cmdin和 cmdout,标 题 分 别 为 进 入 和 退 出 第 1题,本 题 的 主 要 考 核 点 是 建 立 查 询。建 立 查 询 可 以 使 用“文 件”菜 单 完 成,选 择 文 件 一 新 建 一查 询 一 新 建 文 件,将 t x l 和 j s h 添 加 入 查 询 中,从 字 段 中 选 择 姓 名、职 称 和 电 话 字 段,单 击 查 询 菜 单 下 的 查 询 去 向,选 择 表,输 入 表 名 query2.DBF。最 后 运 行 该 查 询。第 2题,本 题 的 主 要 考 核 点 是 表 单 的 建 立。可 以 用 三 种 方 法 调 用 表 单 设 计 器:在 项 目 管 理 器 环 境 下 调 用;单 击“文 件”菜 单 中 的“新 建”,打 开“新 建”对 话 框,选 择“表 单”;在 命 令 窗 口 输 入 C REATE FORM命 令。打 开 表 单 设 计 器 后,在 表 单 控 件 工 具 栏 上 单 击“命 令 按 钮”,在 表 单 上 放 置 两 个 按 钮。分 别 修 改 其 属 性 Name为 cm din和 cmdout,C apti on属 性 为 进 入 和 退 出。第 三 套 一、基 本 操 作(共 四 小 题,第 1 和 2 题 是 7 分、第 3 和 4题 是 8 分 1、请 在 考 生 文 件 夹 下 建 立 一 个 数 据 库 KS4。2、将 考 生 文 件 夹 下 的 自 由 表 S TUD、CO UR.SCOR加 入 到 数 据 库 K S4中。3、为 STUD表 建 立 主 索 引,索 引 名 和 索 引 表 达 式 均 为 学 号 第 二 十 一 套 一、基 本 操 作 题(共 四 小 题,第 1和 2题 是 7分、第 3和 4题 是 8 分)在 考 生 文 件 夹 下 完 成 如 下 操 作:1.打 开 订 货 管 理 数 据 库,并 将 表 order-detail添 加 到 该 数 据 库 中。2.为 表 order_detail的 单 价 字 段 定 义 默 认 值 为 N U LL。3.为 表 order-detail的 单 价 字 段 定 义 约 束 规 则:单 价 0,违 背 规 则 时 的 提 示 信 息 是:单 价 必 须 大 于 零 4.关 闭 订 货 管 理 数 据 库,然 后 建 立 自 由 表 customer,表 结 构 如 下:客 户 号 字 符 型(6)客 户 名 字 符 型(1 6)地 址 字 符 型(20)电 话 字 符 型(14)本 题 主 要 考 核 点:将 一 个 自 由 表 添 加 到 数 据 库 中、为 字 段 建 立 约 束 规 则、设 置 字 段 的 默 认 值、建 立 表 的 结 构 等 知 识 点 本 题 解 题 思 路:第 一 步:打 开 考 生 文 件 夹 下 的 订 货 管 理 数 据 库 第 二 步:打 开 数 据 库 菜 单 选 择 添 加 表(A),在 弹 出 的“打 开 对 话 框 中,选 定 考 生 文 件 夹 下 的 order-detail表,再 点 击 确 定 即 可,这 样 表 order.detail就 添 加 到 了 订 货 管 理 数 据 库 中第 三 步:在 数 据 库 设 计 器 中 选 中 order_detail表,选 择 数 据 库 菜 单 下 的 修 改(V),弹 出 表 设 计 器,在 表 设 计 器 中 点 击 单 价 所 在 的 行,单 击 N ull列 上 的 按 钮,确 认 按 钮 上 出 现 对 号,在 字 段 有 效 性 的 规 则 字 段 中 输 入:单 价 0,在 信 息 框 中 输 入:单 价 必 须 大 于 0,在 默 认 值 框 中 输 入:.N U LL.o确 定 即 可 第 四 步:关 闭 数 据 库,在 Visual FoxPro主 窗 口 中 按 下 组 合 键 Ctrl+N。系 统 弹 出 新 建 对 话 框,在 文 件 类 型 中 选 择 表,在 弹 出 的 对 话 框 中 选 择 新 建 表,并 在 弹 出 创 建 对 话 框 中 选 定 考 生 文 件 夹,在 输 入 表 名 中 填 入 customer,再 点 击 防。第 四 步:在 弹 出 的 表 设 计 器 中 按 题 面 的 要 求 依 次 输 入 各 个 字 段 的 定 义,点 击 确 定 按 钮,保 存 表 结 构。二、简 单 应 用(2小 题,每 题 20分,计 40分)在 考 生 文 件 夹 下 完 成 如 下 简 单 应 用:1.列 出 总 金 额 大 于 所 有 订 购 单 总 金 额 平 均 值 的 订 购 单(order-l i st)清 单(按 客 户 号 升 序 排 列),并 将 结 果 存 储 到 resul ts表 中(表 结 构 与 order-l i st表 结 构 相 同)。2.利 用 Visual Foxpro的 快 速 报 表 功 能 建 立 一 个 满 足 如 下 要 求 的 简 单 报 表:(1)报 表 的 内 容 是 order-detail表 的 记 录(全 部 记 录,横 向);(2)增 加 标 题 带 区,然 后 在 该 带 区 中 放 置 一 个 标 签 控 件,该 标 签 控 件 显 示 报 表 的 标 题 器 件 清 单;(3)将 页 注 脚 区 默 认 显 示 的 当 前 日 期 改 为 显 示 当 前 的 时 间;(4)最 后 将 建 立 的 报 表 保 存 为 reportl.frx。本 题 主 要 考 核 点:SQL中 的 查 询 SELECT查 询、联 接 查 询、查 询 的 排 序、查 询 的 结 果 的 去 向 等;振 耒 的 建 立 方 法 等 知 识 点.解 题 思 路:第 一 小 题:为 了 能 得 到 所 有 总 金 额 大 于 平 均 总 金 额 的 订 购 单 信 息,应 该 首 先 得 到 总 金 额 的 平 均 值,利 用:SELECT AVG(总 金 额)FROM ORDER-LIST INTO ARRAY AFieldsValue,并 将 总 金 额 的 平 均 值 放 到 一 个 数 组 变 量 之 中 AFieldsValue;下 一 步 就 可 以 以 总 金 额 AFieldsValue为 条 件 得 到 总 金 额 大 于 平 均 总 金 额 的 订 购 单 信 息,将 这 一 条 件 放 在 WHERE子 句 的 后 面,查 询 结 果 的 排 序 要 用 到 ORDER B Y 子 句,ORDER BY客 户 号;查 询 结 果 要 放 入 一 个 永 久 表 中 要 用 到 INTO TABLE子 句,结 果 保 存 到 RESULTS表 中 所 以 要 用 INTO TABLE RESULTS.本 题 由 两 条 SQL语 句 组 成:SELECT AVG(总 金 额)FROM ORDER-LIST INTO ARRAY AField s V a lu eSELECT*FROM ORDER-LIST WHERE 总 金 额 A F ie ld s V a lu e;ORDER B Y 客 户 号;INTO TABLE RESULTS第 二 小 题:第 一 步:在 V is u a l F o x P r o主 窗 口 按 下 组 合 键 C t r l+N,系 统 弹 出 新 建 对 话 框,在 文 件 类 型 中 选 择 报 表,再 点 击 新 建 文 件 按 钮,系 统 弹 出 报 表 设 计 器 第 二 步:单 击 主 窗 口 报 表 菜 单 下 的 快 速 报 表(0),系 统 弹 出 打 开 对 话 框,选 择 考 生 文 件 夹 下 的 o r d e r _ d e t a i l.dbf 表,单 击 确 定,系 统 弹 出 快 速 报 表 对 话 框,单 击 确 定 按 钮 后 便 生 成 了 一 个 报 表,将 报 表 文 件 以 文 件 名 r e p o r t1.f r x 保 存 在 考 生 文 件 夹 下。第 三 步:选 择 主 菜 单 报 表 下 的 标 题/总 结(T),弹 出 标 题/总 结”对 话 框,在 报 表 标 题 类 型 中 选 择 标 题 带 区,单 击 确 定 按 钮,这 样 就 在 报 表 中 加 入 了 一 个 标 题 带 区,打 开 报 表 控 件 工 具 栏,在 打 开 的 报 表 控 件 中 选 择 标 签 控 件,在 标 题 带 区 点 击 鼠 标,输 入 器 件 清 单 第 四 步:双 击 页 注 脚 中 的 显 示 当 前 日 期 的 域 控 件,打 开 报 表 表 达 式,在 表 达 式 文 本 框 中 将 原 来 的 DATE()用 TIM1 0 来 代 替。点 击 确 定 第 五 步:以 文 件 名 r e p o r t l.f r x 将 报 表 文 件 保 存 在 考 生 文 件夹 下。三、综 合 应 用(1小 题,计 30分)首 先 将 order-detail表 全 部 内 容 复 制 到 od-bak表,然 后 对 od-bak表 编 写 完 成 如 下 功 能 的 程 序:1.把 订 单 号 尾 部 字 母 相 同 并 且 订 货 相 同。器 件 号 相 同)的 订 单 合 并 为 一 张 订 单,新 的 订 单 号 就 取 原 来 的 尾 部 字 母,单 价 取 最 低 价,数 量 取 合 计;2.结 果 先 按 新 的 订 单 号 升 序 排 序,再 按 器 件 号 升 序 排 序;3.最 终 记 录 的 处 理 结 果 保 存 在 od-new表 中;4.最 后 将 程 序 保 存 为 progl.p r g,并 执 行 该 程 序。本 题 主 要 考 核 点:程 序 的 建 立 方 法、程 序 中 循 环 结 构 的 使 用、S Q L查 询 语 句 的 使 用、记 录 的 修 改 方 法;报 表 的 建 立 方 法 等 知 识 点 本 题 解 题 思 路:第 一 步:在 VisualFoxPro主 窗 口 下 按 组 合 键 Ctrl+N,系 统 弹 出 新 建 对 话 框,在“文 件 类 型 中 选 择 程 序,再 点 击 新 建 文 件 按 钮,则 系 统 弹 出 程 序 编 辑 窗 口;第 二 步:在 弹 出 的 窗 中 中 输 入 以 下 代 码:SET TALK OFFSET SAFETY OFFsele*from order-detail into table od.bak&复 制 一 个 表 用 来 存 放 结 果 USE OD.BAKCOPY STRUCTURE TO OD.NEW&首 先 得 到 所 有 的 新 定 单 号 和 器 件 号:SELECT RIGHT(订 单 号,1)A S 新 订 单 号,器 件 名,器 件 号,;RIGHT(订 单 号,1)+器 件 号 AS NEWNUM;FROM OD.BAK;GROUP BY NEWNUM;ORDER B Y 新 订 单 号,器 件 号;INTO CURSOR CurTableDO WHILE NOT EOF()&得 到 单 价 和 数 量 SELECT MIN(单 价)A S 最 低 价,SUM(数 量)A S 数 量 合 计;FROM OD.BAK;WHERE RIGHT(订 单 号,l)=CurTable.新 订 单 号 AND器 件 号=。111*121)16.器 件 号;INTO ARRAY AFieldsValueINSERT INTO OD.NEW VALUES;(CurT able.新 订 单 号,C urT abl e.器 件 号,C urT abl e.器 件 名,A FieldsV alue(1,1),A FieldsV alue(1,2)SKIPE N D D OCLOS E ALLS ET TALK O NS ET S AFETY O N第 三 步:单 击 保 存 工 具 栏 按 钮,以 文 件 名 p r o g l.p r g保 存 程 序 文 件 在 考 生 文 件 夹 下,并 运 行 程 序。第 二 十 二 套 一、基 本 操 作 题(共 四 小 题,第 1和 2题 是 7分、第 3和 4题 是 8分)在 考 生 文 件 夹 下 完 成 如 下 操 作:1.创 建 一 个 新 的 项 目 sd b-p,并 在 该 项 目 中 创 建 数 据 库 sdbo2.将 考 生 文 件 夹 下 的 自 由 表 st u d en t和 s c 添 加 到 sdb数 据 库 中。3.在 sd b数 据 库 中 建 立 表 c o u r se,表 结 构 如 下:字 段 名 类 型 宽 度 课 程 号 字 符 型 2课 程 名 字 符 型 20学 时 数 值 型 2随 后 向 表 中 输 入 6条 记 录,记 录 内 容 如 下(注 意 大 小 写):课 程 号 课 程 名 学 时 cl C+60c2 Visual FoxPro 80c3 数 据 结 构 50c4 J AVA 40c5 Visual BAS IC 40c6 O S 604.为 course表 创 建 一 个 主 索 引,索 引 名 为 eno、索 引 表 达 式 为 课 程 号。本 题 主 要 考 核 点:创 建 项 目、建 立 数 据 库、自 由 表 添 加 到 数 据 库 中、在 数 据 库 中 建 立 表、索 引 的 建 立 解 题 思 路:第 一 步:在 Visual FoxPro主 窗 口 下 按 组 合 键 Ctrl+N,则 系 统 弹 出 新 建 对 话 框,在 文 件 类 型 中 选 择 项 目,再 点 击 新 建 文 件 按 钮;第 二 步:在 弹 出 的 创 建 对 话 框 中,选 定 考 生 文 件 夹,在 项 目 文 件 中 填 入 sdb_p.pjx,再 点 击 保 存 按 钮;这 样 便 新 建 了 一 个 项 目;第 三 步:在 弹 出 的 项 目 管 理 器 中 先 选 择 数 据 标 签,再 选 择 数 据 库,最 后 点 击 新 建 按 钮;第 四 步:在 弹 出 的“新 建 数 据 库”对 话 框 中 点 击 新 建 文 件;第 五 步:在 弹 出 的 创 建 对 话 框 中,选 定 考 生 文 件 夹,在 数 据 库 名 中 填 入 sdb.dbc,再 点 击 保 存 按 钮;这 样 便 完 成 了 数 据 库 的 添 加。第 六 步:在 已 新 建 的 项 目 sdb_p的 项 目 管 理 器 中 先 选 择 数 据 标 签,再 选 择 表,最 后 点 击 添 加(A),在 弹 出 的“打 开”对 话 框 中 选 定 考 生 文 件 夹 下 的 表 STUDENT,再 点 击 保 存,这 样 自 由 表 就 添 加 到 了 数 据 库 中。用 同 样 的 方 法 将 表 SC也 添 加 到 数 据 库 中,在 索 引 类 型 列 中 选 择 主 索 引,在 索 引 表 达 式 列 中 填 入 课 程 号,点 击 确 定 按 钮,保 存 表 结 构。第 十 步:向 表 course.dbf输 入 内 容,并 保 存。二、简 单 应 用(2 小 题,每 题 20分,计 40分)在 考 生 文 件 夹 下 完 成 如 下 简 单 应 用:1.根 据 sdb数 据 库 中 的 表 用 SQL SELECT命 令 查 询 学 生 的 学 号、姓 名、课 程 名 和 成 绩,结 果 按 课 程 名 升 序 排 序,”课 程 名 吁 目 同 时 按 成 绩 降 序 排 序,并 将 查 询 结 果 存 储 到 scl 1st表 中。2.使 用 表 单 向 导 选 择 student表 生 成 一 个 名 为 forml的 表 单。要 求 选 择 student表 中 所 有 字 段,表 单 样 式 为 阴 影 式;按 钮 类 型 为 图 片 按 钮;排 序 字 段 选 择 学 号(升序);表 单 标 题 为 学 生 基 本 数 据 输 入 维 护 I本 题 主 要 考 核 点:SQL语 言 中 的 查 询、联 接 查 询、查 询 的 排 序、查 询 的 结 果 去 向、利 用 表 单 向 导 建 立 表 单 等 知 识 点。解 题 思 路:第 一 小 题:本 题 要 用 一 个 联 接 查 询 来 实 现。要 得 到 的 信 息 存 放 在 三 个 不 同 的 表 中,所 以 要 通 过 联 接 来 得 到 所 需 要 的 信 息。联 接 的 条 件:STUDENT.学 号=SC.学 号 AND SC.课 程 号=COURSE.课 程 号 放 在 WHERE子 句 的 后 面;结 果 集 的 排 序 需 要 ORDER BY子 句,排 序 默 认 是 升 序 如 果 要 以 降 序 排 序 需 要 DESC;结 果 要 放 入 一 个 永 久 表 中 要 用 到 INTO TABLE子 句,完 整 的 查 询 语 句:SELECT STUDENT.学 号,姓 名,课 程 名,成 绩;FROM STUDENT,SC,COURSE;WHERE STUDENT.学 号=SC.学 号 AND SC.课 程 号=COURSE.课 程 号;ORDER BY 课 程 名,成 绩 DESC;INTO TABLE SCLIST第 二 小 题:第 一 步:打 开 在 基 本 操 作 题 中 所 建 立 的 项 目 sdb-p.pjx第 二 步:在 项 目 sdb.p的 项 目 管 理 器 中,先 选 择 文 档 标 签,再 选 择 表 单,最 后 点 击 新 建(N)按 钮。第 三 步:在 弹 出 的 新 建 表 单”对 话 框 中 点 击 表 单 向 导(W),并 在 弹 出 的“向 导 选 取 对 话 框 中,在 选 择 要 使 用 的 向 导”中 选 择 表 单 向 导,点 击 确 定 按 钮.第 四 步:在 表 单 向 导 步 骤 一 的 字 段 选 取 中,选 定 student表,并 将 其 全 部 字 段 放 入 选 定 字 段 中,点 击 下 一 步;在 步 骤 二 的 选 择 表 单 样 式 中 的 样 式 类 型 中 选 择 阴 影 式,在 按 钮 类 型 中 选 择 图 片 按 钮,点 击 下 一 步;在 步 骤 三 排 序 次 序 中 选 择 按 学 号 的 升 序 排 序,点 击 下 一 步;在 步 骤 四 完 成 中 在 表 单 标 题 文 本 框 中 输 入:学 生 基 本 输 入 数 据 维 护,点 击”完 成 按 钮。在 弹 出 的 另 存 为 对 话 框,从 对 话 框 中 选 定 考 生 文 件 夹,并 输 入 forml.sex,点 击 保 存 按 钮 即 可。三、综 合 应 用(1 小 题,计 30分)1.打 开 基 本 操 作 中 建 立 的 数 据 库 sdb,使 用 SQL的 CREATE VIEW命 令 定 义 一 个 名 称 为 SVIEW的 视 图,该 视 图 的 SELECT语 句 完 成 查 询:选 课 数 是 3 门 以 上(不 包 括 3 门)的 每 个 学 生 的 学 号、姓 名、平 均 成 绩、最 低 分 和 选 课 数,并 按 平 均 成 绩 降 序 排 序。最 后 将 定 义 视 图 的 命 令 代 码 存 放 到 命 令 文 件 Tl.PRG中 并 执 行 该 文 件。接 着 利 用 报 表 向 导 制 作 一 个 报 表。要 求 选 择 SVIEW视 图 中 所 有 字 段;记 录 不 分 组;报 表 样 式 为 随 意 式;排 序 字 段 为 学 号(升 序);报 表 标 题 为 学 生 成 绩 统 计 一 览 表”;报 表 文 件 名 为 pstudento2.设 计 一 个 名 称 为 form2的 表 单,表 单 上 有 浏 览(名称 为 Commandl)和 打 印(Command2)两 个 命 令 按 钮。鼠 标 单 击 浏 览 命 令 按 钮 时,先 打 开 数 据 库 sdb,然 后 执 行 SELECT语 句 查 询 前 面 定 义 的 SVIEW视 图 中 的 记 录(两 条 命 令 不 可 以 有 多 余 命 令),鼠 标 单 击 打 印 命 令 按 钮 时,调 用 报 表 文 件 pstuden浏 览 报 表 的 内 容(一 条 命 令,不 可 以 有 多 余 命 令)。本 题 主 要 考 核 点:视 图 的 建 立 方 法、利 用 报 表 向 导 建 立 报 表 的 方 法、表 单 的 建 立 方 法 等 知 识 点 解 题 思 路:第 一 小 题:先 打 开 数 据 库 SDB,打 开 考 生 文 件 夹 下 新 建 的 项 目 sdb-p.pjx,在 命 令 窗 口 中 输 入 下 列 命 令 来 建 立 sview视 图:CREATE VIEW SVIEW AS;SELECT SC.学 号,姓 名,AVG(成 绩)A S 平 均 成 绩,MIN(成 绩)A S 最 低 分,COUNT(课 程 号)AS 选 课 数;FROM SC,STUDENT;WHERE SC.学 号=STUDENT.学 号;GROUP BY STUDENT.学 号;HAVING COUNT(课 程 号)3;ORDER B Y 平 均 成 绩 DESC下 面 来 建 立 Tl.prg程 序,在 项 目 sdb_p的 项 目 管 理 器 中,选 择“代 码 标 签,再 选 择 程 序,点 击 新 建(N)按 钮,在 打 开 的 代 码 编 辑 窗 口 中 输 入 sview视 图 的 查 询 代 码,即:SELECT SC.学 号,姓 名,AVG(成 绩)A S 平 均