private void login_Butt_Click(object sender, EventArgs e) { //Check, ob Name und Passwort eingegeben wurden if (login_Name_Box.Text != "" && login_PW_Box.Text != "") { try { //Abfrage an die Tabelle Mitarbeiter wird erstellt nach Name und Passwort, um die Rolle herauszufinden MySqlConnection con = SqlConnection.GetConnection(); MySqlCommand cmd = con.CreateCommand(); cmd.CommandText = "SELECT miId, roID FROM tmitarbeiter WHERE miUsername LIKE '" + login_Name_Box.Text + "' AND miPasswort LIKE '" + login_PW_Box.Text + "'"; MySqlDataReader reader; con.Open(); reader = cmd.ExecuteReader(); //Wurde kein Treffer gefunden, existiert der Mitarbeiter nicht, bzw falsches Passwort if (reader.HasRows) { //Rolle abspeichern reader.Read(); int rolle = reader.GetInt32(1); int userId = reader.GetInt32(0); //Verbindung nach Verwendung immer schließen! con.Close(); try { //Die Session mit der Rolle wird erstellt und die Hauptmaske geöffnet. Session.CreateSession(rolle, userId); this.DialogResult = DialogResult.OK; this.Close(); } catch (FormatException) { //Falls der Benutzer nicht die Rolle 1, oder 2 hatte, was nicht passieren darf. MessageBox.Show("Es scheint ein Fehlerhafter Benutzer angelegt worden zu sein."); } } else { con.Close(); MessageBox.Show("Sie konnten nicht angemeldet werden."); } } catch (MySqlException) { MessageBox.Show("Es kam zu einem Verbindungsproblem, bitte Überprüfen Sie ihre Verbindung."); } } }
private void login_Butt_Click(object sender, EventArgs e) { //Check, ob Name und Passwort eingegeben wurden if (login_Name_Box.Text != "" && login_PW_Box.Text != "") { try { string startpw = Md5.GetMD5("#10!?" + login_Name_Box.Text + "#start12~^g2+3"); string pw = Md5.GetMD5("#10!?" + login_Name_Box.Text.ToLower() + login_PW_Box.Text + "~^g2+3"); DataTable user = SqlConnection.SelectStatement("SELECT miId, roID FROM tmitarbeiter WHERE miUsername = '******' AND miPasswort = '" + pw + "'"); DataTableReader reader = user.CreateDataReader(); //Wurde kein Treffer gefunden, existiert der Mitarbeiter nicht, bzw falsches Passwort if (reader.HasRows) { //Rolle abspeichern reader.Read(); //Vorrübegehende Lösung weil das so ist! int rolle = Convert.ToInt32(reader[1].ToString()); //int rolle = reader.GetInt32(1); int userId = reader.GetInt32(0); try { //Die Session mit der Rolle wird erstellt und die Hauptmaske geöffnet. Session.CreateSession(rolle, userId); if (startpw == pw) { ChangePW changepwform = new ChangePW(true); if (changepwform.ShowDialog() != DialogResult.OK) { Environment.Exit(0); } } this.DialogResult = DialogResult.OK; this.Close(); } catch (FormatException) { //Falls der Benutzer nicht die Rolle 1, oder 2 hatte, was nicht passieren darf. MessageBox.Show("Es scheint ein Fehlerhafter Benutzer angelegt worden zu sein."); } } else { MessageBox.Show("Sie haben einen falschen Benutzername/Passwort eingegeben."); } } catch (MySqlException ex) { switch (ex.Number) { case 0: MessageBox.Show("Datenbank konnte nicht erreicht werden.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); break; case 1042: MessageBox.Show("Datenbank konnte nicht erreicht werden", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); break; case 1045: MessageBox.Show("Falscher Datenbankbenutzer/Passwort.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); break; default: MessageBox.Show("Es kam zu einem unerwarteten Fehler mit der Datenbank.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); break; } } } }