远 程 数 据 库 的 访 问

 

---- 远 程 数 据 对 象(RDO) 是 VB 5.0 中 基 于 ODBC API 的 对 象 模 型, 它 短 小、 快 捷、 强 健, 可 以 访 问 任 何 32 位 ODBC 数 据 源, 如 SQL Server 和 Oracle 数 据 库, 是 访 问 远 程 数 据 库 的 更 新 更 高 级 的 工 具。

---- 使 用 RDO 的 一 般 方 法 如 下。

---- 先 声 明 变 量:

Public con As rdoConnection, res As rdoResultset

---- 然 后 初 始 化 rdoEngine, 设 置 用 户 和 口 令 等 缺 省 参 数;

    With rdoEngine
        .rdoDefaultUser = "sa"                 '用户为 sa
        .rdoDefaultPassword = "pass"           '口令为 pass
        .rdoDefaultCursorDriver = rdUseServer
        .rdoDefaultLoginTimeout = 15
End With

---- 再 连 接 到 要 访 问 的 远 程 数 据 库( 可 使 用 DSN Connection 和 DSN-Less Connection)。

---- 使 用 DSN Connection 举 例( 连 接 服 务 器 SERVER 上 的 数 据 库 hotel):

Set con = rdoEnvironments(0).OpenConnection
("hotel", rdDriverNoPrompt, False)

---- 使 用 DSN-Less Connection 举 例( 连 接 服 务 器 SERVER 上 的 数 据 库 hotel):

Set con = rdoEnvironments(0).OpenConnection
("", rdDriverNoPrompt, False, _
        "driver={SQL Server};
          server=SERVER; database=hotel")

---- 建 立 连 接 后, 既 可 使 用 OpenResultset 方 法 执 行 查 询 并 处 理 结 果 集, 又 可 使 用 Execute 方 法 执 行 包 括 数 据 定 义 和 数 据 操 作 在 内 的 动 作 查 询。 例 如:

Set res = con.OpenResultset
("SELECT * FROM menu", rdOpenStatic)
con.Execute "CREATE VIEW menu_view AS SELECT 代码,
菜名FROM menu", rdExecDirect

---- RDO 最 强 大 和 最 重 要 的 特 性 之 一 是: 它 可 以 查 询 和 处 理 由 存 储 过 程 返 回 的 结 果, 无 论 它 有 多 么 复 杂。

---- 除 RDO 外, 还 可 使 用 RDC 访 问 远 程 数 据 库。

---- 远 程 数 据 控 件(RDC) 与 数 据 控 件(DC) 类 似, 不 同 之 处 是 RDC 使 用 RDO 连 接 到 ODBC 驱 动 程 序 管 理 器, 而 DC 则 使 用 DAO 连 接 到 Jet 数 据 库 引 擎。 利 用 RDO 和 RDC, 无 需 使 用 Jet 引 擎 就 可 以 访 问 ODBC 数 据 源。 这 样, 在 访 问 远 程 数 据 库 时, 可 以 获 得 更 好 的 性 能 和 更 大 的 灵 活 性。

---- 远 程 数 据 控 件 MSRDC 使 用 举 例 如 下。

    Connect:   driver={SQL Server}; server=SERVER; database=hotel
    DataSourceName:
    SQL:               SELECT * FROM menu
    UserName:          sa
    Password:          pass
CursorDriver:      3-rdUseClient

---- 可 以 使 用 RDC 执 行 许 多 简 单 的 远 程 数 据 访 问 操 作, 不 需 编 写 任 何 代 码, 只 要 填 写 有 关 项 就 可 以 了, 使 用 起 来 很 方 便。 但 应 注 意, 除 非 在 设 计 时 禁 止 并 只 在 需 要 时 启 动 RDC , 否 则 它 至 少 将 消 耗 一 个 远 程 数 据 库 连 接。 在 远 程 数 据 库 连 接 资 源 有 限 或 要 求 很 高 效 的 情 况 下, 宜 慎 用、 少 用 RDC 。 这 种 情 况 下, 应 尽 可 能 考 虑 使 用 RDO , 并 使 用 存 储 过 程( 预 编 译 好 的 SQL 语 句)。

---- 最 后 还 应 注 意, 只 有 32 位 操 作 系 统( 如 Windows NT 或 Windows 95), 才 能 支 持 RDO 和RDC 。RDO 和 RDC 也 只 能 用 于 访 问 32 位 ODBC 数 据 源。

 

 

 

<script language=JavaScript> function showhide() { var i, ss, cc, rr; cc = showhide.arguments; for (i=0; i<(cc.length-2); i+=3) { ss = cc[i+2]; if (navigator.appName == 'Netscape' && document.layers != null) { rr = eval(cc[i]); if (rr) rr.visibility = ss; } else if (document.all != null) { if (ss == 'show') ss = 'visible'; if (ss == 'hide') ss = 'hidden'; rr = eval(cc[i+1]); if (rr) rr.style.visibility = ss; } }} function keepIE(WinName,WinTop,WinLeft) { document.all[WinName].style.top=WinTop+parseInt(document.body.scrollTop)+document.body.clientHeight-90 document.all[WinName].style.left=WinLeft+parseInt(document.body.scrollLeft)+document.body.clientWidth-80 } function keepNN(WinName,WinTop,WinLeft) { document.layers[WinName].moveTo(self.pageXOffset+WinLeft+window.innerWidth-80,self.pageYOffset+WinTop+window.innerHeight-90)} </script>

<script language=JavaScript> IE4=(document.all)?1:0 NN4=(document.layers)?1:0 if (IE4) { if( (document.body.clientHeight>300)&&(document.body.clientWidth>400) ) { setInterval('keepIE("Silversand",0,0)',1000) } else { document.all['Silversand'].style.visibility = 'hidden'; } } if (NN4) { if( this.window.innerHeight<300 ) { document.layers['Silversand'].visibility = 'hide' } if( this.window.innerWidth<400 ) { document.layers['Silversand'].visibility = 'hide' } else { setInterval('keepNN("Silversand",0,0)',1000) } } </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值