I have this code on a method:
DataGrid2.DataSource = Show1(Convert.ToInt32(Request.QueryString["Cr"]));
DataGrid2.DataBind();
this is the show method that is asigned to the datasource:
static SqlConnection sqlConntest = new SqlConnection( ConfigurationSettings .AppSettings["conn"].ToString ()
);
public static SqlDataReader Show1(int cr)
{
SqlDataReader dr;
SqlCommand cmd = new SqlCommand();
cmd.Connection = sqlConntest;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "sp1";
cmd.Parameters.Add("@Cr", SqlDbType.Int);
cmd.Parameters["@Cr"].Value = crewID;
sqlConntest.Open();
dr = cmd.ExecuteReader();
return dr;
}
when I run the program I get the error message:
"ExecuteReader requires an open and available Connection. The connection's current state is closed"
Why is this happening and how can I solve this? thanks.