# Conflicts:
#	PMCProjekt/.vs/PMCProjekt/v17/.suo
This commit is contained in:
NBMANTZELOS\bib 2024-06-20 08:14:29 +02:00
commit 97a2564ff2
2 changed files with 47 additions and 58 deletions

View File

@ -24,7 +24,7 @@
"RelativeDocumentMoniker": "PMCProjekt\\Program.cs", "RelativeDocumentMoniker": "PMCProjekt\\Program.cs",
"ToolTip": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\Program.cs", "ToolTip": "C:\\Users\\bib\\Documents\\PMC_Projekt\\PMCProjekt\\PMCProjekt\\Program.cs",
"RelativeToolTip": "PMCProjekt\\Program.cs", "RelativeToolTip": "PMCProjekt\\Program.cs",
"ViewState": "AQIAADIAAAAAAAAAAAAcwE4AAAAFAAAA", "ViewState": "AQIAAA0AAAAAAAAAAAAQwBcAAAAyAAAA",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-06-14T09:14:59.548Z", "WhenOpened": "2024-06-14T09:14:59.548Z",
"EditorCaption": "" "EditorCaption": ""

View File

@ -1,82 +1,71 @@
//Aufgabenstellung using MySql.Data.MySqlClient;
// using System;
//1.Import using System.IO;
//
//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;
namespace PMCProjekt namespace PMCProjekt
{ {
internal class Program internal class Program
{ {
static void Main(string[] args) static void Main(string[] args)
{ {
MySql.Data.MySqlClient.MySqlConnection myConnection; MySqlConnection myConnection;
string myConnectionString; 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"; myConnectionString = "server=localhost;uid=root;pwd=root;database=import_export";
try try
{ {
myConnection = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString); myConnection = new MySqlConnection(myConnectionString);
//open a connection // Öffnen Sie eine Verbindung
myConnection.Open(); myConnection.Open();
// create a MySQL command and set the SQL statement with parameters // Datei einlesen
MySqlCommand myCommand = new MySqlCommand(); string dateiPfad = "C:/Schule/PMC/import_yutani.csv";
myCommand.Connection = myConnection; if (File.Exists(dateiPfad))
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())
{ {
int id = myReader.GetInt32("id"); using (StreamReader sr = new StreamReader(dateiPfad))
string name = myReader.GetString("firstname"); {
string nachname = myReader.GetString("lastname"); string zeile;
Console.WriteLine(id + " " + nachname + " " + name); 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(); myConnection.Close();
} }
catch (MySql.Data.MySqlClient.MySqlException ex) catch (MySqlException ex)
{ {
Console.WriteLine("Fehler: " + ex.Message);
} }
} }
} }
}
} }