2016-05-22 5 views
0

im пытается создать страницу забытого пароля. где пользователь поместит свой адрес электронной почты в поле. при отправке электронной почты он будет отфильтрован, находится ли он в базе данных или нет. im с ошибкой на con.Open(); где ошибка «Ошибка входа в систему для пользователя root» всегда происходит, когда я пытаюсь нажать кнопку отправки. спасибо за помощь заранееОшибка входа для пользователя 'root'

string username = string.Empty; 
     string password = string.Empty; 
     string constr = ConfigurationManager.ConnectionStrings["DBCon"].ConnectionString; 
     using (SqlConnection con = new SqlConnection(constr)) 
     { 
      using (SqlCommand cmd = new SqlCommand("SELECT username, password FROM user_tbl WHERE email = @Email")) 
      { 
       cmd.Parameters.AddWithValue("@Email", txbx_email.Text.Trim()); 
       cmd.Connection = con; 
       con.Open(); 
       using (SqlDataReader sdr = cmd.ExecuteReader()) 
       { 
        if (sdr.Read()) 
        { 
         username = sdr["Username"].ToString(); 
         password = sdr["Password"].ToString(); 
        } 
       } 
       con.Close(); 
      } 
     } 
     if (!string.IsNullOrEmpty(password)) 
     { 
      MailMessage mm = new MailMessage("[email protected]", txbx_email.Text.Trim()); 
      mm.Subject = "Password Recovery"; 
      mm.Body = string.Format("Hi {0},<br /><br />Your password is {1}.<br /><br />Thank You.", username, password); 
      mm.IsBodyHtml = true; 
      SmtpClient smtp = new SmtpClient(); 
      smtp.Host = "smtp.gmail.com"; 
      smtp.EnableSsl = true; 
      NetworkCredential NetworkCred = new NetworkCredential(); 
      NetworkCred.UserName = "***@gmail.com"; 
      NetworkCred.Password = "***"; 
      smtp.UseDefaultCredentials = true; 
      smtp.Credentials = NetworkCred; 
      smtp.Port = 587; 
      smtp.Send(mm); 
      lbl_message.ForeColor = Color.Green; 
      lbl_message.Text = "Password has been sent to your email address."; 
     } 
     else 
     { 
      lbl_message.ForeColor = Color.Red; 
      lbl_message.Text = "This email address does not match our records."; 
     } 
+0

есть подключение к базе данных строка справа? –

+1

Почему вы храните пароли открытого текста? и почему вы отправляете пароль по электронной почте! Не делай этого! –

+0

@MahediSabuj да, я дважды проверил его, все еще имея ошибку на con.Open(); – Alphi

ответ

0

Погрешности означает, что вы пытаетесь подключиться к базе данных, используя с помощью пользователя root который не добавлен в качестве логинов к вашему серверу.

Либо сменить пользователя, которому разрешено войти на сервер или дать разрешение на вход root пользователя на ваш SQL сервер

Пользователь может быть добавлен к серверу разрешено логинов через эту опцию

сервера> Безопасность> Логины

+0

вот мое соединение Alphi

+0

Вы не можете подключиться к ' mysql' используя 'SqlConnection' –

Смежные вопросы