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
{
private static Database _database;
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 + ";";
MySqlConnection connection = new MySqlConnection(connectionString);
@@ -36,5 +37,14 @@ namespace it_projekt
connection.Close();
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()
{
InitializeComponent();
this.exportBtn.Enabled = false;
}
@@ -29,21 +30,25 @@ namespace it_projekt
private void loginBtn_Click(object sender, EventArgs e)
{
LoadUsersFromTable(this.userTxt.Text, this.passTxt.Text);
}
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!");
}
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);
}
}
}
private void dataGrid_CellContentClick(object sender, DataGridViewCellEventArgs e)
{