# 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",
"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": ""

View File

@ -1,80 +1,69 @@
//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);
}
}
}
}