Obtener Datos Como DataTable en C#

Con esta clase podemos ejecutar un Procedimiento Almacenado enviándole “N” parámetros en un arreglo.

 

 

/// <summary>

/// Obtiene un DataTable apartir del Procedimiento Almacenado proporcionado utilizando los parámetros correspondientes.

/// </summary>

/// <param name=”mSqlCnn”>Conexión a Base de Datos</param>

/// <param name=”NombreProcedimientoAlmacenado”>Nombre del Procdimiento Almacenado a Ejecutar</param>

/// <param name=”Parametros”>Parametro(s) usados en el procedimiento almacenado.</param>

/// <returns></returns>

public DataTable ObtenerDatosComoDataTable(SqlConnection mSqlCnn, string NombreProcedimientoAlmacenado, SqlParameter[] Parametros)

{

    SqlCommand sqlCmd;

    SqlDataAdapter sqlAdp;

    DataTable sqlTbl;

 

    sqlCmd = new SqlCommand();

    sqlAdp = new SqlDataAdapter(sqlCmd);

 

    try

    {

 

        if ((mSqlCnn != null) && mSqlCnn.State != ConnectionState.Open)

        {

            mSqlCnn.Open();

        }

 

        sqlCmd.CommandText = NombreProcedimientoAlmacenado;

        sqlCmd.Connection = mSqlCnn;

        sqlCmd.CommandType = CommandType.StoredProcedure;

 

        sqlCmd.Parameters.AddRange(Parametros);

 

        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();

        }

    }

 

}

 

A esta Clase le mandamos los parametros de la siguiente manera:

 

SqlParameter sqlPram1 = new SqlParameter(“@Param1″, “Valor1″);

SqlParameter sqlPram2 = new SqlParameter(“@Param2″, “Valor2″);

List<SqlParameter> Param = new List<SqlParameter>();

Param.Add(sqlPram);

Param.Add(sqlPram1);

DataTable dtProcesos = ObtenerDatosComoDataTable(mSqlCnn , “StoredProcedure”, Param.ToArray());

 

“@Param1″ = Son los nombres de los parametros del SP.

mSqlCnn  = Es la conexión que le debemos de enviar al SP.

“StoredProcedure” = Es el nombre del Stored Procedure que vamos a ejecutar.

 

Y es todo, nos regresara un DataTable con la informacion que arroje el Stored Procedure.

 

A quien le sirva deje su comentario.

 

Saludos.

Explore posts in the same categories: C#

Comment: