using MySqlConnector; using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; namespace Artikelverwaltung { internal class Database { string connectionString; MySqlConnection connection; MySqlCommand cmd; public Database() { connectionString = "Server=localhost;User=root;Password=;Database=Artikelverwaltung"; connection = new MySqlConnection(connectionString); cmd = new MySqlCommand(); } // Benutzer abgleich direkt aus der Datenbank, ohne die Daten im Programm zu haben. public bool loginAbgleich(string bn, string pw) { connection.Open(); cmd.Connection = connection; cmd.CommandText = $"select count(*) as result from mitarbeiter where benutzername = '{bn}' and passwort = '{pw}'"; MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { if(reader["result"].ToString().Equals("1")) { connection.Close(); return true; } } connection.Close(); return false; } public void BenutzerAnlegen(MitarbeiterAccount acc) { connection.Open(); cmd.Connection = connection; cmd.CommandText = $"insert into mitarbeiter(benutzername, passwort) values('{acc.benutzername}', '{acc.passwort}')"; cmd.ExecuteNonQuery(); connection.Close(); } public void ArtikelAnlegen(Artikel artikel) { connection.Open(); cmd.Connection= connection; cmd.CommandText = $"insert into artikel(artikelbeschreibung, modellname,artikelgruppe,aktivFlag) values('{artikel.Artikelbeschreibung}','{artikel.Modellname}','{artikel.Artikelgruppe}','{Convert.ToInt16(artikel.AktivFlag)}')"; cmd.ExecuteNonQuery(); connection.Close(); } public void ArtikelLoeschen(int id) { connection.Open(); cmd.Connection = connection; cmd.CommandText = $"delete from artikel where artikelnummer = {id}"; cmd.ExecuteNonQuery(); connection.Close(); } public void ArtikelAendern(Artikel artikel, int id) { connection.Open(); cmd.Connection = connection; cmd.CommandText = $"update artikel set artikelbeschreibung = '{artikel.Artikelbeschreibung}', modellname = '{artikel.Modellname}', artikelgruppe = '{artikel.Artikelgruppe}', aktivFlag = '{Convert.ToInt16(artikel.AktivFlag)}' where artikelnummer = {id}"; cmd.ExecuteNonQuery(); connection.Close(); } public List ArtikelAbrufen() { List list = new List(); connection.Open(); cmd.Connection = connection; cmd.CommandText = $"select * from artikel"; MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Artikel artikel = new Artikel(Convert.ToUInt32(reader["artikelnummer"]), reader["artikelbeschreibung"].ToString(), reader["modellname"].ToString(),reader["artikelgruppe"].ToString(), Convert.ToBoolean(reader["aktivFlag"])); list.Add(artikel); } connection.Close(); return list; } } }