dev
dev

Reputation: 29

change password in asp.net,c#,ms-access database

i am desiging a change password screen in asp.net,c#,MS-access database i m having 4 fields userid, oldpassword, newpassword confirm password

NOW I M NOT GETTING RESULT THE COUNT RETURNS 0 I HAVE UPDATED MY CODE

my code is as follows

      try

      {

      OleDbConnection myCon = new  OleDbConnection(ConfigurationManager.ConnectionStrings["vhgroupconnection"]
       .ConnectionString);
        myCon.Open();

        string userid = txtuserid.Text;
        string oldpass = txtoldpass.Text;
        string newPass = txtnewpass.Text;
        string conPass = txtconfirmpass.Text;

        string q = "select user_id,passwd from register where user_id = @userid and       passwd = @oldpass";

        OleDbCommand cmd = new OleDbCommand(q, myCon);



        cmd.Parameters.AddWithValue("@userid", txtuserid.Text);

        cmd.Parameters.AddWithValue("@oldpass", txtoldpass.Text);

      OleDbDataReader re = cmd.ExecuteReader();
        re.Read();

        if (re["user_id"].ToString() != String.Empty && re["passwd"].ToString() != String.Empty)
        {
            if (newPass.Trim() != conPass.Trim())
            {
                lblmsg.Text = "New Password and old password does not match";

            }
            else
            {
               q = "UPDATE register SET  passwd = @newPass WHERE user_id =@userid";
                cmd = new OleDbCommand(q, myCon);
                cmd.Parameters.AddWithValue("@userid", txtuserid.Text);
                cmd.Parameters.AddWithValue("@newPasss", txtnewpass.Text);



                int count = cmd.ExecuteNonQuery();

                if (count > 0)
                {
                    lblmsg.Text = "Password changed successfully";
                }
                else
                {
                    lblmsg.Text = "password not changed";
                }
            }
        }
    }
    catch(Exception ex)
    {
        throw ex;
    }

plz help me to solve the error

Upvotes: 0

Views: 2091

Answers (1)

George Johnston
George Johnston

Reputation: 32258

You're getting the error, No constructor is defined, because you can't directly instantiate this object. As stated on MSDN:

To create an OleDbDataReader, you must call the ExecuteReader method of the OleDbCommand object, instead of directly using a constructor.

Essentially, you'd do something like the following after creating your connection and specifying your query:

OleDbDataReader re = cmd.ExecuteReader();

Upvotes: 2

Related Questions