Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   resultados consulta en xml (http://www.forosdelweb.com/f29/resultados-consulta-xml-205650/)

Willy Fog 26/05/2004 09:41

resultados consulta en xml
 
Hola a todos

Mirando por internet, he leidoque pudo hacer consultas a una base de datos sql server y que me devuelva un fichero xml.

Me gustaria hacer esto en mi aplicacion pero no se como, explico lo que he hecho.

He creado un procedimiento almacenado como este

CREATE PROCEDURE Xml_Almacenes AS
SELECT *
FROM almacenes
FOR XML raw
GO

quiero mostrar esta informacion en un datagrid
en mi programa hago esto:

Conecto(cnn)
Dim cmd As OdbcCommand
cmd = New OdbcCommand("XML_Almacenes", cnn)
cmd.CommandType = CommandType.StoredProcedure

Dim cadena As String
cadena = cmd.ExecuteScalar

Ahora en cadena tengo el xml devleto de la consulta, se hace sto asi? es correcto?
ahora no se como asignar ese churro de texto con formato xml al datagrid. Hay alguna forma de hacerlo directamente?

Muchas gracias por su ayuda.
:adios:

lucxx 26/05/2004 10:16

Hombre, la verdad es que no entiendo muy bien para que quieres convertir los datos devueltos por una consulta SQL en xml simplemente para mostrarlos en un datagrid :pensando:

Para mostrarlos en el datagrid, cargalos a una tabla en un dataset (por ejemplo) y después, si quieres guardar esos datos como xml, puedes emplear el metodo dataSet.writeXml

ejemplo: (suponemos que tenemos un dataset 'ds' ya cargado)

Dim fs as FileStream
Dim XMLStream as StreamReader
Dim xtw as XmlTextWriter

fs = new FileStream(Server.MapPath("archivo.xml", FileMode.Create)
xtw = new XmlTextWriter(fs, System.Text.Encoding.Unicode)
ds.WriteXml(xtw, XmlWriteMode.WriteSchema)

xtw.Close()
fs.Close()

(requiere los namespaces System.IO y System.Xml)

Salu2 :adios:

Willy Fog 28/05/2004 03:40

Lo que queria es hacer por un lado un servicio web que me devolviera datos en un formato xml. Tal y como tengo las cosas en mi proyecto ahora mismo, abro un comand con el resultado de la consulta, cargo undatareader para leer los datos y despues mediante un proceso lo transformo a xml para poder devolverlo.
Al leer en una página de internet que podia sacar en formato xml el resultado de una consulta directamente pensé que podia ahorrarme algunos pasos en mis procesos, y eso es lo que quiero intentar.

Por un lado, tengo creado mi servicio web de esta nueva formaque devuelve una cadena string con el resultado del procedimientos almacenado que devuelve un xml. Tal y como puse arriba:
Conecto(cnn)
Dim cmd As OdbcCommand
cmd = New OdbcCommand("XML_Almacenes", cnn)
cmd.CommandType = CommandType.StoredProcedure

return cmd.ExecuteScalar

por otro lado, en mi formulario declaro la variable string con lo que me devuelve la funcion. Al ser de tipo string y contener el contenido de un xml, como cargo un datagrid con eso?

¿Como podria hacer esto ?
Un saludo y gracias por contestar


La zona horaria es GMT -6. Ahora son las 03:10.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.