📄 dbapp.htm
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<TITLE>数据库中的XML应用实例</TITLE>
<style type="text/css">
<!--
.normal10 { font-size: 11pt}
.normal9 { font-size: 9pt}
p{ font-size: 9pt}
a{ text-decoration: none }
a:hover{ color:Red;text-decoration:underline }
a {
font-size:9pt;
COLOR: cornflowerblue;
FONT-FAMILY: "新细明体", "宋体";
FONT-WEIGHT: bold
}
-->
</style>
<link rel="stylesheet" href="../../Global.css" tppabs="http://www.xml.org.cn:8188/Global.css"></HEAD>
<BODY>
<p ALIGN="CENTER">[<a href="../../default.asp.htm" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<a href="../application.htm" tppabs="http://www.xml.org.cn:8188/application/application.htm" target="_parent">返回应用</a>]</p>
<table width="85%" border="0" align="center">
<tr>
<td width="22%" height="20"> </td>
<td width="53%" height="20">
<h2 align="center"><font color="#6633FF"><b><font face="黑体" lang="ZH-CN" size="4">数据库中的</font><font face="Arial" size="4">XML</font><font face="黑体" lang="ZH-CN" size="4">应用实例</font><font color="#3333FF" size="4"></font></b></font></h2>
</td>
<td width="25%" height="20"><a name="top"></a></td>
</tr>
<tr>
<td colspan="3" height="37">
<div align="right">
<p align="right"><br>
<font lang="ZH-CN" size="3" class="normal10" color="#FF0066"><em>这里下载源代码:<a href="Database.zip" tppabs="http://www.xml.org.cn:8188/application/Database/Database.zip">Database.zip</a></em></font>
</p>
</div>
</td>
</tr>
<tr>
<td colspan="3" height="1033"><font face="宋体" lang="ZH-CN" size=3> </font>
<rev></rev>
<p align="left"><font lang="ZH-CN" size="+1"><span class="normal105"><span class="normal105">我们在该例中介绍如何实现数据库和XML结合。您将可以看到,该例中实现对一般的关系数据库进行查询等操作,并将结果输出到通用的XML。例中还示范结合采用XSL规范XML的格式,用HTTP和ASP进行网络的通信和处理。您可以在此基础上进行许多扩充的开发,特别是服务器/客户端架构的Web应用。</span></span></font></p>
<p align="left"></p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1" class="normal105">下面我们来详细说明该实例及使用方法:</font></span></span></p>
<p><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1">(<span class="normal105">1)准备工作</span></font>
</span></span></p>
<p></p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1" class="normal105">打开控制面板,将Northwind.mdb数据库添加至您的用户数据源(DNS)并命名为"nwind";<br>
process.asp放在服务器端,第4部分中要用到该文件处理HTTP请求;<br>
用Visual Basic 6.0打开test.vbp项目,引用MS XML Version2.0库。</font></span></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1"><span class="normal105">(2)定义的变量</span><br>
<br>
<span class="normal105">Dim con As ADODB.Connection<br>
Dim rs As ADODB.Recordset<br>
Dim xmlstr As String<br>
Dim xmldoc As MSXML.DOMDocument<br>
Dim xmlhttp As MSXML.XMLHTTPRequest<br>
Dim xsldoc As MSXML.DOMDocument<br>
Dim message As MSXML.DOMDocument<br>
Dim query As String</span></font></span></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1"><span class="normal105">(3)初始化</span></font></span></span></span><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1"><br>
<span class="normal105">函数init(),在Form_Load()中调用</span></font></span></span></p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1" class="normal105">'建立和打开ADODB与ODBC的数据连接<br>
Set con = New ADODB.Connection<br>
con.ConnectionString = "DSN=nwind;UID=sa;PWD=;"<br>
con.Open</font></span></span></span></p>
<p align="JUSTIFY"> </p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1" class="normal105">'建立XML
文档对象(XML Document Objects)<br>
Set xmldoc = New MSXML.DOMDocument<br>
Set xsldoc = New MSXML.DOMDocument<br>
Set message = New MSXML.DOMDocument</font></span></span></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1"><span class="normal105">(4)实现查询和输出:<br>
在Command1_Click函数中实现</span></font></span></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><span class="normal105"><font size="+1"><span class="normal105">'<font lang="ZH-CN">查询数据库</font></span><font lang="ZH-CN"><br>
</font></font><font lang="ZH-CN" size="+1" class="normal105">query = "Select
* FROM Customers WHERE CustomerID = '" & Text1.Text & "'"<br>
Set rs = con.Execute(query)</font></span></span></span></p>
<p align="JUSTIFY"> </p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1" class="normal105">'将查询的结果存储到XML文件<br>
On Error Resume Next<br>
Kill ("recordset.xml")<br>
rs.Save "recordset.xml", adPersistXML <br>
xmldoc.async = False<br>
xmldoc.Load ("recordset.xml")</font></span></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><font size="+1"><span class="normal105">'<font lang="ZH-CN">执行对子树的查询,实际上是滤除其它Schema定义的部分,
提取出满足查询结果的纯数据<br>
</font></span></font><span class="normal105"><font lang="ZH-CN" size="+1">MsgBox
xmldoc.selectSingleNode("//z:row").xml</font></span></span></span></p>
<p align="JUSTIFY"> </p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1" class="normal105">'载入样式表(stylesheet)并将XML规格化<br>
xsldoc.async = False<br>
xsldoc.Load ("standard.xsl")<br>
xmldoc.transformNodeToObject xsldoc, message</font></span></span></p>
<p align="JUSTIFY"> </p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1"><span class="normal105">'将XML发送给服务器进行处理<br>
Set xmlhttp = New MSXML.XMLHTTPRequest<br>
<span class="normal105">xmlhttp.Open "POST", "http://icds/process.asp",
False </span></span></font><span class="normal105"><span class="normal105"><font size="+1"><span class="normal105">‘<font lang="ZH-CN">要根据process.asp的位置指定好第2项参数</font></span></font></span></span><span class="normal105"><font size="+1"><font lang="ZH-CN"><br>
</font></font><font lang="ZH-CN" size="+1" class="normal105">xmlhttp.send
message</font></span></span></span></p>
<p align="JUSTIFY"></p>
<p align="JUSTIFY"><span class="normal105"><span class="normal105"><font lang="ZH-CN" size="+1"><span class="normal105">(5)使用应用程序<br>
按F5执行该程序,在上面的文本框中输入查询的顾客的I<span class="normal105">D, 按下面的</span></span></font><span class="normal105"><span class="normal105"><font size="+1"><span class="normal105">”<font lang="ZH-CN">处理顾客信息</font>”<font lang="ZH-CN">执行查询并输出结果。</font></span></font></span></span></span></span></p>
<p align="JUSTIFY"></p>
<p align="left"><span class="normal105"><span class="normal105"><span class="normal105"><font face="宋体" lang="ZH-CN" size="+1"><span class="normal105">如果要了解更多,请下载源代码:<a href="Database.zip" tppabs="http://www.xml.org.cn:8188/application/Database/Database.zip">Database.zip</a></span></font><span class="normal105"><font size="+1">
。</font></span><font size="+1"> </font></span></span></span></p>
<hr size="1">
<p align="center"><font face="宋体" lang="ZH-CN">[<a href="#top">返回标题</a>][<a href="../application.htm" tppabs="http://www.xml.org.cn:8188/application/application.htm" target="_parent">返回应用</a>][<a href="../../default.asp.htm" tppabs="http://www.xml.org.cn:8188/default.asp" target="_parent">返回首页</a>][<a href="mailto:xmlteam@egroups.com">欢迎投稿</a>]</font></p>
<p align="center">最后更新:1999年7月20日<br>
<font color="#FF0033" size="-1">本站点所刊文章版权,均归本站点所有。署名作者拥有其著作权。<br>
未经</font><font color="#FF0033"><a href="mailto:xmlteam@egroups.com"><font color="#6666FF" size="-1">允许</font></a></font><font color="#FF0033" size="-1">,不得随意转载,违者必究!!</font>
</p>
</td>
</tr>
</table>
<h2 ALIGN="CENTER"> </h2>
<FONT FACE="宋体" LANG="ZH-CN" SIZE=3>
<P ALIGN="JUSTIFY"> </P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3></FONT>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -