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

Ejecutar Procedimiento Almacenado

Estas en el tema de Ejecutar Procedimiento Almacenado en el foro de .NET en Foros del Web. Hola tengo el siguiente procedimiento, el cual devuevle el Id del usuario, usando como parametro el dni la pregunta es como ejecuto este procedimiento almacenado ...
  #1 (permalink)  
Antiguo 15/09/2008, 15:18
 
Fecha de Ingreso: mayo-2008
Mensajes: 7
Antigüedad: 15 años, 11 meses
Puntos: 0
Ejecutar Procedimiento Almacenado

Hola tengo el siguiente procedimiento, el cual devuevle el Id del usuario, usando como parametro el dni
la pregunta es como ejecuto este procedimiento almacenado
y que el ID devuelto pase a un TextBox, o variable cualquiera

ALTER PROCEDURE dbo.SpUsuario
@Dni Char(8),
@Id Int Output
As
Select @id = IdUsuario From usuario
Where DniUsuario = @Dni
  #2 (permalink)  
Antiguo 15/09/2008, 15:41
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Ejecutar Procedimiento Almacenado

Que onda Erick te paso una manera muy practica de hacerlo.


Asi le mandas los parametros:
Código:
SqlParameter sqlPrm1 = new SqlParameter("@ParamaeroA", "ValorParametroA");
SqlParameter sqlPrm1 = new SqlParameter("@ParamaeroB", "ValorParametroB");
List<SqlParameter> Parame = new List<SqlParameter>();
Parame.Add(sqlPrm1);
Parame.Add(sqlPrm2);
ObtenerDatosComoDataTable("StoredProcedure", Parame.ToArray());
Este es el procedimiento que te ejecuta el SP y te regresa un DataTable con el resultado.
Código:
public DataTable ObtenerDatosComoDataTable(SqlConnection mSqlCnn, string NombreProcedimientoAlmacenado)
        {
            SqlCommand sqlCmd;
            SqlDataAdapter sqlAdp;
            DataTable sqlTbl;

            sqlCmd = new SqlCommand();
            sqlAdp = new SqlDataAdapter(sqlCmd);

            try
            {

                if (mSqlCnn != null && mSqlCnn.State == ConnectionState.Closed)
                {
                    mSqlCnn.Open();
                }

                sqlCmd.CommandText = NombreProcedimientoAlmacenado;
                sqlCmd.Connection = mSqlCnn;
                sqlCmd.CommandType = CommandType.StoredProcedure;

                sqlTbl = new DataTable();
                sqlAdp.Fill(sqlTbl);

                return sqlTbl;
            }

            catch (Exception ex)
            {
                throw new Exception(NombreModulo + ".ObtenerDatosComoDataTable " + " - " + ex.Source + " - " + ex.Message);
            }
            finally
            {
                if ((mSqlCnn != null) & mSqlCnn.State == ConnectionState.Open)
                {
                    mSqlCnn.Close();
                }
                if ((sqlCmd != null))
                {
                    sqlCmd.Dispose();
                }
                if ((sqlAdp != null))
                {
                    sqlAdp.Dispose();
                }
            }

        }
Utilizo esos using
Código:
using System.Data;
using System.Data.SqlClient;
Cualquier duda estoy para servirles, no duden en preguntar, espero que mi pequeña aportacion les sea util.

Saludos.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
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 15:30.