en

MSGuayaquil

Recursos esenciales para el desarrollador .NET

Ayuda con parametros de salida en Procedimientos Almacenados

Último post 10-22-2007 3:21 PM escrito por Oscar. 1 respuestas.
Página 1 de 1 (2 elementos)
Ordenar mensajes: Anterior Siguiente
  • 08-15-2007 2:44 AM

    • gangster
    • Contribuyente Top 75
    • Se unió el 08-14-2007
    • Envíos: 3
    • Puntos: 20

    Ayuda con parametros de salida en Procedimientos Almacenados

    Que tal a todos,  soy nuevo por esta comunidad y bueno......

    tengo un problema (mejor dicho),  necesito obtener los datos de una base de datos pero pasandole un parametro a un procedimiento almacenado y que me devuelva los demas datos a mis cajas de texto.

     Mi aplicación por ejemplo tengo un textbox "nombre" (ese es el parametro que le paso a mi store proc),  y quiero que dependiendo de ese "nombre" me devuelva los datos de ese cliente (dirección, telefono, email, ocapacion, etc.).  Pero no se como declarar mi procedimiento para que me devuelva esos datos. (todo lo tengo en 2005,  VB 2005 profesional y SQL 2005 standar)

     Si alguién ya lo hizo... no estaría mal que me ayudara  ó que me oriente para saber como hacerlo......

    Gracias.........Hasta Pronto

    • Puntos de post: 0
  • 10-22-2007 3:21 PM en respuesta a

    • Oscar
    • Contribuyente Top 100
    • Se unió el 04-21-2007
    • Guayaquil
    • Envíos: 2
    • Puntos: 20

    Re: Ayuda con parametros de salida en Procedimientos Almacenados

    Espero ayudarte con esto

    El procedure
     

    Create Procedure SpDatosCliente
        @nombre varchar(50)
    as

    select  direccion, telefono, email, ocapacion from cliente
    where upper(nombre) = upper(@nombre)


    Desde Vb

    esto desde tu formulario
                  Try
                Dim cli As New Cliente
                Dim dt As DataTable = Nothing

                dt = cli.Consulta(Me.Txtnombre.Text.Trim())
                ' en item pones los mismos campos de tu tabla, que es lo que te retorna la consulta
                Me.Txtdireccion.Text = dt.Rows(0).Item("direccion").ToString()
                Me.Txttelefono.Text = dt.Rows(0).Item("telefono").ToString()

            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        End Sub

    aca he creado una  clase para no mesclar codigo

    Imports System.Data.SqlClient

    Public Class Cliente
        Public Function Consulta(ByVal nombre As String) As DataTable
            Consulta = New DataTable
            Dim cnn As SqlConnection = Nothing
            Try
                cnn = New SqlConnection("aqui la cadena de conexion")
                cnn.Open()

                Dim comando As New SqlCommand()

                Dim prm As New SqlParameter("@nombre", SqlDbType.VarChar, 50, ParameterDirection.Input)
                prm.Value = nombre
                comando.Parameters.Add(prm)
                comando.CommandText = ""
                comando.CommandType = CommandType.StoredProcedure
                comando.Connection = cnn

                Dim da As New SqlDataAdapter()
                da.SelectCommand = comando
                da.Fill(Consulta)

            Catch ex As Exception
                Throw
            Finally
                If cnn.State = ConnectionState.Open Then cnn.Close()
            End Try
        End Function
    End Class

     

    Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.
    • Puntos de post: 0
Página 1 de 1 (2 elementos)
© 2007 MSGuayaquil. Todos los derechos reservados.
Powered By IIS 6 Powered By ASP.NET 2.0 Ofrecido por Community Server (Commercial Edition) Powered By SQL Server 2005
Creado y Administrado por Julio Casal