Los conjuntos de registros en forma en ADO proporcionan un método fantástico para mostrar las relaciones entre la información contenida en una base de datos relacional que a menudo no se pueden mostrar utilizando T-SQL o Open XML.
En el ejemplo a continuación, enviamos una consulta de conjunto de registros en forma a través de ADO al servidor. Esta solicitud devuelve un conjunto de registros en forma. Usando el método ‘Save’ del objeto recordset, el conjunto de registros se guarda en el DOM XML. El parámetro ‘adPersistXML’ guarda el conjunto de registros como XML.
Sub Obtener_PedidosCliente()
Dim conn, rs, SqlString
Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
set XMLObj = Server.CreateObject("MSXML2.DOMDocument")
conn.ConnectionString = "Northwind....."
conn.Open
SQLString = "SHAPE {Select * from Customers} " & _
"APPEND ({Select * from Orders} as rsOrders " & _
"RELATE CustomerID to CustomerID)"
rs.Open SQLString, conn, 1, 1
rs.Save XMLObj, adPersistXML
rs.close
set rs = nothing
conn.close
set conn = nothing
Response.Write XMLObj.XML
End Sub
Después de este paso, ¡hay muchas alternativas y posibilidades sobre cómo utilizar el DOM XML a su favor! En el ejemplo, el XML simplemente se escribe en el navegador. ¿Pero cuáles son algunas otras opciones?
Una opción sería transformar el XML utilizando una hoja de estilo XSL. Esto proporcionaría una flexibilidad inmensa al mostrar la salida. Puede personalizar la apariencia y estructura de los datos XML según sus necesidades.
Otro beneficio de cargar el conjunto de registros en el DOM XML es la facilidad con la que se puede analizar. ¿Alguna vez has intentado recorrer un conjunto de registros en forma con la intención de devolver solo ciertas jerarquías de registros? Se puede hacer, pero piensa en lo fácil que sería usando el DOM XML. Simplemente especifica una lista de nodos deseada y devuelve los valores.
Solo he discutido dos usos para cargar un conjunto de registros en forma en el DOM XML, pero hay muchas más aplicaciones. ¡Ve si puedes encontrar una!