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 Recordset,並準備將其傳送至用戶端。 使用文字編輯器 (例如記事本) 開啟 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
請務必將 strCon
中的 Data Source
參數值變更為 Microsoft SQL Server 電腦的名稱。
讓檔案保持開啟狀態,並繼續進行下一個步驟。
步驟 3:傳送資料
既然您已具有 Recordset,就必須將其當作 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 物件會指定為 Recordset Save 方法的目的地。 Save 方法的目的地可以是支援 IStream 介面的任何物件,例如 ADO Stream 物件 (ADO),或是檔案名稱,其中包含要儲存 Recordset 的完整路徑。
儲存並關閉 XMLResponse.asp,然後再移至下一個步驟。 此外,將 adovbs.inc 檔案從預設的 ADO 程式庫安裝資料夾複製到儲存 XMLResponse.asp 檔案的相同資料夾。
步驟 4:接收和顯示資料
在此步驟中,您將建立 HTML 檔案,其中包含內嵌的 DataControl 物件 (RDS) 物件,指向 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 隨即顯示。