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.