Foros del Web » Programación para mayores de 30 ;) » .NET »

resultados consulta en xml

Estas en el tema de resultados consulta en xml en el foro de .NET en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 26/05/2004, 09:41
 
Fecha de Ingreso: julio-2003
Mensajes: 102
Antigüedad: 20 años, 9 meses
Puntos: 0
Información 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.
  #2 (permalink)  
Antiguo 26/05/2004, 10:16
Avatar de lucxx  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 321
Antigüedad: 20 años, 5 meses
Puntos: 0
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

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
  #3 (permalink)  
Antiguo 28/05/2004, 03:40
 
Fecha de Ingreso: julio-2003
Mensajes: 102
Antigüedad: 20 años, 9 meses
Puntos: 0
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:06.