ExecuteScalar requires an open and available Connection. The connection's current state is closed.
this error raised
namespace ITS_Group{ public partial class Login : System.Web.UI.Page {
private DataTable GetData(SqlCommand cmd) {
DataTable dt = new DataTable();
String strConnString = System.Configuration.ConfigurationManager.ConnectionStrings[1].ConnectionString;
SqlConnection con = new SqlConnection(strConnString);
SqlDataAdapter sda = new SqlDataAdapter();
cmd.CommandType = CommandType.Text; cmd.Connection = con;
try { con.Open();
sda.SelectCommand = cmd; sda.Fill(dt);
return dt; } catch (Exception ex)
{ Response.Write(ex.Message);
return null; } finally {
//con.Close(); sda.Dispose();
con.Dispose(); } }
protected void btn_login_Click(object sender, EventArgs e) {
lblMsg.Text = "";
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings[1].ConnectionString);
SqlCommand cmd = new SqlCommand("select COUNT(*)FROM Users WHERE User_Name=@User_Name and Password=@Password");
cmd.Parameters.AddWithValue("@User_Name", txt_userName.Text.Trim());
cmd.Parameters.AddWithValue("@Password", txt_password.Text.Trim());
DataTable dt = GetData(cmd);
int OBJ = Convert.ToInt32(cmd.ExecuteScalar());
if (OBJ > 0) {
Session["User_Name"] = txt_userName.Text;
Response.Redirect("Default.aspx"); }else {
lblMsg.Text = "User Name/Password incorrect"; }
}