1、高职、高专计算机系列教材数据库应用技术主 编 熊发涯副主编 唐铸文 刘 烨 王 伟 官 东 周松林冯 仲 罗 景 李京文 王建宇参 编 陈华松 李乐之 刘运成 罗幼平华中科技大学出版社高职、高专计算机系列教材 数据库应用技术主 编 熊发涯华中科技大学出版社ISBN 7-5609-2548-0/TP311.138FO出版日期: 2001-09-01 定价:33.2元面向 21 世纪计算机教材出版指导委员会主任 陈火旺(中国科学院院士) 沈绪榜(中国科学院院士) 邹寿彬(华中科技大学博士生导师)委员 (以姓氏笔画为序)王长胤 韦 敏 卢开澄 卢正鼎 张 峰 何炎祥 苏锦祥秘书 沈旭日高职、高专计算
2、机系列教材编委会顾问 胡金柱 瞿 坦编委 (以姓氏笔画为序)王绍卜 毛芳烈 王前新 叶远谋 刘小芹 向显智张学礼 张桂宁 张栉勤 李家瑞 邹依琴 唐铸文黄元山 黄东峰 程时兴 覃晓康 黎秋萍秘书 曾 光 谢燕群内 容 简 介本书通过大量的实例介绍 Visual FoxPro 6.0 中文版程序设计的概念 、 思想和 方 法 。 内 容 包 括 Visual FoxPro 6.0 的 基 本 操 作 , 程 序 设 计 基 础 , 表 与 数 据 库 , 查 询 与 视 图 , 表 单 , 报 表 和 标 签 , 菜 单 与 工 具 栏 , 项 目 管 理 与 程 序 发 布 。 本 书 具 有
3、 循 序 渐 进 、 通 俗 易 懂 、 图 文 并 茂 、 语 言 简 洁 的 特 点 , 特 别 适 合 初 学 可 视 化 面 向对象的程序设计的读者。 本 书 可 作 为 大 专 院 校 、 高 职 、 高 专 和 培 训 班 的 教 材 , 也 可 作 为 编 程 人 员 的 参考书。 前 言Visual FoxPro 是 Microsoft 公 司 为 数 据 库 结 构 和 应 用 程 序 开 发 的 程 序 设 计 语 言 , 它 起 源 于 XBase 语 言 系 列 , 是 目 前 微 机 上 最 优 秀 的 数 据 库 管 理 系 统 软 件 。 它 建 立 在Windo
4、ws95/98/2000 平 台 之 上 , 采 用 了 可 视 化 、 面 向 对 象 的 程 序 设 计 方 法 , 大 大 简 化 了 应 用 系统的开发过程, 并提高了系统的模块性和紧凑性。 在 Visual FoxPro 6.0 中提供了大量的系 统开发工具和向导工具(W izard) , 使以往费时费力的开发工作变得轻松自如,这些 可 视 化 的设计工具免除了开发者编写大量程序代码的工作,甚至在不需要学习 Visual FoxPro 的有 关 命 令 或 函 数 的 情 况 下 , 也 能 设 计 出 功 能 强 大 的 应 用 系 统 。 Visual FoxPro 6.0 中
5、文 版 是 快 速 掌 握 面 向 对 象 的 程 序 设 计 、 运 用 计 算 机 解 决 常 用 数 据 处 理 问 题 的 最 佳 入 门 语 言 , 现 在 , 几 乎所有的大中专学校都开设了相应的课程。本书内容包括 Visual FoxPro 6.0 基 础 , Visual FoxPro 6.0 程 序 设 计 基 础 , 表 与 数 据 库 , 查 询 与 视 图 , 表 单 , 报 表 和 标 签 , 菜 单 与 工 具 栏 , 项 目 管 理 与 程 序 发 布 。 为 方 便 读 者 学 习 , 另外还编写了配套的上机实验。本书共分 8 章,第 1 章 、 第 2 章 、
6、 第 5 章、第 6 章、第 8 章 由 熊 发 涯 编 写 , 第 3 章 由唐 铸 文 编 写 , 第 4 章 由 冯 仲 编 写 , 第 7 章 由 王 建 宇 编 写 , 参 加 编 写 还 有 官 东 、 刘 烨 、 王 伟 、 周松林、陈华松、罗景、李京文、李乐之,全书由熊发涯统稿。由于编者水平有限,书中错误在所难免,欢迎读者对本书提出宝贵意见和建议。编 者2001 年 8 月目 录第 1 章 Visual FoxPro 6.0 基础. (1)1.1 数 据 库 基 础 (1)1.1.1 数 据 库 系 统 (1)1.1.2 数 据 模 型 . (3)1.2 Visual FoxP
7、ro 6.0 中 文 版 概 述 . (4)1.2.1 Visual FoxPro 6.0 的3点 . (4)1.2.2 Visual FoxPro 6.0 中文版安装、启动及菜单 (7)1.3 Visual FoxPro 6.0 的基本概念与规则. (13)1.3.1 项 目 、 文 件 、 数 据 库 、 表 、 视 图 . (13)1.3.2 Visual FoxPro 6.0 的命令结构和键盘宏. (17)1.3.3 Visual FoxPro 6.0 的执行方式 (18)1.3.4 Visual FoxPro 6.0 的常量、变量、数组. (19)1.3.5 Visual FoxPr
8、o 6.0 的表达式与函数 (21)1.3.6 Visual FoxPro 6.0 的文件类型 (27)第 2 章 Visual FoxPro 6.0 程序设计 (29)2.1 面 向 对 象 程 序 设 计 的 概 念 (29)2.1.1 对 象 、 属 性 、 事 件 和 方 法 . (29)2.1.2 Visual FoxPro 6.0 的类. (37)2.2 Visual FoxPro 6.0 的 编 程 工 具 . (40)2.2.1 项 目 管 理 器 (41)2.2.2 设 计 器 简 介 (43)2.2.3 生 成 器 简 介 (44)2.2.4 工 具 栏 简 介 (44)2
9、.2.5 向 导 简 介 . (45)2.2.6 Visual FoxPro 6.0 编程步骤 (46)2.3 顺 序 结 构 程 序 设 计 (53)2.3.1 基 本 语 句 . (53)2.3.2 几个常 用控件. (56)2.4 分 支 结 构 程 序 设 计 (64)2.4.1 单 条 件 选 择 语 句 . (65)2.4.2 多 条 件 选 择 语 句 . (68)2.5 循 环 结 构 程 序 设 计 (69)2 数据库应用技术2.5.1 当 型 循 环 DO WHILE (69)2.5.2 步 长 型 循 环 FOR (71)2.5.3 表 扫 描 型 循 环 SCAN. (
10、73)第 3 章 表和数据库 (75)3.1 创 建 基 本 数 据 库 (75)3.1.1 建 立 自 由 表 (75)3.1.2 建立数 据库表. (76)3.2 表编辑 (81)3.2.1 打开和关闭数据库 (81)3.2.2 追 加 记 录 . (82)3.2.3 记 录 的 定 位 (82)3.2.4 记 录 的 插 入 (83)3.2.5 修 改 记 录 . (83)3.2.6 删 除 记 录 . (85)3.2.7 显 示 记 录 . (86)3.2.8 表结构 的操作. (87)3.2.9 表的统 计汇总. (88)3.3 索 引 (89)3.3.1 建 立 索 引 . (89
11、)3.3.2 使 用 索 引 . (92)3.4 表 问 关 系 (95)3.4.1 关 系 的 类 型 (95)3.4.2 父 表 和 子 表 (96)3.4.3 建立表问临时关系 (96)3.4.4 建立表问永久关系 (98)第 4 章 查询与视图 (101)4.1 创 建 基 本 的 查 询 (101)4.1.1 查 询 设 计 器 (101)4.1.2 查 询 设 计 向 导 . (106)4.1.3 用 交 叉 表 设 计 交 叉 表 查 询 . (109)4.2 视 图 (111)4.2.1 利 用 视 图 设 计 器 来 设 计 视 图 (111)4.2.2 利 用 视 图 向
12、导 设 计 视 图 . (113)4.2.3 利 用 远 程 视 图 向 导 建 立 远 程 视 图 . (113)4.3 SQL 命令 (114)4.3.1 SQL 语言概述 (114)4.3.2 SELECT-SQL 语句 (115)目 录 34.3.3 ALTER TABLE-SQL 语句 . (118)4.3.4 CREATE TABLE-SQL 命令. (120)4.3.5 INSERT-SQL 命令 (121)4.3.6 DELETE-SQL 命令 . (122)4.3.7 UPDATE-SQL 命令. (122)第 5 章 表单 (123)5.1 表 单 设 计 (123)5.1
13、.1 表 单 的 设 计 原 则 . (123)5.1.2 利 用 表 单 向 导 创 建 表 单 . (123)5.1.3 利 用 表 单 设 计 器 来 创 建 表 单 (126)5.1.4 利 用 快 速 表 单 创 建 表 单 . (133)5.2 添 加 对 象 (133)5.2.1 表 单 对 象 的 基 本 操 作 (134)5.2.2 在 表 单 添 加 用 户 自 定 义 对 象 (135)5.2.3 在表单中添加自定义对象属性. (137)5.2.4 在 表 单 中 添 加 自 定 义 对 象 方 法 程 序 (138)5.2.5 在运行时创建对象 (142)5.2.6 在
14、 表 单 中 包 含 预 定 义 常 量 . (144)5.3 处 理 对 象 (145)5.3.1 设 置 对 象 属 性 . (145)5.3.2 编辑事件代码和方法程序代码. (147)5.4 表 单 管 理 (148)5.4.1 保 存 表 单 . (148)5.4.2 运 行 表 单 . (148)5.4.3 命 名 表 单 对 象 . (149)5.5 控 件 (149)5.5.1 控 件 的 选 择 (150)5.5.2 标准控件使用要点 (151)第 6 章 报表和标签 (172)6.1 报 表 (172)6.1.1 用 报 表 向 导 生 成 报 表 (172)6.1.2 用
15、 快 速 报 表 设 计 报 表 (174)6.1.3 用 报 表 设 计 器 设 计 报 表 . (176)6.1.4 报 表 操 作 命 令 . (181)6.2 标 签 (181)6.2.1 用 标 签 向 导 设 计 标 签 (181)6.2.2 标 签 操 作 命 令 . (182)4 数据库应用技术第 7 章 菜单与工具栏 . (184)7.1 创 建 菜 单 (184)7.1.1 用 菜 单 设 计 器 创 建 菜 单 . (184)7.1.2 通过编程设计菜单 (188)7.1.3 在 应 用 程 序 中 使 用 菜 单 . (189)7.1.4 菜 单 系 统 的 测 试 与
16、 调 试 . (190)7.2 创 建 自 定 义 工 具 栏 (193)7.2.1 工具栏. (193)7.2.2 定 义 工 具 栏 类 . (195)7.2.3 在表单集中添加自定义工具栏. (196)第 8 章 项目管理与程序发布 (197)8.1 项 目 管 理 器 的 使 用 (197)8.1.1 Visual FoxPro 6.0 项目管理器 (197)8.1.2 使 用 项 目 管 理 器 组 织 文 件 . (199)8.1.3 构适应用程序框架 (201)8.1.4 应 用 程 序 生 成 器 的 使 用 . (203)8.2 应 用 程 序 的 发 布 (205)附 录
17、上机实验. (209)实验一 表 设 计 器 的 操 作 . (209)实验二 常 量 、 变 量 、 数 组 与 函 数 . (211)实验三 初 识 面 向 对 象 的 程 序 设 计 . (212)实验四 自由表操作( 一). (214)实验五 程 序 设 计 . (216)实验六 自由表操作( 二). (216)实验七 自由表操作( 三). (217)实验八 数 据 库 操 作 . (219)实验九 查 询 . (220)实验十 视 图 . (221)实验十一 表单(一). (221)实验十二 表单(二). (223)实验十三 表单(三). (225)实验十四 表单(四). (225)
18、实验十五 报表和标签 . (226)实验十六 菜单、工具栏 . (227)实验十七 综合程序设计 . (228)课程设计 . (229)第 1 章Visual FoxPro 6.0 基础Visual FoxPro 6.0 是 微 软 公 司 推 出 的 一 种 速 度 更 快 、 更 有 效 、 更 灵 活 、 功 能 强 大 、 易 学 易用、面向对象的关系型数据库管理系统,它是 Visual Studio 6.0 家 族 中 的 一 员 , 在 Visual Studio 6.0 家 族 中 还 有 Visual C+ 6.0、 Visual Basic 6.0 以及 Visual J+
19、6.0 等 等 。本章将简要地介绍数据库的基本概念,讲解 Visual FoxPro 6.0 的 基 本 语 言 元 素 及 其 安 装、启动和菜单,为学习理解以后各章的内容打下基础。1.1 数 据 库 基 础随 着 计 算 机 技 术 的 发 展 , 计 算 机 的 主 要 应 用 己 从 科 学 计 算 逐 渐 细 化 到 应 用 的 各 个 方 面 , 其 中 很 大 一 部 分 是 进 行 事 务 处 理 。 在 进 行 事 务 处 理 时 , 并 不 需 要 进 行 复 杂 的 科 学 计 算 , 而 主 要 是 从 事 大 量 数 据 的 存 储 、 查 找 、 统 计 等 工 作
20、 。 为 了 有 效 地 使 用 保 存 在 计 算 机 系 统 内 的 大 量 数 据 , 必 须 采 用 一 整 套 严 密 、 合 理 的 数 据 处 理 技 术 , 即 数 据 库 技 术 。 数 据 库 技 术 是 在 20 世 纪 60 年 代 末 兴 起 的 一 种 数 据 管 理 方 法 , 也 是 信 息 管 理 中 的 一 项 非 常 重 要 的 新 技 术 。1.1.1 数据库系统1. 数据、信息和数据库数据和信息密切相关, 但又有区别。 数据 (Dat a) 是对客观事物特征所进行的一种抽象 化、符号化表示。例如,某人身高 1.70 米,体重 63 公 斤 , 年 龄
21、24 岁 , 这 里 的 1.70、 63、24 等 数 值 是 数 据 。 除 数 值 数 据 外 , 数 据 还 包 括 文 字 、 声 音 、 图 形 、 图 像 等 非 数 值 型 数 据 。 信 息 (Information)是 指 有 一 定 含 义 的 , 经 过 加 工 ( 处 理 ) 的 , 对 决 策 有 价 值 的 数 据 。 例如, “张红力 的身高是 1.65 米” , 是一 条信息, 而 “张红力” 、 “1.65”、 “米 ”等都只是数据。 可以说数据表示了信息,而信息只有通过数据形式表现出来才能为人所理解。数 据 库 ( DataBase, 简 称 DB) 是
22、按 一 定 组 织 方 式 存 储 的 相 互 关 联 的 数 据 的 集 合 , 这 些 数据不仅彼此关联而且可动态变化。从通俗意义上讲,数据库可理解为存储数据的仓库。例 如 , 一 个 学 生 成 绩 管 理 系 统 包 含 “学 生 ”、 “课 程 ”、 “成 绩 ”等 数 据 , 按 关 系 型 数 据 库系统的方法则将它们组织成三张二维表,其内容分别如表 1-1、表 1-2 和表 1-3 所 示 。2 数据库应用技术表 1-1 学生表学号 姓名 性别 出生年月 政治面貌 专业 本科否 照片 简历002010115 闰 敏 女 05/20/82 团员 计算机应用 F gen memo0
23、02010232 吴 琼 男 05/05/82 团员 计算机应用 F gen memo002010404 卢鹏如 女 12/02/81 团员 计算机应用 T gen memo002010531 宋俊杰 男 07/05/83 团员 计算机应用 T gen memo002010710 景振威 男 02/11/82 团员 计算机应用 F gen memo002020139 李明才 男 11/08/81 团员 计算机软件 T gen memo002030112 钟炜娜 女 01/21/82 团员 多媒体广告 T gen memo002040119 王名生 男 04/02/79 团员 计算机网络 T g
24、en memo002040233 黄泽谊 男 08/08/79 团员 计算机网络 F gen memo002020210 陈永军 男 11/11/81 团员 计算机软件 T gen memo002030353 陈红坤 女 07/21/80 团员 多媒体广告 T gen memo002010532 文新旺 男 11/10/80 团员 计算机应用 T gen memo表 1-2 课程表课程编码 课程名 课时 学分101 大学英语 80 3.0102 计算机应用基础 70 3.0201 C 语言 90 4.0202 电工电子技术基础 70 3.0203 VFP 程序设计 90 4.0204 多媒体技
25、术 60 3.0205 大学英语 70 3.0表 1-3 成绩表学号 课程号 学年 学期 成绩 补考成绩 清考成绩002010115 101 2000 1 78.0002010232 101 2000 1 89.0002010404 101 2000 1 76.0002010531 101 2000 1 78.0002010710 101 2000 1 76.0002020139 101 2000 1 78.0002030112 101 2000 1 65.0002040119 101 2000 1 46.0002040233 101 2000 1 78.0第 1 章 Visual FoxPr
26、o 6.0 基础 32. 数据库管理系统仅 有 大 量 数 据 是 没 有 多 大 实 际 意 义 的 , 必 须 有 一 个 维 护 数 据 , 并 引 导 用 户 访 问 数 据 的 软件,这就是数据库管理系统(D ataBase Management System,简称 DBMS) ,数据库管理 系 统 是 数 据 库 的 管 理 控 制 中 心 , 它 提 供 了 一 整 套 的 操 作 命 令 , 用 户 可 用 它 们 建 立 数 据 库 , 对 数 据 库 中 的 数 据 进 行 各 种 操 作 , 如 数 据 的 插 入 、 检 索 、 修 改 和 删 除 , 实 现 对 数
27、据 库 运 行 操 作 的 统 一 管 理 , 包 括 并 发 控 制 、 存 取 控 制 、 完 整 性 约 束 条 件 的 检 查 和 执 行 , 数 据 库 内 部 的维护等。3. 数据库系统数 据 库 系 统 ( DataBase System 简称 DBS) 就 是 以 数 据 库 应 用 为 基 础 的 计 算 机 系 统 。 广 义地讲,数据库系统由下面几部分组成: 数 据 库 : 存 储 在 计 算 机 外 存 设 备 上 的 数 据 的 集 合 。 数 据 库 管 理 系 统 : 数 据 库 系 统 的 核 心 软 件 , 起 管 理 、 操 作 、 控 制 等 作 用 。
28、支 持 系 统 : 包 括 支 持 数 据 库 应 用 中 的 计 算 机 硬 件 、 相 关 软 件 和 数 据 库 管 理 分 析 员 、 应用程序员和用户。在 数 据 库 系 统 中 , 人 员 以 数 据 库 管 理 系 统 为 工 具 , 用 系 统 工 具 、 菜 单 、 命 令 、 程 序 等 多种方式对数据库进行操作,如图 1-1 所示。工 具 、 菜 单人 员命 令 、 程 序数 据 库 管 理 系 统 数据库图 1-1 数据库系统的结构1.1.2 数据模型数 据 库 中 的 数 据 是 按 一 定 的 数 据 结 构 组 织 存 放 , 从 而 构 成 数 据 库 的 ,
29、这 种 数 据 结 构 反 映 数 据 问 的 相 互 联 系 , 又 称 数 据 库 模 型 。 常 见 的 数 据 库 模 型 有 网 状 模 型 、 层 次 模 型 、 关 系 模型三类,构成的数据库则分别称为网状数据库、层次数据库和关系数据库。 层次模型 : 层次模型按照树结构组织数据。 树结构中, 有且仅有一个结点无父结点, 这个结点称为根结点:其他结点有且仅有一个父结点。 网 状 模 型 : 网 状 模 型 是 按 图 结 构 组 织 数 据 的 , 这 种 模 型 规 定 可 以 有 一 个 以 上 的 结 点 无父结点,允许结点有多于一个的父结点。层次模型往往被看成网状模型的特
30、例。 关 系 模 型 : 关 系 模 型 是 以 二 维 表 的 结 构 来 组 织 数 据 的 。 关系模型是当前 DBMS 所支持的数据模型的主流。4 数据库应用技术1.2 Visual FoxPro 6.0 中 文 版 概 述Visual FoxPro 6.0 是 Xbase 数 据 库 系 列 软 件 中 , 继 dBASE、 FoxBASE、 FoxPro 之后的 又一关系型数据库管理系统。它不但兼容早期的 dBASE、 FoxBASE、 FoxPro 等 各 种 版 本 , 同时还提供了许多基于 Windows 的 崭 新 功 能 。1.2.1 Visual FoxPro 6.0
31、的特点1. 简单、易学、易用 Visual FoxPro 6.0 能够 快速完成应用任务。 Visual FoxPro 6.0 提供了 “向导” 、 “生成 器 ”和 “设 计 器 ”三 种 工 具 , 这 三 种 工 具 都 使 用 图 形 交 互 界 面 , 使 用 户 能 够 最 简 单 而 又 最 快地完成数据操作任务。 一 致 的 用 户 界 面 , 使 用 方 便 的 工 具 栏 。 Visual FoxPro 6.0 改进了用户界面,其主窗 口与许多其他 Microsoft 产品(如 Word、 Excel) 趋 于 一 致 , 使 得 用 户 容 易 操 作 , 系 统 功 能
32、 易于发挥。 Visual FoxPro 6.0 也给用户 提供了使用方便的 “工具栏” , 工具 栏里有许多按钮, 它 们 代 表 着 菜 单 里 的 某 些 功 能 , 用 户 可 通 过 工 具 按 钮 而 不 必 通 过 菜 单 方 便 地 进 行 操 作 。 另 外 , 用 户 可 以 自 己 定 制 Visual FoxPro 6.0 中 的 工 具 栏 , 增 加 或 减 少 一 些 按 钮 , 还 可 以 在 自 己 的 应 用 程 序 中 定 制 方 便 用 户 自 己 使 用 的 工 具 栏 。 Visual FoxPro 6.0 支 持 鼠 标 右 键 激 活 快 捷 菜
33、 单,用户可更加快捷地进行操作。 不 编 程 而 建 立 应 用 程 序 。 Visual FoxPro 6.0 提 供 的 “表 单 设 计 器 ”是 一 种 功 能 强 大 的 工 具 , 用 户 能 够 不 编 程 或 使 用 很 少 的 代 码 来 实 现 友 好 的 交 互 式 应 用 程 序 界 面 , 并 可 对 界 面进行控制。 用 “项 目 管 理 器 ”统 一 管 理 工 作 。 Visual FoxPro 6.0 提 供 的 另 一 高 效 易 用 的 工 具 是 “项目管理器” , 通过项目管理器, 用户可以集中地管理数据 、 文档、 类库、 源代码等各种 资源。2.
34、功能更强大Visual FoxPro 6.0 能 够 通 过 使 用 快 速 查 询 ( Rushmore) 技 术 和 对 系 统 的 优 化 , 使 用 户 最 大限度地体会到快速而又功能强大的优点。 以前的 Xbase 软 件 中 称 .DBF 文件为数据库,使人容易产生一个数据库就是一个二 维表的错误认识。 而 Visual FoxPro 6.0 废除了以 前 Xbase 中 不合理的数据库概念 , 采用独特 的数据库容器(DateBase Container), 为 用 户 管 理 应 用 系 统 中 的 表 、 查 询 、 表 单 、 报 表 、 程 序 等 数 据 提 供 了 方
35、 便 : 支 持 长 数 据 库 文 件 名 和 字 段 名 , 可 为 字 段 名 设 置 新 的 显 示 标 题 , 为 字 段 指 定 默 认 值 , 设 置 字 段 级 和 记 录 级 的 有 效 性 规 则 , 设 置 表 的 插 入 、 删 除 和 改 变 记 录 的 触 发 事 件 代 码 。 在 Visual FoxPro 6.0 中 , 原 来 的 .DBF 文件变成了一个表 ,不 于任 数据库的 表 称 为 自 由 表 。 数 据 库 是 若 干 个 表 、 表 之 问 的 关 系 和 触 发 程 序 构 成 的 集 合 , 合 理 地 体 现 了 关系型数据库的思想, 与
36、关系数据库理论统一了起来。 新的数据库把有关系的 表 (.DBF)封装第 1 章 Visual FoxPro 6.0 基础 5在 一 起 , 关 系 清 晰 、 合 理 且 处 理 方 便 。 Visual FoxPro 6.0 由 于 使 用 了 真 正 的 数 据 库 概 念 , 使 得它的数据库结构与 SQL 等标准结构统一,从而使数据交换和相互转换操作的实现更加标 准、合理、方便。 可 视 化 编 程 技 术 。 Visual FoxPro 6.0 使 用 的 是 可 视 化 编 程 技 术 , 可 视 化 编 程 技 术 给 人 一 种 所 见 即 所 得 的 感 受 , 在 编 辑
37、 屏 幕 表 单 、 报 表 、 菜 单 时 , 可 以 直 接 运 行 , 不 必 来 回 调 试,极为方便。 具 有 面 向 对 象 编 程 的 能 力 。 Visual FoxPro 6.0 在支持标准 Xbase 传 统 的 面 向 过 程 的 编 程 方 式 的 同 时 , 也 提 供 了 完 全 的 面 向 对 象 编 程 ( OPP) 的 能 力 。 在 Visual FoxPro 6.0 的对象模式下, 用户可以利用所有的面向对象特性, 这些特性包括 “继承” 、 “封装” 、 “多态性” 以及 “分类 ”, 它们都作为用户所熟悉的 Xbase 编程语言的扩展集而实现 。 Vi
38、sual FoxPro 6.0 提供了两种类型近 30 个 基 类 , 包 括 表 单 、 工 具 栏 、 页 格 式 等 , 使 用 这 些 类 , 用 户 可 以 建 立 基 本 的 表 单 、 工 具 栏 或 页 格 式 , 这 样 就 可 以 一 方 面 减 少 编 程 工 作 量 , 另 一 方 面 又 加 快 程 序 开 发 过 程 。 再 进 一 步 , 用 户 可 以 将 自 己 定 义 的 类 再 进 行 分 类 , 这 样 可 利 用 用 户 己 有 的 源 代 码 或 表 单 。 例 如 , 用 户 可 以 将 基 本 的 表 单 再 进 行 分 类 而 建 立 自 己
39、的 子 类 , 这 个 子 类 将 根 据 用 户 的 要 求 自 动 地 在 应 用 程 序 中 建 立 起 一 个 用 户 希 望 看 到 的 表 单 , 它 的 结 构 是 由 用 户 分 类 决定的。Visual FoxPro 6.0 类模式能 够在用户应用程序中对对象进行深入而又全面的控制。 例如, 用 户 在 设 计 时 可 用 表 单 设 计 器 对 表 单 中 的 对 象 进 行 完 全 的 控 制 , 而 在 类 模 式 下 当 用 户 运 行 程序时,可对表单中的对象的表现和行为提供相同的控制。在 Visual FoxPro 6.0 中 , 用 户 可 以 用 “类 设 计
40、 器 ”交 互 地 建 立 一 个 类 , 或 者 用 DEFINE CLASS 命令来编程建立。Visual FoxPro 6.0 使 用 面 向 对 象 的 设 计 方 法 迎 合 了 时 代 的 潮 流 , 是 于第 4 代计算机语 言的范畴。 更 容 易 处 理 事 件 。 Visual FoxPro 6.0 包 含 一 种 事 件 模 式 , 它 能 够 帮 助 用 户 自 动 地 处 理 事 件 。 在 这 种 事 件 模 式 下 , 用 户 可 以 获 取 并 控 制 所 有 标 准 的 Windows 事 件 , 例 如 , 鼠 标 的 移 动 。 通 过 处 理 这 一 事
41、件 , 用 户 可 以 拖 动 和 放 置 一 个 对 象 。 用 户 可 以 用 两 种 方 法 来 控 制 事 件 : 一 种 是 通 过 “ 性 窗 口 ”来 可 视 地 控 制 : 另 一 种 是 通 过 Visual FoxPro 6.0 的 编 程 来 控 制 。 新增许多 命令和函数, 功能大大加强, 比 SQL 语句更加丰富。 在 FoxBASE 基础上, 新 增 加 了 8种 新 的 字 段 类 型 : 整 型 、 浮 点 型 、 货 币 型 、 日 期 时 问 型 、 双 精 度 型 、 通 用 型 、 二 进 制 字 符 型 和 二 进 制 备 注 型 。 在 结 构 化
42、 的 复 合 索 引 中 可 以 建 立 4 种 类 型 的 索 引 : 主 索 引 、 候选索引、普通索引和唯一索引。允许在表中使用空值 NULL, 以 保 证 与 采 用 SQL 标准的 数据库管理系统的兼容和数据共享。 优 化 系 统 。 Visual FoxPro 6.0 能 够 通 过 优 化 用 户 的 系 统 设 计 来 提 高 自 身 的 性 能 。 在 所有的优化措施中,最有效的方法是尽可能多地增加用户的扩展内存(Extended memory) 或者减少被其他应用程序 (如 Windows) 所占用的内存。 另外提高 Visual FoxPro 6.0 性能的 措施还包括加
43、快启动速度和优化设置(S ET 命令) 。 使 用 快 速 查 询 技 术 。 快 速 查 询 ( Rushmore) 技 术 是 一 种 专 用 的 数 据 查 询 技 术 , 它 能 够 迅 速 地 从 数 据 库 中 选 择 一 组 满 足 用 户 要 求 的 记 录 。 使 用 这 种 技 术 能 将 数 据 查 询 所 需 的 时 问从几小时或几分钟减少到几秒钟,这样可以极大地提高数据查询的效率。6 数据库应用技术 使 用 32 位 方 式 。 Visual FoxPro 6.0 使 用 32 位 方 式 , 其 运 算 速 度 、 存 储 能 力 大 大 提 高 。3. 支持客户机
44、/服务器结构Visual FoxPro 6.0 可 作 为 开 发 强 大 的 客 户 机 /服 务 器 ( Client/Server) 应 用 程 序 的 前 台 。 Visual FoxPro 6.0 既 支 持 高 层 次 的 对 服 务 器 数 据 的 浏 览 , 又 提 供 了 对 本 地 服 务 器 数 据 的 直 接 访问。 这种直接访问给用户提供了开发灵活的客户机/服务器应用程序的坚实的基础 。 Visual FoxPro 6.0 提供了支持客户机/ 服务器结构所需的各种特性:多功能的数据词典,本地和远 程视图、空值 NULL 支持、事务处理、对任 ODBC 数据资源的访问。
45、 用 数 据 词 典 定 义 规 则 。 Visual FoxPro 6.0 数 据 库 (.DBC)提 供 了 一 个 数 据 词 典 , 使 用 这个数据词典,用户可以对数据库中的每一个数据表添加规则、视窗、触发器、永久关系和 连接。 查 看 远 程 和 异 种 数 据 。 用 户 可 以 用 来 自 远 程 、 本 地 或 多 数 据 表 的 异 种 数 据 , 以 便 在 用户的本地计算机上开发和测试一个客户机/服务器应用程序。本地数据视图使用本地计算 机 上 的 数 据 而 不 是 远 程 服 务 器 上 的 数 据 表 。 而 多 表 数 据 查 看 使 用 的 是 多 个 不 同
46、 数 据 表 中 的 相 关 数 据 。 为 了 减 少 用 户 从 服 务 器 上 卸 载 的 数 据 量 , 用 户 可 以 建 立 带 参 数 的 视 图 , 然 后 从 用户的 Visual FoxPro 6.0 客户机 /服务器应用程序中更新远程数据。 用 事 务 处 理 来 控 制 共 享 访 问 。 共 享 访 问 是 指 多 个 用 户 对 数 据 的 共 享 , 控 制 共 享 是 指 一 些 必 要 的 访 问 限 制 , 例 如 为 了 不 让 某 用 户 访 问 某 些 数 据 , 用 户 可 以 建 立 起 支 持 数 据 共 享 的 应 用 程 序 。 用 户 在
47、建 立 应 用 程 序 时 , 如 果 使 用 事 务 处 理 和 缓 冲 手 段 (记 录 级 或 数 据 表 级 ), 则 可 减 少 编 程 的 工 作 量 。 Visual FoxPro 6.0 内 含 的 批 处 理 进 程 和 详 细 的 对 更 新 冲 突 的 控 制 可 以使多用户环境中的数据更新过程得以简化。 实 现 客 户 机 /服 务 器 应 用 程 序 。 在 客 户 机 /服 务 器 应 用 程 序 开 发 中 , 用 户 除 了 使 用 数 据视图以外,还可以通过 Visual FoxPro 6.0 的 SQL 通路功能来发送当前服务器所共同识别 的 控 制 台 命
48、 令 , 这 种 用 户 可 以 直 接 访 问 服 务 器 。 这 种 功 能 比 数 据 视 图 提 供 了 更 多 的 对 服 务 器 的 访 问 和 控 制 。 Visual FoxPro 6.0 具 有 将 用 户 的 应 用 程 序 升 档 的 能 力 。 升 档 是 指 用 户 在 本 地机上建立一个应用程序后,可以基于一个后台的数据资源使应用程序运行在一个客户机/ 服务器环境中, 这样做的好处之一就是用户可以用与本地的 Visual FoxPro 6.0 数据表结 构一 样 的 结 构 建 立 起 远 程 服 务 器 数 据 库 。 不 仅 如 此 , 用 户 在 升 档 时
49、可 以 选 择 哪 些 数 据 表 放 在 服 务器中,而哪些数据表放在本地机上,这样可以既提供共享能力,又提高访问效率。4. 同其他软件的高度兼容性Visual FoxPro 6.0 可 以 与 其 他 的 Microsoft 软件共享数据。例如,用户可用 OLE 来调用 其 他 软 件 (如 Excel、 Word)中 的 对 象 并 在 Visual FoxPro 6.0 中 使 用 这 些 软 件 。 同 其 他 软 件 共 享 数 据 。 在 Visual FoxPro 6.0 中 同 其 他 软 件 共 享 数 据 是 很 容 易 的 。 如 可用 “ 邮 件 合 并 向 导 ”使 Word 共 享 Visual FoxPro 6.0 数 据 。 导 入 和 导 出 数 据 。 用 户 可 以 在 Visual FoxPro 6.0 和 其 他 软 件 之 问 输 入 和 输 出 数 据 , 即导入和导出。输入数据是指 Vis