Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2011, 15:14
mhalonso
 
Fecha de Ingreso: mayo-2008
Mensajes: 23
Antigüedad: 16 años
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.