发信人: mengy (LEAR DLLS 命令时,将从内存中清除), 信区: BorlandDev
标 题: Delphi 3.0 中 连 接 数 据 库 的 三 种 方 式
发信站: 哈工大紫丁香 (2001年03月13日18:14:10 星期二), 转信
Delphi 3.0 中 连 接 数 据 库 的 三 种 方 式 <<上一篇 下一篇>>
---- Delphi 3.0 对 访 问 数 据 库 提 供 了 强 有 力 的 支 持, 利 用
Delphi 3.0 可 以 开 发 出 功 能
强 大 的 数 据 库 应 用 程 序。
---- Delphi 的 可 视 化 功 能 相 当 强 大, 制 作 一 个 简 单 的 仅 对
数 据 进 行 查 看 和 维 护
的 程 序 十 分 容 易, 可 以 不 写 任 何 代 码 就 能 实 现 !Delphi 3.
0 中 访 问 数 据 库 的 方
式 有 三 种: 直 接 访 问, 如 访 问Paradox 和DBase 数 据 库; 通 过ODBC
访 问, 如 访 问
Access、Foxpro 等 数 据 库; 通 过 内 嵌(Native) 方 式 访 问 数 据 库
, 如 访 问SQL Server、
Oracle、DB2 等。 在Delphi 中, 可 以 使 用Table 控 件 或/ 和Query 控 件
来 访 问 数 据 库, 二 者 的 设 置 和 用 法 都 差 不 多, 因 此 下 面
仅 以Table 控 件 为 例 说 明 这 三 种 方 式 的 特 点 和
用 法。
---- 1. 直 接 访 问
---- Delphi 可 以 直 接 访 问Paradox 和DBase 这 两 个 桌 面 型 的 数 据
库 系 统。 访 问 这 两 种
类 型 的 数 据 库 时 不 需 要 特 别 的 设 置, 只 需 要 把 文 件 路 径
赋 给Table 控 件 的 属
性DatabaseName 就 可 以 访 问 该 路 径 下 的 数 据 库 了。 当 然, 也 可
以 事 先 建 立 映 射
数 据 库 路 径 的 数 据 库 别 名, 然 后 把Table 控 件 的DatabaseName 属
性 设 置 为 相 应 的 数
据 库 别 名。
---- 2. 通 过ODBC 访 问
---- 访 问Paradox 和DBase 以 外 的 数 据 库, 通 常 是 通 过ODBC 来 实
现 的。Delphi 可 以 访 问
支 持ODBC 的 数 据 库 系 统, 如Access、SQL Server 和Oracle 等。 当 然,
通 过ODBC 访 问 数 据
库 时, 首 先 要 使 用Windows 的 控 制 面 板 或Delphi 的 数 据 库 引 擎
(BDE) 建 立ODBC 数 据
源。
---- Delphi 提 供 了Database 控 件, 该 控 件 的 作 用 有: 在 应 用 程
序 的 控 制 下 和 数 据 库
系 统 建 立 连 接、 进 行 事 务 处 理 等。 在 数 据 库 应 用 程 序 中,
可 以 使 用Database 控
件, 也 可 以 不 使 用。 如 果 不 使 用Database 控 件, 可 以 直 接 把
ODBC 数 据 源 的 名 称
赋 给Table 控 件 的 属 性DatabaseName 而 达 到 访 问 该 数 据 库 的 目
的。 这 种 方 式 的 弊 端
是 在 程 序 运 行 时 由Delphi 系 统 自 动 弹 出 登 录 到 数 据 库 的 英
文 界 面 的 窗 口, 既
不 美 观 又 不 便 于 控 制。 因 此, 笔 者 建 议 在 数 据 库 应 用 程 序
中 使 用Database 控 件
来 登 录 到 数 据 库 系 统。 把Table 控 件 与Database 控 件 关 联 的 方
法 是 把 其DatabaseName
属 性 值 指 定 为Database 控 件 的DatabaseName 属 性 值。 一 个
Database 控 件 可 以 管 理 若 干 个
Table 控 件。 和Database 控 件 建 立 关 联 以 后, 只 要 该Database 控
件 已 经 和 数 据 库 建 立
了 连 接,Table 控 件 就 可 以 直 接 访 问 数 据 库 而 无 须 再 次 登 录
。
---- 3. 通 过 内 嵌 方 式 访 问
---- Delphi 中 可 以 不 通 过ODBC, 而 以 内 嵌 方 式 访 问SQL Server、
Oracle、DB2 等 数 据 库 系
统。 这 需 要 使 用 数 据 库 别 名 来 指 定 数 据 库, 数 据 库 别 名 可
以 事 先 建 立, 也
可 以 在 程 序 运 行 时 动 态 创 建。 前 者 称 为 静 态 别 名, 后 者 称
为 动 态 别 名。 使
用 数 据 库 别 名 来 访 问 数 据 库 的 方 法 和 使 用ODBC 数 据 源 的 情
形 相 同, 这 里 不
再 累 述。 通 过 内 嵌 方 式 访 问 数 据 库 的 静 态 别 名 必 须 在BDE
中 建 立。 以 访 问SQL
Server 数 据 库 为 例, 在 建 立 别 名 时 必 须 指 定 数 据 库 服 务 器
的 名 称(SERVER
NAME)、 主 机 名(HOST NAME) 以 及 要 访 问 的 数 据 库 名 称(
DATABASE NAME), 可
以 指 定 登 录 用 户 名(USER NAME) 和 口 令(PASSWORD) 等。 通 过 动
态 创 建 的 别 名
来 访 问 数 据 库 必 须 使 用Database 控 件。 如 何 设 置Database 控 件
中 访 问 数 据 库 的 参
数 呢 ? 用 鼠 标 双 击Database 控 件, 出 现 参 数 设 置 窗 口, 在
"Driver name" 一 栏 选 择 要
访 问 的 数 据 库 系 统, 如"MSSQL", 然 后 选 择 按 钮"Defaults", 就
会 把BDE 中 该 数 据 库
系 统 所 需 的 参 数 名 称 和 缺 省 值 加 入 到"Parameter overrides" 列
表 中。 根 据 实 际 情 况
更 改 参 数 中 的"SERVER NAME"、"DATABASE NAME" 等 项。 然 后 选 择 按
钮"OK" 就 可 以
了。 需 要 说 明 的 两 点 是, 以 内 嵌 方 式 访 问 数 据 库 需 要 在 安
装Delphil 3.0 时 指 定
安 装SQL Link;Query 控 件 的SQL 语 句 不 能 以 分 号 结 尾。
---- 结 论
---- 通 过 内 嵌 方 式 访 问 数 据 库 与 通 过ODBC 访 问 数 据 库 相 比
, 前 者 的 速 度 要 快
一 些。 而 且, 内 嵌 方 式 可 以 在 程 序 中 动 态 地 设 置 连 接 数 据
库 所 需 的 参 数,
用 户 不 必 设 置ODBC 数 据 源, 这 就 降 低 了 对 用 户 技 术 水 平 的
要 求, 并 且 减 少
了 用 户 的 工 作 量。 从 系 统 配 置 的 难 易 和 复 杂 程 度 来 看, 使
用 内 嵌 方 式 开 发
出 的 数 据 库 应 用 系 统 更 便 于 普 通 用 户 使 用。 因 此, 笔 者 建
议 在 开 发 较 大 型
的 应 用 系 统 时, 最 好 通 过 内 嵌 方 式 来 访 问 数 据 库。
如果你有什么好的资料,可以寄给我哟:) <<回到首页 <<上一篇 下一篇>>
------------------------------------------------------------------------
--------
Delphi 技巧集
Copyright 1999.11 by 东子 Mail to me!
感谢广州视窗提供主页空间
--
大海无边天做岸
山登绝顶我为风
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.735毫秒