2016-05-22 12 views
0

Ich versuche, eine vergessene Passwort-Seite zu erstellen. Der Benutzer wird seine E-Mail-Adresse in das vorgesehene Feld eingeben. Wenn die E-Mail gesendet wird, wird gefiltert, ob sie in der Datenbank vorhanden ist oder nicht. Ich habe Fehler auf con.Open(); wo der Fehler "Login fehlgeschlagen für Benutzer root" immer passiert, wenn ich versuche, die Schaltfläche Senden zu drücken. Dank für die Hilfe im VorausAnmeldung fehlgeschlagen für Benutzer '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

ist Datenbankverbindungszeichenfolge richtig? –

+1

Warum speichern Sie Nur-Text-Passwörter? und warum schickst du das Passwort in einer E-Mail! Tu das nicht! –

+0

@MahediSabuj Ja, ich habe es überprüft, immer noch Fehler auf con.Open(); – Alphi

Antwort

0

Der Fehler zeigt Ihnen auf die Datenbank über Benutzer root mit zu versuchen, eine Verbindung, die nicht als Logins auf Ihrem Server hinzugefügt wird.

Entweder der Benutzer ändern, die auf den Server erlaubt ist, um sich anzumelden oder root Benutzer Login-Berechtigung zu Ihrem SQL Server

Benutzer geben kann

Server durch diese Option, um die Server erlaubt Anmeldungen hinzugefügt werden> Sicherheit> Logins

+0

Hier ist meine Verbindung Alphi

+0

Sie können keine Verbindung zu ' mysql' mit 'SqlConnection' –

Verwandte Themen