diff --git a/PMCProjekt/.vs/PMCProjekt/v17/DocumentLayout.json b/PMCProjekt/.vs/PMCProjekt/v17/DocumentLayout.json index 54f0f06..1408c2f 100644 --- a/PMCProjekt/.vs/PMCProjekt/v17/DocumentLayout.json +++ b/PMCProjekt/.vs/PMCProjekt/v17/DocumentLayout.json @@ -24,7 +24,7 @@ "RelativeDocumentMoniker": "PMCProjekt\\Program.cs", "ToolTip": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\Program.cs", "RelativeToolTip": "PMCProjekt\\Program.cs", - "ViewState": "AQIAADIAAAAAAAAAAAAcwE4AAAAFAAAA", + "ViewState": "AQIAAA0AAAAAAAAAAAAQwBcAAAAyAAAA", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "WhenOpened": "2024-06-14T09:14:59.548Z", "EditorCaption": "" diff --git a/PMCProjekt/PMCProjekt/Program.cs b/PMCProjekt/PMCProjekt/Program.cs index 694b711..ade4274 100644 --- a/PMCProjekt/PMCProjekt/Program.cs +++ b/PMCProjekt/PMCProjekt/Program.cs @@ -1,82 +1,71 @@ -//Aufgabenstellung -// -//1.Import -// -//Als Teil des Entwicklungsteams sollen Sie einen Import für neue Nutzer der jeweiligen Kunden entwickeln. -//Die Kunden schicken zu diesem Zweck CSV-Dateien mit den Daten von neuen Nutzern. -//Diese Daten müssen in die bestehenden Datentabellen eingespielt werden. -//Dafür sind folgende Anforderungen formuliert: -// -// • Ein Sachbearbeiter ruft eine Konsolen-App auf, in welcher er die Datei und die -// Kundennummer des Kunden als Parameter übergibt: Die Beispieldatei hat den Namen "import_yutani.csv" und -// gehört zum Kunden mit der Nummer "K2-002" -// -// • Die Datei hat den Aufbau: -// - Ein Nutzer mit Anrede, Vorname, Nachname und Geburtsdatum -// - Ggf. Adresse: Straße mit Hausnummer, PLZ, Stadt -// - Ggf. E-Mail -// - Ggf. eine oder mehrere Telefonnummern: Vorwahl ohne führende 0 und Nummer -// -// • Ein Nutzer darf für einen Kunden nicht mehrmals importiert werden. -// -// • Die Daten sollen wie folgt validiert werden: -// ○ Geburtsdatum: TT.MM.JJJJ -// ○ Valide E-Mail-Adresse -// ○ PLZ: exakt 5 Nummern -// ○ Telefonnummer 3 bis 5 Nummern für die Vorwahl und 4 bis 10 Nummern für die Hauptnummer. Keine Sonderzeichen -// -// • Nicht valide Datensätze von Nutzern sollen in einem Protokoll erfasst werden, ebenso bereits vorhandene Nutzer. -// Der komplette Datensatz eines Nutzers darf dann nicht importiert werden -using MySql.Data; -using MySql.Data.MySqlClient; -using MySqlX.XDevAPI; -using System.Data.Common; -using System.Reflection.PortableExecutable; -using System.Xml; +using MySql.Data.MySqlClient; +using System; +using System.IO; + namespace PMCProjekt { internal class Program { static void Main(string[] args) { - MySql.Data.MySqlClient.MySqlConnection myConnection; + MySqlConnection myConnection; string myConnectionString; - //set the correct values for your server, user, password and database name + + // Setzen Sie die korrekten Werte für Ihren Server, Benutzer, Passwort und Datenbanknamen myConnectionString = "server=localhost;uid=root;pwd=root;database=import_export"; try { - myConnection = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString); - //open a connection + myConnection = new MySqlConnection(myConnectionString); + // Öffnen Sie eine Verbindung myConnection.Open(); - // create a MySQL command and set the SQL statement with parameters - MySqlCommand myCommand = new MySqlCommand(); - myCommand.Connection = myConnection; - myCommand.CommandText = @"SELECT * FROM user"; - //myCommand.Parameters.AddWithValue("@code", "12"); - - // execute the command and read the results - using MySqlDataReader myReader = myCommand.ExecuteReader(); - - while (myReader.Read()) + // Datei einlesen + string dateiPfad = "C:/Schule/PMC/import_yutani.csv"; + if (File.Exists(dateiPfad)) { - int id = myReader.GetInt32("id"); - string name = myReader.GetString("firstname"); - string nachname = myReader.GetString("lastname"); - Console.WriteLine(id + " " + nachname + " " + name); + using (StreamReader sr = new StreamReader(dateiPfad)) + { + string zeile; + while ((zeile = sr.ReadLine()) != null) + { + string[] werte = zeile.Split(','); + + if (werte.Length == 2) + { + string vorname = werte[0]; + string nachname = werte[1]; + + // Verarbeiten der Daten (z.B. Ausgabe) + Console.WriteLine("Vorname: " + vorname + ", Nachname: " + nachname); + + // Daten in die Datenbank einfügen (Beispiel) + string abfrage = "INSERT INTO user (firstname, lastname) VALUES (@vorname, @nachname)"; + using (MySqlCommand myCommand = new MySqlCommand(abfrage, myConnection)) + { + myCommand.Parameters.AddWithValue("@vorname", vorname); + myCommand.Parameters.AddWithValue("@nachname", nachname); + myCommand.ExecuteNonQuery(); + } + } + } + } + } + else + { + Console.WriteLine("Datei nicht gefunden."); } + // Verbindung schließen myConnection.Close(); } - catch (MySql.Data.MySqlClient.MySqlException ex) + catch (MySqlException ex) { - + Console.WriteLine("Fehler: " + ex.Message); } - - } } +} }