Выдача Recordset’а в формате XML непосредственно в поток Response

Рассмотрим совсем легкий пример выдачи рекордсета в объект Response модели ASP.

<% ' Should specify thisResponse.ContentType = "text/xml" ' Define some constant for ADO.Const adopenStatic = 3Const adLockReadOnly = 1Const adCmdText = 1Const adPersistXML = 1 Dim rsSet rs = Server.CreateObject("ADODB.Recordset") ' Open recordsetrs.Open "select au_fname,au_lname,address from authors where au_fname like 'M%'", _ "Provider=sqloledb;Data Source=server;Initial Catalog=pubs;" & _ "User Id=user;Password=password;", adopenStatic, adLockReadOnly, adCmdText ' Save recordset to Response streamrs.Save Response,adPersistXML Set rs = nothing%>

Этот чрезвычайно простой пример демонстрирует богатые возможности манипулирования результирующим набором строк на клиенте. Рассмотрим использование объекта RDS.DataControl.

ПРИМЕЧАНИЕ Возможно, эффективнее для RDS использовать формат adPersistADTG, однако XML для этого также прекрасно подходит.

Пример взят из MSDN и слегка модифицирован:

<HTML><HEAD><TITLE>Пример ADO Recordset Persistence</TITLE></HEAD><BODY> <OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="RDC1" <PARAM NAME="URL" VALUE="http://yourserver/XMLPersist/XMLResponse.asp"></OBJECT> <TABLE DATASRC="#RDC1"> <TR> <TD><SPAN DATAFLD="au_fname"></SPAN></TD> <TD><SPAN DATAFLD="au_lname"></SPAN></TD> <TD><SPAN DATAFLD="address"></SPAN></TD> </TR></TABLE></BODY></HTML>

А вот как создать на клиенте точную копию отправленного рекордсета (код на vbs):

Dim rsSet rs = CreateObject("ADODB.Recordset")rs.Open "http://server/server_dir/sql2xml.asp"

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: