VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 用VB创建通用数据库查询程序
发表评论(0)作者:李新书, 平台:VB6.0+Win98, 阅读:13085, 日期:2001-04-01
---- 当 今, 最 为 理 想 的 数 据 库 体 系 结 构 是 客 户 机/ 服 务 器 模 式, 通 常SQL Server 或Oracle 作 为 服 务 器 端 的 数 据 库 平 台,VB 作 为 客 户 端 应 用 程 序 的 开 发 工 具。 本 文 介 绍 如 何 用VB 创 建 对 上 述 两 种 数 据 库 都 可 以 访 问 的 通 用 数 据 库 查 询 程 序。

一、 准 备 工 作
---- 1. 建 立 用 户 数 据 源( 以 建 立SQL Server 数 据 源 为 例)
---- 在 客 户 端 执 行 如 下 操 作:

在Windows 98 的 控 制 面 板 中 用 鼠 标 双 击32bit ODBC, 启 动ODBC 数 据 资 源 管 理 器

在"User DSN" 方 式 下 按"ADD" 按 钮, 出 现"Create New Data Source" 对 话 框, 选 择"SQL Server" 驱 动 程 序

在Data Source Name 框 中 填 写 数 据 源 名( 如websql)

在Server 框 中 填 写SQL Server 服 务 器 名( 如:kkksqlsvr)

在DataBase Name 框 填 写 数 据 库 名( 如:pubs)
---- 2. 加 入DAO 目 标 库
新 建 项 目Project1

从Project 菜 单 中 选 择References 菜 单 项

从 弹 出 对 话 框 中 选 中Microsoft DAO 3.5 Object Library 检 查 框, 并 按OK 按 钮
---- 3. 加 入 数 据 网 格 控 件
从Project 菜 单 中 选 择Components 菜 单 项

从 弹 出 菜 单 中 选 中Microsoft Data Bound Grid Control 检 查 框, 并 按 确 定 按 钮
二、 窗 体 及 控 件 设 计
---- 本 程 序 涉 及 三 个 窗 体:logon、form1、form2。logon 窗 体 主 要 用 于 身 份 验 证, 如: 输 入 用 户 名、 口 令、 数 据 源 名;Form1 窗 体 用 来 选 择 数 据 表、 输 出 字 段 及 查 询 条 件;Form2 窗 体 用 来 显 示 查 询 结 果。
.
.
.

---- 注: 表 中 未 列 出 的 窗 体 及 控 件 的 属 性 值 则 采 用 创 建 时 的 缺 省 值
三、 事 件 及 相 应 代 码 的 设 计( 源 程 序 见 附 件)
---- logon 窗 体 的 事 件 及 代 码 设 计 较 为 简 单, 主 要 是 文 本 框 的Keydown 事 件。 在 该 事 件 中 捕 捉 回 车 键, 设 置 焦 点 或 调 用form1 窗 体。 下 面 着 重 介 绍form1 窗 体 事 件 及 代 码 设 计:
在form1 窗 体 的Form_Load 事 件 中, 通 过 引 用logon 窗 体 的 用 户、 口 令、 数 据 源 的 值, 为form2 窗 体 中Data1 控 件 的connect 属 性 赋 值, 然 后 用
.
.
.

当 进 行 条 件 查 询 时, 我 们 定 义 了 函 数datatype
---- 该 函 数 对 查 询 条 件 中 的 字 段 进 行 类 型 判 断, 并 根 据 其 类 型 使 得SQL 语 句 做 相 应 的 处 理。 如: 对 于 字 符 类 型 的 字 段 在 比 较 值 的 两 端 加 单 引 号, 日 期 型 的 两 边 加# 号 等。 每 当 用 户 输 入 比 较 值 或 通 过 鼠 标 从 组 合 框 中 选 择 比 较 值 时, 都 会 调 用 该 函 数 进 行SQL 语 句 处 理。
四、 程 序 特 点
---- 通 用 性: 无 论 后 台 的 数 据 库 是SQL Server 还 是Oracle, 不 用 修 改 程 序, 只 需 对ODBC 进 行 适 当 的 配 置, 都 可 以 通 过 本 程 序 查 询 服 务 器 上 的 数 据, 并 且 不 受 数 据 表 结 构 变 化 的 限 制。
---- 灵 活 性: 自 动 提 供 数 据 表 供 用 户 选 择, 输 出 字 段 任 选, 查 询 条 件 任 意 组 合, 条 件 值 自 动 检 索 预 置。 用 户 输 入 或 选 择 条 件 值 时 不 必 考 虑 其 类 型, 程 序 将 自 动 识 别。
---- 实 用 性: 即 使 用 户 对 数 据 表 的 情 况 不 了 解, 也 能 非 常 便 利 地 查 询 到 所 要 的 数 据。
---- 安 全 性: 当 运 行 程 序 时, 要 求 用 户 输 入 用 户 名 及 口 令, 只 有 数 据 库 服 务 器 端 授 权 的 用 户 才 能 查 询 到 数 据。
---- 容 错 性: 我 们 在 编 程 时 进 行 了 容 错, 并 作 出 相 应 的 处 理。
五、 使 用 说 明
---- 首 先 运 行logon 窗 体, 输 入 数 据 库 可 识 别 的 用 户 名、 口 令 及 连 接 数 据 库 服 务 器 的 数 据 源 名。 在 你 的 机 器 上 可 能 配 置 了 两 个 用 户 数 据 源, 一 个 连 接SQL Server, 另 一 个 连 接Oracle, 输 入 不 同 的 数 据 源 名 即 可 从 不 同 的 数 据 库 服 务 器 上 查 询 数 据。 如 果 要 查 询 不 同 的 数 据 库, 修 改 数 据 源 中 所 指 定 的 数 据 库 名。