Projektgrundgerüst erstellt: Datenbankklassen, SQL-Skripte für alle Tabellen und Verbindungstest hinzugefügt
This commit is contained in:
33
SkyTeam/DataBase.cs
Normal file
33
SkyTeam/DataBase.cs
Normal file
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using MySql.Data.MySqlClient;
|
||||
|
||||
namespace SkyTeam
|
||||
{
|
||||
internal class DataBase
|
||||
{
|
||||
private string mySqlConnectionString = "Server=mysql.pb.bib.de;uid=pbt3h24akh;pwd=Dd3dwQgPeNxW;database=pbt3h24akh_SkyTeam;";
|
||||
|
||||
public bool TestConnection()
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var conn = new MySqlConnection(mySqlConnectionString))
|
||||
{
|
||||
conn.Open(); // versuchen, die Verbindung zu öffnen
|
||||
Console.WriteLine("Verbindung erfolgreich!");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (MySqlException ex)
|
||||
{
|
||||
Console.WriteLine("Verbindungsfehler: " + ex.Message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,18 @@ namespace SkyTeam
|
||||
public MainWindow()
|
||||
{
|
||||
InitializeComponent();
|
||||
TestDatabaseConnection();
|
||||
}
|
||||
|
||||
private void TestDatabaseConnection()
|
||||
{
|
||||
DataBase db = new DataBase();
|
||||
bool success = db.TestConnection();
|
||||
|
||||
if (success)
|
||||
MessageBox.Show("Datenbank ist verfügbar!", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
else
|
||||
MessageBox.Show("Probleme mit der Verbindung.", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,7 @@ namespace SkyTeam
|
||||
private string vorname { get; set; }
|
||||
private string nachname { get; set; }
|
||||
private string position { get; set; }
|
||||
private int alter { get; set; }
|
||||
private int mitarbeiterAlter { get; set; }
|
||||
private float arbeitsstundenProWoche { get; set; }
|
||||
private Boolean istVerfuegbar { get; set; }
|
||||
}
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<UseWPF>true</UseWPF>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="MySql.Data" Version="9.6.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
75
SkyTeam/SkyTeam.sql
Normal file
75
SkyTeam/SkyTeam.sql
Normal file
@@ -0,0 +1,75 @@
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
DROP TABLE IF EXISTS fluege;
|
||||
DROP TABLE IF EXISTS piloten;
|
||||
DROP TABLE IF EXISTS flugzeuge;
|
||||
DROP TABLE IF EXISTS mitarbeiter;
|
||||
DROP TABLE IF EXISTS users;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
CREATE TABLE users (
|
||||
Id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
Vorname VARCHAR(100) NOT NULL,
|
||||
Nachname VARCHAR(100) NOT NULL,
|
||||
Email VARCHAR(100) NOT NULL,
|
||||
PasswortHash VARCHAR(255) NOT NULL,
|
||||
Rolle VARCHAR(50) NOT NULL,
|
||||
Stadt VARCHAR(100),
|
||||
Anrede VARCHAR(20),
|
||||
Geburtsdatum DATE,
|
||||
CreatedAt DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE flugzeuge (
|
||||
Id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
Modell VARCHAR(100) NOT NULL,
|
||||
Plaetze INT NOT NULL,
|
||||
Lagerflaeche FLOAT NOT NULL,
|
||||
Gewicht FLOAT NOT NULL,
|
||||
Kerosinverbrauch FLOAT NOT NULL,
|
||||
Stundengeschwindigkeit FLOAT NOT NULL,
|
||||
Stundenstand FLOAT NOT NULL,
|
||||
Herstellungsdatum DATE NOT NULL,
|
||||
IstDefekt BOOLEAN NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE piloten (
|
||||
Id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
Vorname VARCHAR(100) NOT NULL,
|
||||
Nachname VARCHAR(100) NOT NULL,
|
||||
Flugerfahrung FLOAT NOT NULL,
|
||||
Groesse FLOAT NOT NULL,
|
||||
Bewertung FLOAT NOT NULL,
|
||||
Pilotalter DATE NOT NULL,
|
||||
Gender VARCHAR(10),
|
||||
IstVerfuegbar BOOLEAN NOT NULL,
|
||||
Sprachen TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE fluege (
|
||||
Id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
Abflugort VARCHAR(100) NOT NULL,
|
||||
Zielort VARCHAR(100) NOT NULL,
|
||||
Abflugdatum DATETIME NOT NULL,
|
||||
Ankunftsdatum DATETIME NOT NULL,
|
||||
Flugnummer VARCHAR(20) NOT NULL,
|
||||
Preis DECIMAL(10,2) NOT NULL,
|
||||
Created DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
FlugzeugId INT NOT NULL,
|
||||
PilotId INT NOT NULL,
|
||||
ErstelltVon INT NOT NULL,
|
||||
FOREIGN KEY (FlugzeugId) REFERENCES flugzeuge(Id),
|
||||
FOREIGN KEY (PilotId) REFERENCES piloten(Id),
|
||||
FOREIGN KEY (ErstelltVon) REFERENCES users(Id)
|
||||
);
|
||||
|
||||
CREATE TABLE mitarbeiter (
|
||||
Id INT AUTO_INCREMENT PRIMARY KEY,
|
||||
Vorname VARCHAR(100) NOT NULL,
|
||||
Nachname VARCHAR(100) NOT NULL,
|
||||
Position VARCHAR(100) NOT NULL,
|
||||
MitarbeiterAlter INT NOT NULL,
|
||||
ArbeitsstundenProWoche FLOAT NOT NULL,
|
||||
IstVerfuegbar BOOLEAN NOT NULL
|
||||
);
|
||||
@@ -12,10 +12,10 @@ namespace SkyTeam
|
||||
private string vorname { get; set; }
|
||||
private string nachname { get; set; }
|
||||
private string email { get; set; }
|
||||
private string passwort { get; set; }
|
||||
private string passwortHash { get; set; }
|
||||
private string rolle { get; set; }
|
||||
private string stadt { get; set; }
|
||||
private DateTime geburtsdatum { get; set; }
|
||||
private string anrede { get; set; }
|
||||
private DateTime created { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,11 +13,10 @@ namespace SkyTeam
|
||||
private DateTime herstellungsdatum { get; set; }
|
||||
private int plaetze { get; set; }
|
||||
private float lagerflache { get; set; }
|
||||
private float weicht { get; set; }
|
||||
private float gewicht { get; set; }
|
||||
private float kerosineverbrauch { get; set; }
|
||||
private float stundengeschwindigkeit { get; set; }
|
||||
private float stundenstand { get; set; }
|
||||
private Boolean istVerfuegbar { get; set; }
|
||||
private Boolean istDefekt { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace SkyTeam
|
||||
private float groesse { get; set; }
|
||||
private float bewertung { get; set; }
|
||||
private List <string> sprachen { get; set; }
|
||||
private DateTime alter { get; set; }
|
||||
private DateTime pilotalter { get; set; }
|
||||
private string gender { get; set; }
|
||||
private Boolean istVerfuegbar { get; set; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user