O P E N D A T A B A S E 命 令

打开一个数据库

语 法

OPEN DATABASE [ FileName | ?] [EXCLUSIVE | SHARED] [NOUPDATE]

[VALIDATE]

参 数 描 述

FileName

O P E N D A T A B A S E 命 令 - 图1O P E N D A T A B A S E 命 令 - 图2指 定 要 打 开 的 数 据 库 的 名 称 如 果 没 有 指 定 该 文 件 的 扩 展 名 V isual FoxPro

O P E N D A T A B A S E 命 令 - 图3O P E N D A T A B A S E 命 令 - 图4O P E N D A T A B A S E 命 令 - 图5O P E N D A T A B A S E 命 令 - 图6自 动 指 定 为 .DBC 如 果 省 略 FileName 将 显 示 打 开 对 话 框

O P E N D A T A B A S E 命 令 - 图7O P E N D A T A B A S E 命 令 - 图8注 意 磁 盘 或 目 录 名 称 含 有 感 叹 号 (!) 时 Pro 不 能 正 确 识 别 路 径 名

?

O P E N D A T A B A S E 命 令 - 图9O P E N D A T A B A S E 命 令 - 图10O P E N D A T A B A S E 命 令 - 图11O P E N D A T A B A S E 命 令 - 图12O P E N D A T A B A S E 命 令 - 图13显示 打开 对话框 从中可以选择现有的数据库 或输入所要创建的新表单的名称

EXCLUSIVE

O P E N D A T A B A S E 命 令 - 图14O P E N D A T A B A S E 命 令 - 图15O P E N D A T A B A S E 命 令 - 图16O P E N D A T A B A S E 命 令 - 图17以 独 占 方 式 打 开 数 据 库 如 果 以 独 占 方 式 打 开 数 据 库 则 其 他 用 户 无 法 访 问该 数 据 库 并 且 当 他 们 试 图 访 问 时 会 产 生 错 误 如 果 没 有 包 含 EXCLUSIVE

O P E N D A T A B A S E 命 令 - 图18O P E N D A T A B A S E 命 令 - 图19和 SHARED 则 当 前 SET EXCLUSIVE 的 设 置 值 决 定 数 据 库 以 何 种 方 式 打开

SHARED

O P E N D A T A B A S E 命 令 - 图20O P E N D A T A B A S E 命 令 - 图21O P E N D A T A B A S E 命 令 - 图22O P E N D A T A B A S E 命 令 - 图23O P E N D A T A B A S E 命 令 - 图24以 共 享 方 式 打 开 数 据 库 如 果 以 共 享 方 式 打 开 数 据 库 其 他 的 用 户 也 可 以 访问 它 如 果 没 有 包 含 EXCLUSIVE 和 SHARED 则 当 前 SET EXCLUSIVE 的 设 置 值 决 定 数 据 库 以 何 种 方 式 打 开

NOUPDATE

O P E N D A T A B A S E 命 令 - 图25O P E N D A T A B A S E 命 令 - 图26O P E N D A T A B A S E 命 令 - 图27指 定 不 能 对 数 据 库 做 任 何 更 改 换 句 话 说 该 数 据 库 只 读 如 果 省 略

O P E N D A T A B A S E 命 令 - 图28O P E N D A T A B A S E 命 令 - 图29NOUPDATE 则 数 据 库 打 开 后 可 以 进 行 读 写

O P E N D A T A B A S E 命 令 - 图30O P E N D A T A B A S E 命 令 - 图31O P E N D A T A B A S E 命 令 - 图32O P E N D A T A B A S E 命 令 - 图33数据库中包含的表不受 NOUPDATE 的影响 要防止对数据库中某个表的更改 打开该表时 应在 USE 命令中包含 NOUPDATE

VALIDATE

O P E N D A T A B A S E 命 令 - 图34O P E N D A T A B A S E 命 令 - 图35O P E N D A T A B A S E 命 令 - 图36指 定 让 V isual FoxPro 确 保 数 据 库 中 的 引 用 有 效 V isual FoxPro 将 检 查 磁 盘 上数 据 库 中 的 表 和 索 引 是 否 可 用 V isual FoxPro 还 将 检 查 被 引 用 的 字 段 和 索 引标 识 是 否 存 于 表 和 索 引 中

说 明

O P E N D A T A B A S E 命 令 - 图37O P E N D A T A B A S E 命 令 - 图38O P E N D A T A B A S E 命 令 - 图39O P E N D A T A B A S E 命 令 - 图40O P E N D A T A B A S E 命 令 - 图41数据库打开时 其中包含的所有表均可用 不过 表不能隐含地打开 必须用 USE 命令打开表

O P E N D A T A B A S E 命 令 - 图42O P E N D A T A B A S E 命 令 - 图43O P E N D A T A B A S E 命 令 - 图44执行 USE 命令时 Visual FoxPro 首先在当前数据库中查找该表 如果没有找到

O P E N D A T A B A S E 命 令 - 图45O P E N D A T A B A S E 命 令 - 图46O P E N D A T A B A S E 命 令 - 图47Visual FoxPro 接着在此数据库之外查找该表 这意味着如果数据库中的某个表与数据库之外的一个表具有相同的名称 则首先找到的是数据库中的表

O P E N D A T A B A S E 命 令 - 图48您不能打开其他用户以独占方式打开的数据库

示 例

O P E N D A T A B A S E 命 令 - 图49O P E N D A T A B A S E 命 令 - 图50在下面的 example 中 使用 OPEN DATABASE 命令打开数据库 testdata 然后用

O P E N D A T A B A S E 命 令 - 图51DISPLAY DATABASE 命令 显示数据库中各个表的有关信息

CLOSE DATABASES

SET PATH TO (HOME(2) + 'Data\') && 设置数据库路径

OPEN DATABASE testdata && 打开 testdata 数据库

DISPLAY DATABASE && 显示表信息

请 参 阅

O P E N D A T A B A S E 命 令 - 图52ADD TABLE , CLOSE DATABASES , CREATE DATABASE , DBUSED O P E N D A T A B A S E 命 令 - 图53 ,

DISPLAY DATABASE , FREE TABLE , LIST DATABASE , REMOVE TABLE