Merge branch 'master' of https://git.bib.de/PBS2H23AMA/PMC_Projekt
# Conflicts: # PMCProjekt/.vs/PMCProjekt/v17/.suo
This commit is contained in:
		@@ -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": ""
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user