database now defined as singleton

This commit is contained in:
2022-05-16 18:28:13 +02:00
parent 9b4980c204
commit d62d116e87
2 changed files with 21 additions and 6 deletions

View File

@@ -7,8 +7,9 @@ namespace it_projekt
{ {
class Database class Database
{ {
private static Database _database;
public List<Person> Persons { get; set; } public List<Person> Persons { get; set; }
public Database(String username, String password) private Database(String username, String password)
{ {
string connectionString = "server=localhost;port=3306;database=stammdaten;User Id=" + username + ";Password=" + password + ";"; string connectionString = "server=localhost;port=3306;database=stammdaten;User Id=" + username + ";Password=" + password + ";";
MySqlConnection connection = new MySqlConnection(connectionString); MySqlConnection connection = new MySqlConnection(connectionString);
@@ -36,5 +37,14 @@ namespace it_projekt
connection.Close(); connection.Close();
Console.WriteLine("Done."); Console.WriteLine("Done.");
} }
public static Database getDatabase(string username, string password)
{
if (_database == null)
{
_database = new Database(username, password);
}
return _database;
}
} }
} }

View File

@@ -15,6 +15,7 @@ namespace it_projekt
public Form1() public Form1()
{ {
InitializeComponent(); InitializeComponent();
this.exportBtn.Enabled = false;
} }
@@ -29,19 +30,23 @@ namespace it_projekt
private void loginBtn_Click(object sender, EventArgs e) private void loginBtn_Click(object sender, EventArgs e)
{ {
LoadUsersFromTable(this.userTxt.Text, this.passTxt.Text); LoadUsersFromTable(this.userTxt.Text, this.passTxt.Text);
} }
public void LoadUsersFromTable(string user, string password) public void LoadUsersFromTable(string user, string password)
{ {
if (db == null) db = Database.getDatabase(user, password);
if (db.Persons == null)
{ {
db = new Database(user, password); MessageBox.Show("Connection to Database failed! \nPlease Try again.", "Database Error!");
} }
foreach (Person person in db.Persons) else {
{ foreach (Person person in db.Persons)
this.dataGrid.Rows.Add(person.Id, person.Firstname, person.Lastname, person.department_short, person.department_long, person.CreationDate, false); {
this.dataGrid.Rows.Add(person.Id, person.Firstname, person.Lastname, person.department_short, person.department_long, person.CreationDate, false);
}
} }
} }