Cita:
Iniciado por molocl
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.