用JDBC编写查询Access和FoxPro数据库

寄信人: Fll (沧海一声笑)
标  题: 没主题
发信站: 郁金香BBS站 (2005年10月05日22:07:01 星期三)
来  源: 郁金香BBS站

用JDBC编写查询Access和FoxPro数据库

----JDBC(Java 数 据 库 连 接:Java Database Connectivity) 是用于执行SQL语句
的Java 应用 程 序 接 口(Java Application Programming Interface:Java API),
 它 由 一 组 用Java 语 言 写 的 类 与 接 口 组 成。JDBC 是 一 种 规 范, 其
宗 旨 是 让 各 数 据 库 开 发 商 为Java 程 序 员 提 供 标 准 的 数据库访问类
和接口。JDBC与Java结合,使用户可以很容易地把SQL语句传送到任何关系数据库中,程
序员用它编写的数据库应用软件,可在各种数据库系统上运行。本文通过一个实例讨论
用JDBC编写在中文Win95下访问Access(包括Access2.0, Access7.0) 和FoxPro( 包括
FoxPro2.6, FoxBase2.1, dBase3.0, dBase4.0 等)数据库的Java应用程序,从中体会
JDBC 在数据库应用上实现"一次编程,处处运行"的功能,

安 装JDBC

---- JDBC 类 库 已 放 入JDK1.1, 若 使 用JDK1.1, 则 无 须 安 装JDBC 及 下 面
 的JDBC-ODBC; 因 目 前JDK1.1 暂 不 支 持 中 文, 固 本 文 主 要 介 绍 使 用
JDK1.02 时 的JDBC 访 问 数 据 库 编 程, 此 时 需 要 安 装JDBC, 可 通 过 访
 问 下 列 地 址 获 得JDBC 软 件 包( 目 前 已 有JDBC1.2 版, 本 文 使 用JDBC
1.1):

---- http://splash.javasoft.com/jdbc/

---- 得到JDBC 软件(Windows 的zip 文件) 包, 用WinZip 解压, 生 成 目录JDBC
,JDBC 的 所 有 内 容 都 在 这 个 目 录 中。

---- 为 在 编 译Java 程 序 时 调 用JDBC 得SQL 类 库, 应 在autoexec.bat 批 处
 理 文 件 中 环 境 变 量 的:/jdbc/classes。

建 立 数 据 库 和 设 置 数 据 源

---- Access 具 备 完 善 的 数 据 库 功 能, 可 以 作 为 独 立 的DBMS 使 用,
 是PC 微 机 上 开 发 客 户/ 服 务 器 型 数 据 库 应 用 的 优 秀 工 具;FoxPr
o(FoxBase、dBase) 是 国 内PC 微 机 用 户 常 用 的 数 据 库 软 件, 已 用 它
 建 立 了 大 量 数 据 库 挡 案 资 料; 讨 论 用Java SQL API 编 写 访 问Acces
s 和FoxPro 数 据 库 的Java 应 用 程 序 是 十 分 有 意 义 的。

---- 现 在 对 概 念 已 作 了 根 本 的 修 改: 传 统 的( 例 如:dBase3.0、Fo
xBase、FoxPro2.6 等) 用 于 存 贮 数 据 的*.dbf 文 件 不 再 被 称 为 数 据 库
 而 被 称 为 表(table)。Access 将 若 干 个 相 关 联 的 表(Table) 组 成 一
个 数 据 库(.mdb), 每 一 个 表 相 当 于 通 常(Foxbase,Foxpro,dBase) 定 义 的
 一 个 数 据 库(.dbf); 而 对FoxPro(FoxBase、dBase), 则 将 放 在 某 个 目
 录 里 的 所 有 相 关 联 的*.dbf 文 件 看 作 一 个 相 当 于Access 的*.mdb 的
 数 据 库。 在 下 面 的 例 子 里, 我 们 要 使 用 的 数 据 库 有 两 个 表:t
able1 与table2;

table1

编 号 软 件 名 姓 名 通 信 地 址 电 话

1 Access7.0 赵 一 北 京 (01)623-2731

2 Access7.0 钱 二 上 海 (21)443-6998

3 Access7.0 孙 三 天 津 (22)578-8535

4 Access7.0 李 四 长 春 (431)885-9854

table2 如 下: SupplierID Software SupplierName Address PhoneNumber

1 Access7.0 Piter France (33)687-9354

2 Access7.0 John America (1)675-4398

3 Access7.0 Tanaka Japen (81)854-3952

4 Access7.0 Hesai Mexico (52)257-5793

---- 如 下 建 立 数 据 库 与 数 据 源:

---- 1 用Access7.0 建 立 名 为acs70db.mdb 的 数 据 库 文 件, 其 中 建 有 上
 面 两 个 表; 将 文 件acs70db.mdb 存 盘 到 目 录c:/datas/acs70 中; 数 据 源
 名 为acs70db.mdb;

---- 2 用Access2.0 建 立 名 为acs20db.mdb 的 数 据 库 文 件, 其 中 建 有 上
 面 两 个 表; 将 文 件acs20db.mdb 存 盘 到 目 录c:/datas/acs20 中; 注 意 此
 时 表table1 的 字 段 名 要 改 用 英 文; 数 据 源 名 为acs20db.mdb;

