Beispiel #1
0
        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;
                    }
                }
            }
        }