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