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

Devolver un dataset tipado en un webservice

Estas en el tema de Devolver un dataset tipado en un webservice en el foro de .NET en Foros del Web. Hola a todos, estoy intentando crear un webservice en el cual exista un metodo que devuelva un dataset tipado, los pasos que sigo son los ...
  #1 (permalink)  
Antiguo 01/03/2011, 15:14
 
Fecha de Ingreso: mayo-2008
Mensajes: 23
Antigüedad: 16 años, 7 meses
Puntos: 0
Devolver un dataset tipado en un webservice

Hola a todos, estoy intentando crear un webservice en el cual exista un metodo que devuelva un dataset tipado, los pasos que sigo son los siguientes: (Trabajo sobre vb.net)

1.- Creo el esquema. Boton derecho del ratón sobre app_code, agregar nuevo elemento, selecciono DataSet, le asigno un nombre por ejmplo, DSPaises.xsd, pulso en aceptar.
2.- Pulso sobre explorardor de servidores, y busco mi bd, arrastro un procedimiento almacenado al espacio que me creo el xsd y me crea el .xsd
3.- pulso en guardar y a continuación me voy a Inicio, programas, Microsoft visual studio 2008, visual estudio tools y pulso sobre simbolo del sistema de "visual estudio 2008", y me posiciono dentro de la carpeta del proyecto y creo el dataset con su clase: xsd /L:VB /C DSPaises.xsd, me creara en el proyecto la clase DSPaises.vb.
4.- a continuación elimino del proyecto el xsd generado para solo quedarme con la clase, ya que si me quedo con el xsd me da error de código repetido.
5.- paso a tratar mi dataset tipado,

<WebMethod()> _
Public Function Paises(ByVal Request As Peticion_Pais) As DSPaises

Dim com As New SqlCommand("dbo.sp_GET_TPAISES")
com.Connection = Conecta_Sql()
com.CommandType = CommandType.StoredProcedure

Dim da As New SqlDataAdapter(com)
Dim ds As New DSPaises
da.SelectCommand = com
da.Fill(ds)
SqlConnection.ClearAllPools()
com.Dispose()
Conecta_Sql.Close()

Return ds


End Function

A la hora de compilar me muestra este error sobre el dataadapter (Marcado en rojo").

Error de resolución de sobrecarga porque ninguna de las funciones 'Fill' a las que se tiene acceso se puede llamar con estos argumentos:
'Public Function Fill(dataTable As System.Data.DataTable) As Integer': Un valor de tipo 'DSPaises' no se puede convertir en 'System.Data.DataTable'.
'Public Overrides Function Fill(dataSet As System.Data.DataSet) As Integer': Un valor de tipo 'DSPaises' no se puede convertir en 'System.Data.DataSet'.

Alguien podría ayudarme por favor, estoy desesperado y no se el porque da este error, he buscado en internet ejemplo de dataset tipados y hacen el mismo ejemplo solo que a ellos no les da error, creo que tiene algo que ver a la hora de eliminar del proyecto el xsd generado.

Saludos y gracias. espero haberme expresado correctamente y me hallan entendido.
  #2 (permalink)  
Antiguo 02/03/2011, 09:56
Avatar de jcarrascal  
Fecha de Ingreso: enero-2008
Mensajes: 87
Antigüedad: 16 años, 11 meses
Puntos: 6
Respuesta: Devolver un dataset tipado en un webservice

Prueba a pasarle el DataTable diréctamente:

Código:
da.Fill(ds.Paises)
  #3 (permalink)  
Antiguo 02/03/2011, 15:30
 
Fecha de Ingreso: mayo-2008
Mensajes: 23
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Devolver un dataset tipado en un webservice

Gracias por contestar jcarracal, pero sigue sin funcionar, da el mismo error.
Alguna otra sugerencia??? me estoy volviendo loco por encontrar la solución.
Saludos.
Se te ocurre algo más???

Etiquetas: dataset, devolver, tipado, webservice
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 08:31.