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

Ayuda WebSerice

Estas en el tema de Ayuda WebSerice en el foro de .NET en Foros del Web. Hola, necesito levantar un webService (Y NO TENGO IDEA ), donde la forma de consumir sera ingrsar un parametro y retorna valores desde una base ...
  #1 (permalink)  
Antiguo 19/11/2009, 05:47
 
Fecha de Ingreso: mayo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Ayuda WebSerice

Hola, necesito levantar un webService (Y NO TENGO IDEA ), donde la forma de consumir sera ingrsar un parametro y retorna valores desde una base de datos Sql Server2005.

Quien tiene algun codigo en .net que permita conectar a sql y retorne determinados valores de la base.

Gracias
  #2 (permalink)  
Antiguo 19/11/2009, 07:30
Avatar de xjuanch0x  
Fecha de Ingreso: septiembre-2009
Mensajes: 125
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Ayuda WebSerice

Cita:
Iniciado por molocl Ver Mensaje
Hola, necesito levantar un webService (Y NO TENGO IDEA ), donde la forma de consumir sera ingrsar un parametro y retorna valores desde una base de datos Sql Server2005.

Quien tiene algun codigo en .net que permita conectar a sql y retorne determinados valores de la base.

Gracias
Eso es muy facil, ,o unico que debes hacer es crear un proyecto de webservice y crear los metodos que se conecten a la base de datos, este es un ejemplo que hice para un proyecto que hice en la empresa donde trabajo

Public Function RecuperarInformacionVentaMillonaria() As InfoVentaMillonaria
Dim oDatos As New Helper
Dim dtSincro As New Data.DataTable()
Dim respuesta As InfoVentaMillonaria = Nothing
Dim mensaje As New StringBuilder()
Dim lector As System.Data.IDataReader
Dim recibo As Int64


Try

dtSincro =oDatos.RecuperarSincronizacion(InfoVentaMillonari a.CDCS.CDCCOFIDE).Tables(0)

If dtSincro.Rows.Count > 0 Then
recibo = CLng(dtSincro.Rows(0).Item("Ventas").ToString).ToS tring("N0")
recibo = recibo + 1
lector = oDatos.RecuperarInformacionVentaMillonariaCDC(reci bo)

If lector.Read Then
respuesta = New InfoVentaMillonaria
respuesta.Recibo = recibo
respuesta.LecturaInicial = CDec(lector("LecturaInicial").ToString())
respuesta.LecturaFinal = CDec(lector("LecturaFinal").ToString())
respuesta.Abonocredito = CDec(lector("AbonoCredito").ToString())
respuesta.Cantidad = CDec(lector("Cantidad").ToString())
respuesta.ValorVenta = CDec(lector("ValorVenta").ToString())
End If

If Not lector.IsClosed Then
lector.Close()
lector = Nothing
End If

End If

Catch ex As System.Exception
mensaje.AppendLine("Tipo de Excepcion: " & ex.GetType.ToString)
mensaje.AppendLine("Metodo: RecuperarInformacionVentaMillonaria")
mensaje.AppendLine("Mensaje: " & ex.Message)
mensaje.AppendLine("Pila: " & ex.StackTrace)
respuesta = New InfoVentaMillonaria
respuesta.Mensaje = mensaje.ToString


End Try
Return respuesta
End Function


En este caso yo retorno un objeto, pero puedes devolver un Dataset o un DataTable, no puedes devolver DataReader ya que no te lo permite, como ves el metodo RecuperarSincronizacion me devulve un datatable que no es mas que el llamado a un procedimiento almacenado que retorna una consulta, te pongo el metodo para que veas que solo llamo a un procedimiento


Public Function RecuperarInformacionVentaMillonariaCDC(ByVal recibo As Int64) As IDataReader
Dim DB As Database = DatabaseFactory.CreateDatabase()
'Crea un sqlComand a partir del nombre del procedimiento almacenado
Dim SqlCommand As String = "RecuperarInformacionVentaMillonariaCDC"
Dim DatabaseCommand As DbCommand = DB.GetStoredProcCommand(SqlCommand)

DB.AddInParameter(DatabaseCommand, "Recibo", DbType.Int64, recibo)


Using connection As DbConnection = DB.CreateConnection()
connection.Open()

Try
'Ejecuta el Procedimiento Almacenado
Return DB.ExecuteReader(DatabaseCommand)
Catch Ex As Exception
Throw Ex
Finally
connection.Close()
End Try
End Using
End Function

Para esta conexcion yo uso la EnterpriseLibrary, pero tu puedes usar l el namespace SqlClient sin ningun problema.
  #3 (permalink)  
Antiguo 19/11/2009, 09:28
 
Fecha de Ingreso: mayo-2007
Mensajes: 32
Antigüedad: 17 años
Puntos: 0
Respuesta: Ayuda WebSerice

gracias por responder, era un poco mas facild e lo que pensaba......ahora necesito otra cosa como retornar un xml y no una cadena.
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 18:38.