En este ejemplo vamos a ver como ejecutar dos stored procedures, uno sin parámetros y otra con parámetros. En el primer ejemplo ejecutaremos este stored procedure que hace un listado de la tabla authors de la base de datos PUBS:
CREATE PROCEDURE listado_authors
AS
Select * From authors
SqlConnection conn = new SqlConnection("Server=localhost;Database=PUBS;Uid=sa;Pwd=as");
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "listado_authors";
cmd.Connection = conn;
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
Sería muy similar
SqlConnection conn = new SqlConnection("Server=localhost;Database=PUBS;Uid=sa;Pwd=as");
SqlCommand cmd = new SqlCommand("Select * From authors", conn);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
Ahora vamos a ver el otro ejemplo en el que ejecutaremos una stored procedure pasandole un parametro.
CREATE PROCEDURE listado_autores_params
@estado char(2)
AS
Select * From authors where state = @estado
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@estado", SqlDbType.Char);
param[0].Value = "CA";
cmd.Parameters.AddRange(param);
si el stored procedure tuviera más parametros, estos se los asignariamos de la siguiente forma:
param[1] = new SqlParameter("@Parametro2", SqlDbType.Char);
param[1].Value = "CA";
SqlConnection conn = new SqlConnection("Server=localhost;Database=PUBS;Uid=sa;Pwd=as");
SqlCommand cmd = new SqlCommand();
SqlParameter[] param = new SqlParameter[1];
param[0] = new SqlParameter("@estado", SqlDbType.Char);
param[0].Value = "CA";
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "listado_autores_params";
cmd.Connection = conn;
cmd.Parameters.AddRange(param);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
Enlaces relacionadas:
Código fuente del artículo
Y esto es todo, feliz programming!!
Saludos
Alex.