USE 命 令

USE 命 令 - 图1USE 命 令 - 图2打开一个表及其相关索引文件 或打开一个 SQL 视图

语 法

USE[[ DatabaseName !] Table |SQLViewNam e|?] [IN n W orkArea |cTableAlias ]

[ONLINE] [ADMIN] [AGAIN ]

[NOREQUERY [ nDataSessionNumber ]] [NODATA]

[INDEX IndexFileLis t|?

[ORDER [ nIndexNumbe r |IDXF ileName

|[TAG ]TagName [OF CDXFileNam e] [ASCENDING|DESCENDING]]]]

[ALIAS cTableAlias ] [EXCLUSIVE]

[SHARED] [NOUPDATE]

参 数 描 述

[ DatabaseNam e!] TableName

USE 命 令 - 图3USE 命 令 - 图4USE 命 令 - 图5USE 命 令 - 图6USE 命 令 - 图7USE 命 令 - 图8USE 命 令 - 图9USE 命 令 - 图10USE 命 令 - 图11USE 命 令 - 图12USE 命 令 - 图13指 定 要 打 开 的 表 的 名 称 尽 管 在 W indows95 和 W indowsNT 中 文 件 名 内 的空 格 是 有 意 义 的 但 要 避 免 在 V isualFoxPro 中 的 TableName 内 使 用 空 格 符如 果 表 名 中 含 有 空 格 请 用 括 号 或 USE 命 令 - 图14 括 住 表 名

USE 命 令 - 图15USE 命 令 - 图16USE 命 令 - 图17USE 命 令 - 图18USE 命 令 - 图19USE 命 令 - 图20USE 命 令 - 图21USE 命 令 - 图22USE 命 令 - 图23USE 命 令 - 图24USE 命 令 - 图25要想打开一个不在当前数据库中的表 在表名前加数据库的名称 中间用叹号分隔 如果不包含数据库的名称 MicrosoftVisualFoxPro 只能在当前数据库中打开表 如果数据库名或表名或者两者中都含有空格 请用括号 USE 命 令 - 图26USE 命 令 - 图27 括住数据库存名和表名

SQLViewName

USE 命 令 - 图28USE 命 令 - 图29USE 命 令 - 图30指 定 位 于 当 前 数 据 库 内 要 打 开 的 SQL 视 图 的 名 称 SQL 视 图 可 以 用CREATESQLVIEW 命 令 创 建 SQLViewName 可 作 为 使 用CREATEOFFLINE() 创 建 的 游 离 视 图 的 名 称

?

USE 命 令 - 图31USE 命 令 - 图32USE 命 令 - 图33USE 命 令 - 图34显 示 使 用 对 话 框 可 以 从 对 话 框 中 选 择 要 打 开 的 表

IN n W orkArea

USE 命 令 - 图35USE 命 令 - 图36USE 命 令 - 图37指 定 要 打 开 表 所 在 的 工 作 区 带 有 IN 子 句 和 工 作 区 编 号 的 USE 命 令 可 以关 闭 指 定 工 作 区 中 的 表

USE 命 令 - 图38USE 命 令 - 图39USE 命 令 - 图40USE 命 令 - 图41在 IN 子句中 0 可作为工作区号 指定 0 可以在最低可用的工作区中打开表 例如 如果工作区 1 至工作区 10 中都有表打开 那么下面的命令将在工作区 11 中打开

USE 命 令 - 图42customer 表

USEcustomerIN0

IN cTableAlias

USE 命 令 - 图43USE 命 令 - 图44USE 命 令 - 图45USE 命 令 - 图46指 定 在 当 前 工 作 区 中 打 开 表 打 开 表 的 别 名 用 cTableAlias 指 定如果省略 nWorkAreacTableAlias 参数 则在当前工作区中打开表ONLINE

USE 命 令 - 图47USE 命 令 - 图48打 开 一 个 游 离 视 图 ( offlineview) 有 关 游 离 视 图 的 创 建 请 参 见

USE 命 令 - 图49USE 命 令 - 图50USE 命 令 - 图51USE 命 令 - 图52CREATEOFFLINE() 要 打 开 的 游 离 视 图 的 名 称 由 SQLViewName 指 定 使 用ONLINE 打 开 游 离 视 图 后 您 可 用 TABLEUPDATE() 将 它 的 改 变 更 新 到 服 务器 中

USE 命 令 - 图53使用 ONLINE 打开游离视图只能采用独占方式 所以应在 USE 命令中同时使用

USE 命 令 - 图54USE 命 令 - 图55EXCLUSIVE 子句 或在 USE 命令前使用 SETEXCLUSIVEON

ADMIN

USE 命 令 - 图56USE 命 令 - 图57USE 命 令 - 图58USE 命 令 - 图59USE 命 令 - 图60USE 命 令 - 图61USE 命 令 - 图62打 开 一 个 游 离 视 图 而 且 打 开 的 目 的 是 为 了 操 作 其 中 的 数 据 而 不 是 将 游 离视 图 中 的 更 改 更 新 到 服 务 器 中 有 关 游 离 视 图 的 创 建 请 参 见CREATEOFFLINE() 使 用 A D M IN 打 开 游 离 视 图 后 可 以 对 它 进 行 修 改 而不 会 影 响 服 务 器 中 的 数 据

AGAIN

USE 命 令 - 图63USE 命 令 - 图64若 要 同 时 在 多 个 工 作 区 中 打 开 一 个 表 可 以 按 以 下 方 法 操 作

  • USE 命 令 - 图65USE 命 令 - 图66

    择 另 一 个 工 作 区 并 且 执 行 带 有 表 名 和 AGAIN 子 句 的 USE 命 令

  • USE 命 令 - 图67

    行 带 有 表 名 和 AGAIN 子 句 的 USE 命 令 并 且 用 IN 子 句 指 定 一 个 不 同

USE 命 令 - 图68的 工 作 区

USE 命 令 - 图69USE 命 令 - 图70USE 命 令 - 图71USE 命 令 - 图72USE 命 令 - 图73USE 命 令 - 图74当在另一个工作区中再次打开一个表时 在新工作区中的表继承了原工作区中的表的属性 例如 如果一个表以只读或独占访问方式打开 然后又在另一个工作区中打开 那么在新的工作区中该表也以只读或独占访问方式打开

USE 命 令 - 图75USE 命 令 - 图76USE 命 令 - 图77USE 命 令 - 图78USE 命 令 - 图79当再次打开表时 如果没有打开索引 则使用为原表打开的索引文件 在再次打开该表的工作区中 设置索引序号为 0

USE 命 令 - 图80USE 命 令 - 图81USE 命 令 - 图82即使初始表没有打开索引 也可以在再次打开该表时打开索引 这将把初始表的索引序号设置成 0

USE 命 令 - 图83USE 命 令 - 图84USE 命 令 - 图85USE 命 令 - 图86再次打开的表被赋予工作区的默认别名 在多个工作区中打开一个表时 每次可以包含一个别名 只要这些别名不重复就可以

USE 命 令 - 图87USE 命 令 - 图88在 VisualFoxPro 中 在另一个工作区中再次打开某个表并不占用额外的文件句柄

NOREQUERY [ nDataSessionNumber ]

USE 命 令 - 图89USE 命 令 - 图90USE 命 令 - 图91USE 命 令 - 图92USE 命 令 - 图93指 定 远 程 SQL 视 图 的 数 据 不 再 下 载 NOREQUERY 仅 用 于 SQL 视 图 并 且主 要 用 在 当 AGAIN 子 句 再 次 打 开 一 个 SQL 视 图 的 时 候 包 含NOREQUERY 子 句 可 以 增 加 大 型 数 据 集 合 的 操 作 性 能 因 为 数 据 不 需 要 再 次下 载

USE 命 令 - 图94USE 命 令 - 图95USE 命 令 - 图96nDataSessionNumber 可以指定在某一数据工作期中的远程 SQL 视图内的数据不被再次下载 如果省略了 nDataSessionNumber 则不下载在当前数据工作期中打开的视图

USE 命 令 - 图97USE 命 令 - 图98USE 命 令 - 图99USE 命 令 - 图100USE 命 令 - 图101有关 NOREQUERY 子句的详细内容 请参阅 MicrosoftVisualFoxPro6.0 中文版程序员指南 USE 命 令 - 图102 的第八章 创建视图

N O D A T A

USE 命 令 - 图103USE 命 令 - 图104USE 命 令 - 图105指 定 仅 下 载 SQL 视 图 的 结 构 不 下 载 SQL 视 图 的 数 据 NODATA 提 供 了 确定 SQL 视 图 结 构 的 最 快 捷 方 法

USE 命 令 - 图106USE 命 令 - 图107USE 命 令 - 图108USE 命 令 - 图109USE 命 令 - 图110有关 NODATA 子句的详细内容 请参阅 MicrosoftVisualFoxPro6.0 中文版程序员指南 USE 命 令 - 图111 的第八章 创建视图

INDEX IndexFileList

USE 命 令 - 图112USE 命 令 - 图113USE 命 令 - 图114指 定 一 组 和 表 一 起 打 开 的 索 引 如 果 表 具 有 结 构 复 合 索 引 文 件 该 索 引 文 件自 动 与 表 一 起 打 开

USE 命 令 - 图115USE 命 令 - 图116USE 命 令 - 图117IndexFileList 可以包含任何 .IDX 单项索引文件和 .CDX 复合索引文件的文件名 除非在索引文件列表中的 .IDX 和 .CDX 索引文件具有相同的文件名 否则无须为索引文件加扩展名

USE 命 令 - 图118USE 命 令 - 图119USE 命 令 - 图120USE 命 令 - 图121USE 命 令 - 图122在索引文件列表中的第一个索引文件是主控索引文件 该文件控制表中的记录如何访问和显示 然而 如果第一个索引文件是一个 .CDX 复合索引文件 则表中的记录按记录的物理顺序显示和访问

INDEX?

USE 命 令 - 图123USE 命 令 - 图124USE 命 令 - 图125USE 命 令 - 图126显 示 打 开 对 话 框 列 出 所 有 可 供 选 择 的 索 引 文 件

ORDER [ nIndexNumber ]

USE 命 令 - 图127USE 命 令 - 图128指 定 一 个 主 控 的 .ID X 单 项 索 引 文 件 或 .CDX 复 合 索 引 文 件 标 识 而 不 是 使 用在 IndexFileList 中 指 定 的 第 一 个 索 引 文 件 或 索 引 标 识 作 为 主 控 索 引

USE 命 令 - 图129USE 命 令 - 图130USE 命 令 - 图131USE 命 令 - 图132USE 命 令 - 图133索引编号按如下方式 首先编号 .IDX 索引文件 编号顺序是其出现在索引文件列表中的顺序 然后对结构复合索引文件 USE 命 令 - 图134 如果存在 USE 命 令 - 图135 中的标识按其创建顺序编号 最后

USE 命 令 - 图136对任何独立的复合索引文件的标识按其创建顺序编号 也可以使用 SETORDER 来指定

USE 命 令 - 图137USE 命 令 - 图138USE 命 令 - 图139主控索引文件或标识 有关索引文件和标识编号的详细内容 请参阅 SETORDER

USE 命 令 - 图140USE 命 令 - 图141USE 命 令 - 图142USE 命 令 - 图143USE 命 令 - 图144USE 命 令 - 图145如果 nIndexNumber 为 0 表中的记录将按物理记录顺序显示和访问 且各索引继续保持打开状态 尽管包含 ORDER0 将以记录号顺序展现文件 但仍允许对已打开索引文件的更新 不加 nIndexNumber 的 ORDER 子句与 ORDER0 意义相同

ORDER [ IDXF ileName ]

USE 命 令 - 图146指 定 一 个 .ID X 单 项 索 引 文 件 作 为 主 控 索 引 文 件

ORDER[TAG TagNam e ][OF CDXFileNam e]

USE 命 令 - 图147USE 命 令 - 图148USE 命 令 - 图149USE 命 令 - 图150USE 命 令 - 图151指 定 .CDX 复 合 索 引 文 件 中 的 主 控 标 识 标 识 名 可 以 是 来 自 结 构 复 合 索 引 文件 或 任 何 其 他 打 开 的 复 合 索 引 文 件 如 果 在 已 打 开 的 各 复 合 索 引 文 件 中 存 在相 同 的 标 识 名 则 应 包 含 O F CDXFileName 并 且 指 定 复 合 索 引 文 件 名

ASCENDING

USE 命 令 - 图152指 定 表 中 的 记 录 按 升 序 访 问 和 显 示

DESCENDING

USE 命 令 - 图153指 定 表 中 的 记 录 按 降 序 访 问 和 显 示

USE 命 令 - 图154USE 命 令 - 图155包含 ASCENDING 或 DESCENDING 子句并不改变索引文件或标识 而仅仅改变记录显示和访问的顺序

ALIAS cTableAlias

USE 命 令 - 图156USE 命 令 - 图157创 建 表 的 别 名 可 以 在 需 要 或 支 持 别 名 的 命 令 和 函 数 中 用 别 名 来 引 用 表

USE 命 令 - 图158USE 命 令 - 图159USE 命 令 - 图160USE 命 令 - 图161USE 命 令 - 图162打开表时 系统自动给它指定一个别名 如果不含 ALIAS 子句 那么就用该表的名称作为表的别名 但也可以包含 ALIAS 子句和一个新别名来为表创建一个不同的别名

USE 命 令 - 图163USE 命 令 - 图164USE 命 令 - 图165在 VisualFoxPro 中 别名可以包含多达 254 个字母 数字或下划线 并且必须以字母或

USE 命 令 - 图166USE 命 令 - 图167USE 命 令 - 图168USE 命 令 - 图169USE 命 令 - 图170下划线开头 在 其 他 FoxPro 版本中 别名最多可包含 10 个字母 数字或下划线 并且必须以字母或下划线开头

USE 命 令 - 图171如果使用 AGAIN 子句在多个工作区中同时打开一个表 并且在每个工作区中打开该表

USE 命 令 - 图172USE 命 令 - 图173USE 命 令 - 图174USE 命 令 - 图175USE 命 令 - 图176时不指定别名 那么每次将自动赋给该表一个默认的别名 指定的别名发生冲突时 也赋给该表一个默认的别名 例如CLOSEDATABASES

USE 命 令 - 图177OPENDATABASE(HOME(2)+'Data\testdata') ACTIVATEWINDOWView&& 打开查看窗口USEcustomerALIASordersIN1&& 别名是 ORDERS USEordersIN3&& 冲突 别名是 C

EXCLUSIVE

USE 命 令 - 图178USE 命 令 - 图179在 网 络 上 以 独 占 使 用 方 式 打 开 表 有 关 表 的 独 占 使 用 的 详 细 内 容 请 参 阅

USE 命 令 - 图180SETEXCLUSIVE SHARED

USE 命 令 - 图181USE 命 令 - 图182在 网 络 上 以 共 享 使 用 方 式 打 开 表 用 SHARED 子 句 打 开 一 个 表 时 即 使

USE 命 令 - 图183USE 命 令 - 图184EXCLUSIVE 设 置 成 ON 此 表 也 将 以 共 享 方 式 使 用

NOUPDATE

USE 命 令 - 图185禁 止 更 改 表 及 其 结 构

说 明

USE 命 令 - 图186USE 命 令 - 图187USE 命 令 - 图188USE 命 令 - 图189USE 命 令 - 图190如果不加表名执行 USE 命令 并且在当前工作区中已经打开了一个表文件 则关闭这个表 同样 在一个工作区中打开另一个表时 原来在该工作区中打开的表自动关

USE 命 令 - 图191USE 命 令 - 图192闭 不能在同一个工作区中同时打开多个表

示 例

USE 命 令 - 图193USE 命 令 - 图194USE 命 令 - 图195USE 命 令 - 图196下面的示例在三个不同的工作区中打开了三个表 数据工作期 窗口也被打开以显示打开表的地点和每个表的别名

CLOSEDATABASES

OPENDATABASE(HOME(2)+'Data\testdata') ACTIVATEWINDOWView

USE 命 令 - 图197USE 命 令 - 图198USE 命 令 - 图199USE 命 令 - 图200USE 命 令 - 图201USE 命 令 - 图202USE customerIN 0&& 打开 Customer 表USE employee IN 0&& 打开 Employee 表USE products IN 0&& 打开 Products 表

请 参 阅

CREATE ,CREATESQLVIEW ,CREATETABLE- SQL , CREATEOFFLINE() ,DBF() ,INDEX , USED()