---- 3 用FoxPro2.6 将 上 面 两 个 表 分 别 建 为 文 件table.dbf 与table2.dbf
, 并 将 这 两 个 文 件 存 盘 到 目 录c:/datas/foxp26 中;

---- 4 用FoxBase2.1 将 上 面 两 个 表 分 别 建 为 文 件table.dbf 与table2.db
f, 并 将 这 两 个 文 件 存 盘 到 目 录c:/datas/foxb21 中;

---- 5 用dBase3.0 将 上 面 两 个 表 分 别 建 为 文 件table.dbf 与table2.dbf,
 并 将 这 两 个 文 件 存 盘 到 目 录c:/datas/dbs3 中;

---- 上 列 数 据 库 制 好 后, 打 开Win95 的" 设 置" 菜 单 中 的" 控 制 面 板
?* 从 中 启 动 微 软 的ODBC 设 置 相 应 的ODBC 驱 动 器 和 数 据 源( 下 面
分 别 用axs70、acs20、foxp26、foxb21 和dbs3 作 数 据 源 名)。

配 置JDBC-ODBC 驱 动 器

---- ODBC( 开 放 式 数 据 库 互 连:Open Database Connectivity) 是 用C 语
言 写 的 在 多 种 不 同 的DBMS( 数 据 库 管 理 系 统) 中 存 取 数 据 的 标
 准 应 用 程 序 接 口; 目 前 应 用 最 广 的 是 微 软 的ODBC, 它 几 乎 可 将
 所 有 平 台 的 所 有 数 据 库 连 接 起 来。ODBC 在 应 用 程 序 与 特 定 数
据 库 之 间 插 入 一 个 驱 动 程 序 管 理 器, 每 种 数 据 库 引 擎 都 需 要
 向 驱 动 程 序 管 理 器 注 册 它 自 己 的ODBC 驱 动 程 序, 驱 动 程 序 管
理 器 将 与ODBC 兼 容 的SQL 请 求 从 应 用 程 序 传 给ODBC 驱 动 程 序 并 由
ODBC 驱 动 程 序 把SQL 请 求 翻 译 为 对 数 据 库 的 固 有 调 用, 从 而 达
到 应 用 程 序 访 问 操 作 数 据 库 的 目 的。

---- JDBC 采 用JDBC-ODBC 桥 接 方 式 使Java 应 用 程 序 使 用ODBC。JDBC-ODBC
 Bridge 软 件 包 可 通 过 下 列 地 址 得 到:

---- http://splash.javasoft.com/jdbc/

---- 用WinZip 解 压 后 形 成jdbc-odbc 目 录, 目 录 中 包 括 了 所 需 内 容,
 同 时 在autoexec.bat 批 处 理 文 件 中 将?:/jdbc-odbc/classes" 加 进?et CLA
SSPATH?" 中; 将?:/jdbc-odbc/classes/sun/jdbc/odbc" 加 进?et PATH?" 中**

使 用SQL

---- SQL( 结 构 化 查 询 语 言:) 提 供 了 一 个 查 询 不 同 数 据 源 数 据
 的 标 准 方 式, 在1986 年 被 采 纳 为 工 业 标 准, 在1992 年 经 全 面 调
整 后 称 为SQL92( 或SQL2), 目 前SQL3 正 处 于 研 制 中。 下 面 简 要 介 绍
SQL 的 主 要 命 令 及 其 意 义:

---- COMMIT: 大 多 数 关 系 数 据 库 系 统RDBMS 以 事 务 为 处 理 单 位, 一
 个 事 务 可 包 含 多 个 动 作。COMMIT 命 令 指 示 数 据 库 记 录 到 当 前 点
 时 执 行 的 所 有 动 作 和 重 置 事 务;

---- INSERT: 指 示 数 据 库 在 表 中 插 入 行;

---- DELETE: 指 示 数 据 库 在 表 中 删 除 行;

---- SELECT: 指 示 数 据 库 从 表 中 返 回 行;

---- UPDATA: 指 示 数 据 库 修 改 表 中 的 行。

编 写 访 问 数 据 源 的Java 应 用 程 序

---- 很 容 易 用JDBC 编 写 访 问、 操 作 数 据 库 的Java 应 用 程 序; 应 用
 程 序 一 般 作 下 面 三 件 事:

---- (1) 加 载JDBC-ODBC bridge 驱 动 程 序;

---- (2) 建 立 与 数 据 库 的 连 接、 发 送 访 问、 操 作 数 据 库 的SQL 语
 句;

---- (3) 处 理(2) 对 数 据 库 访 问、 操 作 的 结 果。

---- 对 此, 可 如 下 使 用Class.forName 方 法 显 式 加 载 驱 动 程 序 来 完
 成(1):

---- Class.forName("sun.jdbc.odbc.JdbsOdbcDriver");

---- 为 使 程 序 通 用, 编 写 一 个 方 法( 函 数) 来 完 成(2):


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值