分享
 
 
 

用 IE 调用 RDS 实现远程数据库存取

王朝other·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

互连网上的数据库应用大多采用 Web 后台数据库,用 ASP、PHP、JSP 等嵌入式脚本语言编程进行数据的后台存取。实际上,应用微软的 RDS(Remote Data Service 远程数据服务)同样可以进行 Web 服务器端的数据库访问,使用起来更显简单。而这一技术一般的报刊杂志介绍的比较少。

RDS 是微软随 IE4.01 以上浏览器发布的一个 ActiveX 组件,负责网络系统中远端数据库的访问。与 ASP 等数据库访问组件不同的是,RDS 不是工作在 Web 服务器端,而是调用浏览器本地的组件功能,实现真正的远程数据存取,所以在访问服务器端的数据库时,必须提供服务器的 IP 地址和数据库的绝对路径,最后通过 SQL 查询语句,将数据取回到浏览器端显示出来。

更让人欣喜的是,浏览器端数据的显示,不用像 ASP 脚本那样通过编程控制数据的版面编排,而是通过将 RDS 作为数据源与网页中普通的表格进行“绑定”,通过十分简单的脚本语言控制,数据就会在表格中显示出来。(而网页中的表格,我们一般的用法是用它来控制页面排版、布局。)

和一般的 ActiveX 组件的使用一样,RDS 组件在网页中用 <object id="" classid=""></object> 标签进行引用。本例中我们的 id 设为 RDS1,classid 为 BD96C556-65A3-11D0-983A-00C04FC29E33(在注册表中应当能查找到)。用来显示数据的 HTML 表格 id 设为 Cheng_ji。把 RDS1 作为数据源与表格 Cheng_ji 绑定在一起的语法格式为:

<table id="Cheng_ji" DataSrc="#RDS1" DataPagesize="6">

还可以分页显示数据,其中 DataPagesize="6" 表示一页表格显示 6 条记录。

在表格中显示字段变量数据的语法为 <DIV DataFld="字段名">。

本例中,按钮“打开数据库”调用 VB 脚本 OpenDB() 过程,把 IP 地址、数据库路径、SQL 查询语句等参数传递给 RDS1,然后调用 RDS1 的 refresh 方法取回数据在表格 Cheng_ji 中显示出来。表格下面的四个按钮调用翻页函数可以前后查看数据。设置分页功能对大量的数据可以进行有效的缓冲,还可以平衡网络的数据流量。

本例实现了一个学生成绩单的查询功能,Access 数据库 test_db.mdb 中成绩表 cheng_ji 的表结构为:

xing_ming 文本 '姓名

xue_hao 文本 '学号

yu_wen 数字 '语文

shu_xue 数字 '数学

ying_yu 数字 '英语

mei_shu 数字 '美术

ji_suan_ji 数字 '计算机

HTML 代码如下,查询结果见图。本例在 Windows98 第一版下运行通过。

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80">

<title>成绩公布</title>

</head>

<body bgcolor="#FFFFFF">

<center><font color=red size=5>成绩公布</font></center><hr>

<Form name="form1">

<table border="0" align="center">

<tr>

<td align="right">服务器 IP 地址:</td>

<td>

<!-定义服务器 IP 地址:-->

<input type="text" size="50" name="Server" value="http://192.168.0.100">

</td>

</tr>

<tr>

<td align="right">数据库路径:</td>

<td>

<!-定义服务器端数据库路径:-->

<input type="text" size="50" name="Dbq" value="c:\tmp\test_db.mdb">

</td>

</tr>

<tr>

<td align="right">SQL 查询语句:</td>

<td>

<!-定义SQL 查询语句:-->

<input type="text" size="50" name="SQL" value="Select * From cheng_ji">

</td>

</tr>

<tr>

<td align="center" colspan="2"><input type="button" value="打开数据库" onclick="OpenDB()"></td>

</tr>

</form>

</table>

<hr width="80%">

<table align="center" width= "400" border="1" cellspacing=0

id="Cheng_ji" DataSrc="#RDS1" DataPagesize="6">

<THEAD>

<tr align="center">

<td bgcolor="#00FFFF">姓名</td>

<td bgcolor="#00FFFF">学号</td>

<td bgcolor="#00FFFF">语文</td>

<td bgcolor="#00FFFF">数学</td>

<td bgcolor="#00FFFF">英语</td>

<td bgcolor="#00FFFF">美术</td>

<td bgcolor="#00FFFF">计算机</td>

</tr>

</THEAD>

<TBODY>

<tr>

<td><DIV DataFld="xing_ming"></DIV></td>

<td align="center"><DIV DataFld="xue_hao"></DIV></td>

<td align="right"><DIV DataFld="yu_wen"></DIV></td>

<td align="right"><DIV DataFld="shu_xue"></DIV></td>

<td align="right"><DIV DataFld="ying_yu"></DIV></td>

<td align="right"><DIV DataFld="mei_shu"></DIV></td>

<td align="right"><DIV DataFld="ji_suan_ji"></DIV></td>

</tr>

</TBODY>

</table>

<br>

<center>

<input type="button" value="第一页" onclick="Cheng_ji.firstPage()">

<input type="button" value="<<上一页" onclick="Cheng_ji.previousPage()">

<input type="button" value="下一页>>" onclick="Cheng_ji.nextPage()">

<input type="button" value="最后一页" onclick="Cheng_ji.lastPage()">

</center>

<hr>

<object id="RDS1" classid="ClsID:BD96C556-65A3-11D0-983A-00C04FC29E33" align="baseline">

</object>

<script language="VBScript">

Sub OpenDB()

RDS1.Server = form1.Server.Value

RDS1.Connect = "driver={Microsoft Access Driver (*.mdb)}" & ";dbq=" & form1.Dbq.Value

RDS1.SQL = form1.SQL.Value

RDS1.Refresh

End Sub

</script>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有