XML 记录集暂留方案

在这种情况下,你将创建一个 Active Server Pages (ASP) 应用程序,该应用程序 Recordset 对象的内容直接保存到 ASP Response 对象中。

注意

此方案要求你的服务器安装 Internet Information Server 5.0 (IIS) 或更高版本。

返回的 Recordset 使用 DataControl 对象 (RDS) 显示在 Internet Explorer 中。

要创建此方案,需要执行以下步骤:

  • 设置应用程序

  • 获取数据

  • 发送数据

  • 接收和显示数据

步骤 1:设置应用程序

使用脚本权限创建一个名为“XMLPersist”的 IIS 虚拟目录。 在虚拟目录指向的文件夹中创建两个新的文本文件,一个名为“XMLResponse.asp”,另一个名为“Default.htm”。

第 2 步:获取数据

在此步骤中,你将编写代码以打开 ADO 记录集并准备将其发送到客户端。 使用文本编辑器(如记事本)打开文件 XMLResponse.asp,然后插入以下代码。

<%@ language="VBScript" %>  
  
<!-- #include file='adovbs.inc' -->  
  
<%  
  Dim strSQL, strCon  
  Dim adoRec   
  Dim adoCon   
  Dim xmlDoc   
  
  ' You will need to change "MySQLServer" below to the name of the SQL   
  ' server machine to which you want to connect.  
  strCon = "Provider=sqloledb;Data Source=MySQLServer;Initial Catalog=Pubs;Integrated Security=SSPI;"  
  Set adoCon = server.createObject("ADODB.Connection")  
  adoCon.Open strCon  
  
  strSQL = "SELECT Title, Price FROM Titles ORDER BY Price"  
  Set adoRec = Server.CreateObject("ADODB.Recordset")  
  adoRec.Open strSQL, adoCon, adOpenStatic, adLockOptimistic, adCmdText  

请务必将 strConData Source 参数的值更改为你的 Microsoft SQL Server 计算机名称。

保持文件打开并继续下一步。

第 3 步:发送数据

现在你有了一个记录集,你必须通过将它作为 XML 保存到 ASP Response 对象来将它发送到客户端。 将以下代码添加到 XMLResponse.asp 的底部。

  Response.ContentType = "text/xml"  
  Response.Expires = 0  
  Response.Buffer = False  
  
  Response.Write "<?xml version='1.0'?>" & vbNewLine  
  adoRec.save Response, adPersistXML  
  adoRec.Close  
  Set adoRec=Nothing  
%>  

请注意,ASP Response 对象被指定为记录集 Save 方法的目标。 Save 方法的目标可以是任何支持 IStream 接口的对象,例如 ADO 流对象 (ADO) 或包含 Recordset 保存到的完整路径的文件名。

在进行下一步之前保存并关闭 XMLResponse.asp。 还将 adovbs.inc 文件从默认 ADO 库安装文件夹复制到保存 XMLResponse.asp 文件的同一文件夹中。

第 4 步:接收并显示数据

在此步骤中,你将创建一个带有嵌入式 DataControl 对象 (RDS) 对象的 HTML 文件,该对象指向 XMLResponse.asp 文件以获取 Recordset。 使用文本编辑器(例如记事本)打开 default.htm,然后添加以下代码。 将 URL 中的“sqlserver”替换为你的服务器名称。

<HTML>  
<HEAD><TITLE>ADO Recordset Persistence Sample</TITLE></HEAD>  
<BODY>  
  
<TABLE DATASRC="#RDC1" border="1">  
  <TR>  
<TD><SPAN DATAFLD="title"></SPAN></TD>  
<TD><SPAN DATAFLD="price"></SPAN></TD>  
  </TR>  
</TABLE>  
<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="RDC1">  
   <PARAM NAME="URL" VALUE="XMLResponse.asp">  
</OBJECT>  
  
</BODY>  
</HTML>  

关闭 default.htm 文件并将其保存到你保存 XMLResponse.asp 的同一文件夹中。 使用 Internet Explorer 4.0 或更高版本,打开 URL https://sqlserver /XMLPersist/default.htm 并观察结果。 数据显示在绑定的 DHTML 表中。 现在打开 URL https://sqlserver /XMLPersist/XMLResponse.asp 并观察结果。 将显示 XML。

另请参阅

Save 方法
以 XML 格式保留记录