第 二 十 一 章 直 接 访 问 数 据 库
许 多 数 据 库 应 用 不 是 只 依 赖 绑 定 在 数 据 库 中 表 格 和 视 图 上 的 控 件 这 些 应 用 借助 于 具 有 一 些 优 点 的 已 存 过 程 或 查 询 完 成 它 们 的 数 据 访 问
使 用 已 存 过 程 可 以 限 制 用 户 作 出 的 改 变 也 可 以 增 强 验 证 和 其 它 要 求 如果 你 使 用 查 询 进 行 工 作 你 可 以 按 照 你 应 用 的 要 求 动 态 地 改 变 查 询
在 这 一 章 你 将 学 习 如 何 创 建 Microsoft Visual InterDev 应 用 以 便 直接 用 已 存 过 程 和 查 询 进 行 工 作
2 1 . 1 调 试 已 存 过 程 和 触 发 器
如 果 你 用 Microsoft visual Studio 的 企 业 版 进 行 工 作 Microsoft Visual Interdev 包 括 SQL 调 试 器 你 可 以 使 用 这 种 调 试 器 调 试 SQL 服 务 器 已 存 过 程 和触 发 器 调 试 方 式 同 你 调 试 其 它 类 型 的 脚 本 或 程 序 非 常 相 似 但 是 在 你 安 装 SQL 调 试 和 运 行 调 试 器 方 面 还 是 有 些 不 同
安 装 SQ L De bu ggi ng ( 调 试 )
SQL Debugg ing 调 试 要 求 如 下
-
你 必
须 有 Visual Stu dio 的 企 业 版
-
你 必
须 运 行 SQL Server 6.5 并 有 Service Pa ck 2
-
SQL
Server 必 须 运 行 微 软 Windows NT 4.0 或 更 高 的 版 本
-
你 的
工 作 站 必 须 运 行 Windows 95 或 Windows NT 4.0 或 更 高 的 版 本
要 使 用 SQL Debu gging 调 试 你 必 须 适 当 配 置 你 的 服 务 器 和 工 作 站 你应 当
-
保 证 已 经 在 你 的 SQL 服 务 器 上 安 装 了 SQL Debugg ing 部 件
-
建 立 一 个 Windows NT 用 户 这 个 用 户 在 SQL Server 运 行 的 服 务 器 计 算机 上 有 管 理 员 特 权
-
在 服 务 器 上 为 SQL 调 试 配 置 分 布 式 COM(DCOM)
-
保 证 在 客 户 机 上 配 置 的 DCOM 支 持 SQL Debugg ing 仅 仅 是 Windows 95
工 作 站
安 装 SQ L Se rv er De bu gg ing 部 件
SQL 调 试 要 求 的 部 件 要 安 装 到 你 SQL 服 务 器 上 这 些 部 件 是 Visual Studio
企 业 版 的 组 成 部 分
安 装 S Q L 调 试 部 件
1 . 在 安 装 SQL 服 务 器 的 计 算 机 上 启 动 Visual studio Enterprise Edition
企 业 版 安 装 程 序
- 安 装 向 导 稍 有 不 同 的 选 择 取 决 于 在 计 算 机 上 你 是 否 已 安 装 了 服 务 器 部
件
-
如 果 已 经 安 装 了 服 务 器 部 件 在 Add/Remove Options 之 下 选 择 Server Applicatio ns and Tools
-
如
果 没 安 装 服 务 器 部 件 开 始 安 装 向 导 直 到 你 到 达 提 供 给 你
Enterprise Setup Options 页 面 为 止 选 择 Server App lications
-
开
始 安 装 向 导 软 件 直 到 你 到 达 提 供 给 Enterprise Setup Options 页 面为 止 选 择 Server App lications
-
在
下 一 页 上 选 择 Launch Bac kOffice Installation Wizard 然 后 选 择
Install
-
在
显 示 BackOffice Business Solution 向 导 的 时 候 选 择 Custorm 然后 选 择 Next
-
接
着 进 行 直 到 你 看 见 为 你 提 供 安 装 的 部 件 列 表 页 面 为 止 除 了 下 列 部件 之 外 所 有 部 件 都 不 进 行 检 查
-
SQL Server Debugging
-
MS Data Ac cess Components
-
Visual
Int erDev Server 7. 继 续 安 装
-
设 置 调 试 用 户
使 用 SQL Debugg ing 你 必 须 可 以 提 供 Windows NT 用 户 的 名 字 和 口 令 这个 用 户 在 SQL Server 运 行 的 服 务 器 计 算 机 上 拥 有 管 理 员 特 权
为 S Q L 调 试 设 置 用 户
1 . 在 服 务 器 的 Windows 控 制 面 板 上 选 择 Settings 然 后 选 择 Services 2. 选 择 MSSQLServe r 然 后 选 择 Startup
- 检 查 Log On As 设 置 如 果 该 选 项 置 为 System Account 把 它 改 变 为 This
Access 为 拥 有 管 理 员 特 权 的 用 户 键 入 有 效 域 名 和 帐 号 窗 体 是 域 名 /
帐 号 然 后 键 入 口 令
- 如
果 你 已 经 改 变 了 设 置 则 重 新 启 动 SQL 服 务 器
为 S Q L 调 试 安 装 D C O M
SQL 调 试 使 用 分 布 式 COM DCOM 在 你 的 客 户 计 算 机 和 服 务 器 之 间 进 行 通 信因 此 你 必 须 配 置 DCOM 以 允 许 远 程 用 户 连 到 服 务 器 上 调 试 器 的 一 个 进 程 上
根 据 默 认 设 置 正 确 的 DCOM 设 置 在 SQL Server 安 装 到 服 务 器 上 的 时 候 就配 置 好 了 然 而 基 于 对 运 行 SQL Server 的 计 算 机 安 全 的 考 虑 你 可 能 希 望 限制 对 调 试 器 的 访 问 使 用 下 列 一 般 过 程 在 SQL 服 务 器 计 算 机 上 安 装 DCOM
1 . 从 服 务 器 的 Windows St art 菜 单 上 选 择 Run 然 后 在 Open 框 中 安 装 提示 键 入 Dcomcnfg.e xe
-
在 Distribute d COM Configuration Properties 窗 口 中 选 择 Default Security 选 项 卡 在 Default Access Permissions 下 选 择 Edit Default
-
如
果 Everyone 组 还 没 有 得 到 许 可 选 择 Add 然 后 为 拥 有 管 理 员 特 权 的用 户 加 上 域 名 和 用 户 帐 号 窗 体 是 域 名 \ 帐 号
-
加
上 帐 号 之 后 检 查 SYSTEM 如 果 在 列 表 中 没 有 就 把 SYSTEM 加 上在 Add Names and Groups 对 话 框 中 的 用 户 列 表 中 选 择 它
-
如
果 你 对 这 个 过 程 所 描 述 的 任 何 设 置 做 了 改 变 就 要 重 新 启 动 SQL Server
注 意 : 如 果 你 把 你 的 帐 号 加 到 远 程 服 务 器 上 但 是 该 远 程 服 务 器 上 的 当 前 帐号 却 没 加 上 那 么 这 个 帐 号 不 能 进 行 调 试 尽 管 拥 有 那 个 帐 号 名 字 的
用 户 正 在 服 务 器 计 算 机 上 运 行 Visual Int erDev
运 行 SQ L De bu ggi ng
与 调 试 其 它 类 型 进 程 不 同 你 不 能 调 试 正 在 运 行 的 已 存 过 程 或 触 发 器 你要 在 编 辑 器 中 打 开 要 调 试 的 过 程 然 后 在 这 里 调 试 它
调 试 已 存 过 程
- 在
Data View 窗 口 中 用 右 键 单 击 要 调 试 的 已 存 过 程 然 后 选 择
Debug
编 辑 器 窗 口 打 开 里 面 有 这 个 已 存 过 程 文 本 和 Debug 菜 单 中 可 以 使 用 的调 试 命 令
在 Debug 方 式 中 打 开 编 辑 器 窗 口 之 后 你 就 可 以 像 使 用 通 常 命 令 一 样 使 用调 试 器 命 令 例 如 你 可 以 设 置 断 点 一 步 步 通 过 该 过 程 你 可 以 查 看 变 量 值并 把 参 数 传 递 给 Locals 窗 口 你 还 可 以 把 表 达 式 拖 到 Watch 监 视 窗 口 中对 你 通 过 过 程 的 步 骤 或 运 行 过 程 情 况 进 行 追 踪 SQL PRIN T 语 句 的 执 行 结 果 显示 在 Output 输 出 窗 口 中
这 种 SQL 调 试 器 同 对 脚 本 使 用 的 调 试 器 有 以 下 差 别
-
Auto 和 Immediate 窗 口 在 你 调 试 已 存 过 程 时 功 能 失 效 尽 管 你 可 以 显示 这 两 种 窗 口 但 是 Auto 窗 口 将 是 空 的 而 Immediate 窗 口 不 允 许 你放 入 表 达 式
-
你 不 能 使 用 Set Next S tatement 命 令 改 变 执 行 顺 序
如 果 是 用 简 单 SELECT 语 句 每 次 只 能 返 回 一 个 值 进 行 工 作 返 回 值 在 Locals
窗 口 内 你 可 查 看 的 变 量 中 然 而 如 果 SELECT 返 回 一 个 结 果 集 合 这 个 集 合 不显 示 在 调 试 器 中 但 是 你 可 以 在 Output 窗 口 中 查 看 这 个 结 果 集 合
2 1 .2 执 行 参 量 化 查 询
在 许 多 应 用 中 你 希 望 用 数 据 集 合 进 行 工 作 这 些 数 据 集 合 是 用 在 应 用 中支 持 的 条 件 创 建 的 例 如 你 的 应 用 可 以 显 示 有 关 一 个 部 门 中 所 有 雇 员 的 报 告你 可 以 组 建 一 种 窗 体 提 示 用 户 键 入 部 门 的 名 字 然 后 根 据 用 户 键 入 的 值 执 行一 次 查 询 这 种 类 型 的 查 询 叫 做 参 量 化 查 询 parameteri zed query
对 于 参 量 化 查 询 你 使 用 一 个 记 录 集 设 计 期 间 控 件 就 像 你 使 用 一 个表 格 或 其 它 数 据 库 对 象 的 控 件 一 样 其 区 别 是 这 种 记 录 集 控 件 是 绑 定 在 一个 已 存 过 程 上 或 一 个 SQL 语 句 上 而 不 是 绑 定 在 一 个 表 格 上
你 可 以 直 接 把 控 件 绑 定 在 过 程 或 语 句 上 或 者 把 控 件 绑 定 在 一 个 数 据 命 令上 这 个 数 据 命 令 指 向 这 些 类 型 对 象 中 的 一 个 关 于 数 据 命 令 的 细 节 参 见 第十 九 章 阅 览 数 据 中 的 获 取 记 录 一 节
创 建 参 量 化 查 询
1 . 把 记 录 集 设 计 期 间 控 件 拖 到 页 面 上 有 关 细 节 参 见 第 十 九 章 查看 数 据
-
右 键 单 击 控 件 选 择 Properties 在 General 选 项 卡 中 设 置 控 件 的 名字 和 连 接
-
在
Source of data 下 规 定 绑 定
- 如
果 是 绑 定 到 一 个 数 据 命 令 上 选 择 Database object 然 后 选 择
- 如
DE Commma nds 从 Object na me 列 表 中 选 择 要 使 用 的 数 据 命 令 名 字
-
如 果 直 接 绑 定 到 一 个 已 存 过 程 上 选 择 Database ob ject, 然 后 选 择Stored Pro cedure 从 Object nam e 列 表 中 选 择 要 使 用 的 已 存 过 程 名字
-
对 于 SQL 查 询 选 择 S Q L statem ent 然 后 键 入 SQL 文 字 选 择 SQL builder 启 动 Query Desi gner 在 SQL 语 句 中 使 用 一 个 问 号 指示 你 查 询 中 的 参 数 例 如 下 边 SQL 语 句 创 建 一 个 查 询 在 这 个 查 询中 部 门 名 字 是 参 数
SELECT * F ROM employee WHERE d epartment = ?
注 意 : 不 要 使 用 命 名 参 数
-
选
择 Parameters 选 项 卡 在 Values for paraneters 之 下 你 会 看 见 为查 询 规 定 的 参 数 列 表 对 于 Type 值 为 In 传 递 给 已 存 过 程 或 查 询 的 一 个参 数 的 每 个 参 数 指 定 一 个 传 递 给 已 存 过 程 的 值 这 些 值 可 以 是
-
Li tera ls 文 字 在 单 括 号 中 键 入 字 符 值 和 没 有 问 号 的 数 字 值
-
Va riab le s 变 量 键 入 服 务 器 代 码 中 定 义 的 变 量 名 字 服 务 器 代码 中 有 你 希 望 传 递 的 值
-
Ob ject ref eren ce s 对 象 引 用 子 键 入 一 个 对 象 引 用 子 和 一 个 特性 值 例 如 Textbox 1 .v alue 对 象 必 须 是 服 务 器 脚 本 中 可 以 得 到 的一 种 对 象 要 保 证 正 确 使 用 大 写 字 母 因 为 表 达 式 将 作 为 一 个JavaScript 表 达 式 来 对 待
-
Ex pres si on s 表 达 式 键 入 文 字 变 量 对 象 引 用 子 和 功 能 调 用
-
的 任 何 结 合 形 式 这 个 表 达 式 是 按 照 JavaScript 表 达 式 来 对 待 的 因 而 使 用 JavaScript 约 定 包 括 用 于 文 字 字 母 的 单 括 号 和 用 于 级 联用 的 加 号 (+)
你 必 须 保 证 在 运 行 查 询 的 时 候 参 数 可 以 成 功 地 进 行 计 算 作 为 默 认 设 置页 面 第 一 次 下 载 时 记 录 集 设 计 期 间 控 件 将 执 行 查 询 在 这 种 情 况 下 参 数值 不 能 是 收 集 的 值 或 者 只 在 页 面 显 示 之 后 赋 给 的 值 如 果 你 传 递 的 变 量 值 作为 查 询 参 数 那 么 你 可 以 在 记 录 集 打 开 之 前 使 用 两 个 要 进 行 处 理 的 事 件
-
对 于
页 面 使 用 onenter 事 件
-
对 于
记 录 集 使 用 onbeforeop en 事 件
此 外 你 还 可 以 规 定 在 页 面 打 开 时 记 录 集 控 件 不 自 动 打 开 记 录 集如 果 你 对 于 数 据 录 入 窗 体 和 结 果 窗 体 使 用 相 同 页 面 这 种 策 略 是 很 有 用 的
防 止 记 录 集 控 件 自 动 打 开 记 录 集
- 右 键 单 击 记 录 集 (Recordset ) 控 件 并 选 择 Properies 在Implementa tion 选 项 卡 中 清 除 Automatica lly open t he Recordset 选项
你 可 以 启 动 显 示 没 有 记 录 集 的 页 面 并 使 用 一 种 窗 体 提 示 键 入 一 个 数 值当 用 户 填 写 这 个 窗 体 并 单 击 一 个 按 钮 时 你 可 以 打 开 这 个 记 录 集 并 把 一 个 变量 值 或 控 件 传 递 给 它
打 开 记 录 集
- 调 用
记 录 集 脚 本 对 象 的 开 启 方 法
例 如 你 可 能 创 建 一 种 窗 体 带 有 一 个 文 本 框 设 计 期 间 控 件 还 带 有 一 个 按
钮 设 计 期 间 控 件 用 户 可 以 用 搜 索 的 值 填 充 这 个 文 本 框 然 后 单 击 这 个 按 钮
在 记 录 集 控 件 的 特 性 页 面 窗 口 的 参 数 选 项 卡 中 规 定 文 本 框 脚 本对 象 的 值 作 为 使 用 下 述 表 达 式 的 参 数 把 文 本 框 的 名 字 提 交 给 textbox 1 :
textbox 1 .v alue
于 是 按 钮 的 onclick 事 件 处 理 程 序 简 单 调 用 该 记 录 集 脚 本 对 象 开 启 方 法如 下 例 所 示
Function B utton 1 _ondick Records et 1 .open()
End Functi on
执 行 动 态 查 询
如 果 记 录 集 脚 本 对 象 是 绑 定 在 一 个 SQL 查 询 上 你 可 以 在 运 行 时 改 变 查 询并 重 新 执 行 它 如 果 根 据 用 户 提 供 的 信 息 运 行 一 次 查 询 这 是 特 别 有 用 的
SQL 命 令 的 当 前 文 本 可 以 通 过 调 用 记 录 集 脚 本 对 象 的 getSQLText 方 法 来使 用 你 可 以 通 过 调 用 其 getSQLText 方 法 来 设 置 SQL 文 本 在 设 置 SQL 文 本 之后 你 可 以 调 用 这 个 记 录 集 脚 本 对 象 的 开 启 方 法 来 重 复 执 行 查 询
下 边 的 例 子 说 明 在 记 录 集 中 你 如 何 动 态 改 变 记 录 的 排 列 顺 序 例 子 中 取 得一 个 SQL 文 本 再 把 一 个 新 ORDER BY 分 句 附 在 命 令 的 末 尾 再 一 次 更 新 这 个 记录 集 然 后 运 行 查 询 在 查 询 运 行 之 后 处 理 程 序 恢 复 成 原 来 的 查 询 文 本
你 可 以 确 定 查 询 什 么 时 候 完 成 办 法 是 编 写 一 个 ondatasetc omplete 事 件处 理 程 序 例 如 你 可 以 等 待 直 到 查 询 完 成 然 后 显 示 查 询 的 数 据 并 开 启页 面 上 的 控 件 完 成 这 些 工 作 的 处 理 程 序 如 下 所 示
使 用 数 据 环 境 执 行 数 据 库 命 令
向 你 的 Web 页 面 上 添 加 数 据 库 访 问 机 制 的 最 方 更 的 方 式 是 使 用 记 录 集控 件 和 数 据 绑 定 控 件 这 些 工 具 很 容 易 加 到 你 的 页 面 上 而 且 还 具 有 一 种 对 象
丰 富 的 模 型 提 供 强 有 力 的 访 问 数 据 库 的 功 能 有 关 细 节 参 见 Visual InterDev
在 线 文 档 中 设 计 期 间 控 件
然 而 在 某 些 情 况 下 你 可 能 希 望 创 建 更 直 接 执 行 数 据 库 命 令 的 脚 本 这样 做 可 使 你 的 页 面 比 使 用 记 录 集 控 件 时 要 小 如 果 创 建 了 自 己 的 用 户 界 面而 且 不 希 望 依 赖 设 计 期 间 控 件 的 话 你 还 可 能 希 望 脚 本 直 接 访 问 数 据 库
你 可 以 使 用 脚 本 在 整 个 服 务 器 中 访 问 数 据 库 或 者 直 接 从 客 户 机 脚 本 上 访问 数 据 库 关 于 服 务 器 和 客 户 机 访 问 数 据 的 讨 论 参 见 第 十 八 章 数 据 库 概 念中 的 数 据 绑 定
对 于 以 脚 本 服 务 器 为 基 础 的 数 据 库 访 问 在 连 接 信 息 和 数 据 库 命 令 方 面你 可 依 赖 数 据 环 境 这 个 题 目 将 在 后 边 讨 论 对 于 以 客 户 为 基 础 的 数 据 库 访 问可 使 用 远 程 数 据 服 务 RDS 关 于 RDS 的 内 容 参 见 Microsoft RDS Web 站点 http://www .microsoft.com/ data/rds/
编 写 D E 对 象 脚 本
对 于 以 脚 本 服 务 器 为 基 础 的 数 据 库 访 问 你 可 使 用 一 种 专 门 的 对 象 DE 对 象 进 行 工 作 这 种 对 象 具 有 一 种 对 象 模 型 用 于 执 行 命 令 并 管 理 它 们 的 结果 DE 对 象 模 型 是 ActiveX Data Object(ActiveX 数 据 对 象 ) 模 型 的 一 种 容 易使 用 的 版 本
在 编 写 数 据 库 访 问 脚 本 之 前 你 必 须 把 一 条 数 据 连 接 加 到 你 项 目 数 据 环 境中 在 你 做 这 件 事 的 时 候 Visual Int erDev 把 脚 本 加 到 Global.asa 文 件 上创 建 一 个 包 含 连 接 信 息 的 DE 对 象 当 你 在 页 面 上 编 写 数 据 访 问 脚 本 时 你 可 以引 用 这 个 DE 对 象 Visual Int erDev 会 自 动 得 知 如 何 连 接 到 数 据 库 上
在 添 加 数 据 连 接 之 后 你 再 把 一 个 或 多 个 数 据 命 令 加 到 这 条 数 据 连 接 上每 个 数 据 命 令 都 为 你 提 供 对 数 据 库 对 象 访 问 的 机 制 这 种 访 问 机 制 包 括 一 个 表格 或 视 图 一 个 SQL 命 令 或 一 个 已 存 过 程
执 行 命 令
你 可 以 在 脚 本 中 引 用 相 应 命 令 来 执 行 数 据 库 命 令执 行 数 据 库 命 令
1 . 要 保 证 你 希 望 执 行 的 命 令 定 义 为 数 据 环 境 中 的 一 条 数 据 命 令 有 关 细 节参 见 第 十 九 章 查 看 数 据 中 的 获 取 记 录 一 节
- 在 你 的 Web 页 面 上 使 用 服 务 器 脚 本 去 引 用 DE 对 象 如 果 你 已 经 开 启 了该 页 面 的 脚 本 对 象 模 型 则 使 用 下 述 脚 本
<%
thisPa ge.createDE()
%>
如 果 你 不 使 用 这 种 脚 本 对 象 模 型 则 使 用 下 述 脚 本
<%
set DE = S erver CreateObject( DERuntime. DERuntime ) DE.Init(Ap plication( “ DE ” )
%)
- 在
服 务 器 脚 本 中 通 过 引 用 命 令 名 字 的 办 法 执 行 你 希 望 执 行 的 命 令 使用 的 语 法 是
De. commandObj ectName
例 如 要 执 行 与 称 作 Aut hors 命 令 对 象 有 关 的 SQL 查 询 就 使 用 这 样 的脚 本
<%DE.Autho rs%>
- 如
果 该 命 令 要 用 参 数 例 如 引 用 一 个 已 存 过 程 或 参 数 化 查 询 的 命 令 你 就 在 调 用 这 个 命 令 的 时 候 传 递 参 数 使 用 的 语 法 是
DE.command ObjectName ( parameter 1 ,parameter2 ,[ … ])
你 可 以 按 照 变 量 文 字 在 你 编 写 脚 本 使 用 的 语 言 中 字 符 串 应 当 使 用相 应 的 问 号 进 行 传 递 或 其 它 任 何 有 效 表 达 式 传 递 参 数
例 如 要 执 行 需 要 两 个 参 数 的 已 存 过 程 就 要 使 用 下 述 脚 本 引 用 自 己 的相 应 命 令 对 象
<%DE.updat eAuthors( A 1 0 1 ,txtAuthor Lname. 1 00.00, London )%>
- 如
果 该 命 令 返 回 一 个 值 在 你 执 行 该 命 令 的 时 候 用 下 述 脚 本 把 这 个 值分 配 给 一 个 变 量
<%iRetValu e = DE.updateAuthors ( A 1 0 1 ,txtLname, 1 00.00)%>
用 结 果 集 合 进 行 工 作
所 有 命 令 都 返 回 一 个 集 合 尽 管 在 有 些 情 况 中 例 如 使 用 更 新 查 询 结 果集 合 是 空 的 但 是 如 果 你 的 命 令 返 回 一 个 有 用 的 结 果 集 合 你 就 可 以 在 结 果集 合 中 导 航 提 取 它 的 内 容 显 示 在 页 面 上
要 提 供 对 结 果 集 合 的 访 问 机 制 DE 对 象 就 要 动 态 创 建 一 个 以 该 命 令 对 象 为基 础 的 结 果 集 合 对 象 并 使 用 下 述 语 法 命 名
DE.rs commandObj ectName
在 产 生 一 个 结 果 集 合 的 时 候 应 当 包 含 一 个 指 示 符 指 示 哪 个 记 录 是 当 前记 录 你 完 成 的 任 何 操 作 例 如 显 示 数 据 导 航 或 更 新 在 完 成 过 程 中 都 与 当前 记 录 有 关 要 使 用 不 同 记 录 进 行 工 作 你 必 须 首 先 导 航 到 那 个 记 录
下 边 描 述 的 过 程 允 许 你 用 一 个 结 果 集 合 进 行 工 作 而 这 个 结 果 集 合 完 全 用在 一 个 页 面 上 例 如 你 可 以 在 这 里 使 用 过 程 创 建 一 个 页 面 这 个 页 面 列 出 一个 页 面 的 一 个 表 格 中 结 果 集 合 的 所 有 记 录
提 取 结 果 集 合 的 内 容
1 . 在 创 建 一 个 结 果 集 合 之 后 设 置 一 个 变 量 指 向 DE 结 果 集 合 对 象 这 个DE 结 果 集 合 对 象 是 按 照 你 的 命 令 对 象 命 名 的 但 是 具 有 rs 前 缀 例如 下 述 两 个 语 句 创 建 一 个 结 果 集 合 然 后 设 置 变 量 以 指 向 它
<%
DE.Authors
Set rs = D E.rsAuthors
%>
2. 使 用 类 似 下 述 语 法 从 结 果 集 合 的 Field 集 合 中 提 取 一 个 一 个 值
<%
DE.Authors
Set rs = D E.rsAuthors
1 name = rs .Fields( “ au_ 1 name ” )
%>
要 移 到 不 同 的 记 录 你 就 要 使 用 记 录 集 上 的 导 航 方 法
在 结 果 记 录 中 导 航
1 . 调 用 结 果 集 合 对 象 的 moveNext movePrevir ous moveFirst 或 moveLast
方 法
2. 要 确 定 你 是 在 结 果 集 合 的 开 始 还 是 结 束 位 置 要 测 试 EOF 或 BOF 属 性
下 边 的 脚 本 给 出 一 个 完 整 的 例 子 说 明 如 何 编 写 一 个 DE 对 象 脚 本 去 到Authors 表 格 中 获 取 信 息 这 个 脚 本 打 开 一 个 基 于 称 作 Authors 的 数 据 命 令对 象 的 记 录 集 然 后 从 结 果 集 合 的 开 头 导 航 到 末 尾 显 示 每 个 记 录 中 au_ 1 name 字 段 的 内 容
记 录 分 页
如 果 你 希 望 在 一 个 页 面 上 显 示 结 果 集 合 中 的 单 个 记 录 就 要 对 记 录 之 间 的页 面 提 供 导 航 控 制 这 种 情 况 比 较 复 杂 如 第 十 八 章 数 据 库 概 念 中 的 数据 绑 定 所 描 述 的 那 样
如 果 这 就 是 你 的 目 的 你 就 应 当 找 到 一 种 更 方 便 的 方 法 即 使 用 一 个 记录 集 Recordset 数 据 绑 定 控 件 和 一 个 RecordsetN avbar 控 件 的 混 合 方 法
有 关 细 节 参 见 第 三 章 数 据 库 基 础 中 的 显 示 记 录 一 节
有 关 设 计 分 页 的 其 它 信 息 参 见 Microsoft Visual Studio Web 站 点