user2947198
user2947198

Reputation: 1

Execute reader connection error

    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection("Data Source=MJ-PC;Initial Catalog=Test;Integrated Security=True ");
        con.Open();
    }

    protected void btnsubmit_Click(object sender, EventArgs e)
    {
        //SqlCommand cmd = con.CreateCommand();
        SqlCommand cmd = new SqlCommand("select password from TestDemo where userName'" + txtusername .Text+ "'", con);

        //cmd.Connection = con;

        SqlDataReader da;
        da = cmd.ExecuteReader();
        if (!da.Read())
        {
            Response.Write("Wrong Details");
        }
        else
        {
            if(da[0].ToString()==txtusername.Text)
                 Response.Redirect("WebForm1.aspx");
            else
                Response.Write("Wrong Password");
        }
    }

Upvotes: 0

Views: 8615

Answers (4)

LINQ2Vodka
LINQ2Vodka

Reputation: 3036

where username **=** forgot equality sign

Also, the conenction you open and the connection you use are different

Upvotes: 1

Satinder singh
Satinder singh

Reputation: 10208

If you code for login, then here a neat version code, Depend on your flagset you can redirect or display wrong password msg

    bool flagset=false;
    SqlDataReader dr;
    using (SqlConnection con = new SqlConnection(cn.ConnectionString))
    {
     using (SqlCommand cmd = new SqlCommand())
       {
        cmd.CommandText = "select password from TestDemo where userName=@uName";
        cmd.CommandType = CommandType.Text;
        cmd.Parameters.AddWithValue("@uName", txtusername.Text); 
        cmd.Connection = con;
        con.Open();
        dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
         if (dr.HasRows){
           while (dr.Read())
            {
                if(dr[0].ToString()==txtusername.Text)
                 {     flagset=true;   }
            }
            }dr.Close();
             con.Close();
      }
}return flagset;

Upvotes: 0

Sudhakar Tillapudi
Sudhakar Tillapudi

Reputation: 26209

     SqlConnection con;    
    protected void Page_Load(object sender, EventArgs e)
            {
    try
    {            
    con = new SqlConnection("Data Source=MJ-PC;Initial Catalog=Test;Integrated Security=True");
                con.Open();
    }
    catch
    {
    //Handles exceptions here
    }
            }

            protected void btnsubmit_Click(object sender, EventArgs e)
            {
              try
              {
                //SqlCommand cmd = con.CreateCommand();
                SqlCommand cmd = new SqlCommand("select password from TestDemo where userName='" + txtusername .Text+ "'", con);

                //cmd.Connection = con;

                SqlDataReader da;
                da = cmd.ExecuteReader();
                if (!da.Read())
                {
                    Response.Write("Wrong Details");
                }
                else
                {
                    if(da[0].ToString()==txtusername.Text)
                         Response.Redirect("WebForm1.aspx");
                    else
                        Response.Write("Wrong Password");
                }
              }
              finally
              {
              con.Close();
              }
            }

Upvotes: 0

Aniket Inge
Aniket Inge

Reputation: 25725

The way I see it, you open a connection to the SQL server in Page_Load handler. But you don't close it.

If you try to open another one, or try to execute on a closed SqlConnection object, you might get an error.

A good way to do this is do something like this:

using (SqlConnection connection = new SqlConnection(connectionString)) 
{        
  try    
   {
            connection.Open();
          //do something here

   } 
   catch (Exception) 
   { 
      /*Handle error*/ 
   }

}

Upvotes: 0

Related Questions