Gast
#3998978
Hey,
ich habe eine kleine Datenbankanwendung geschrieben, die den
MySQL-Connector (C#) benutzt. Dort habe ich allerdings ein paar kleine
Umsetzungsprobleme und zudem aucb bestimmt vieles, was
verbesserungswürdig ist, von daher hier mal ein paar Fragen.
1. Ich habe eine einzige Klasse, die die Datenbankoperationen darstellt,
also Löschen von Kunden, Hinzufügen usw., vermutlich könnte man das
ganze noch besser aufteilen aber wie?
2. Ich habe in dieser einen Klasse, die übrigens statisch ist eine
Verbindung, die überall genutzt wird und zudem ein paar andere. Ist es
empfehlenswert eine Verbindung in der Klasse zu haben, die überall
genutzt wird?
Das sieht so aus:
private static MySqlConnection sql_connection = new MySqlConnection();
private static MySqlCommand sql_command = new MySqlCommand();
private static MySqlDataReader sql_reader;
static Database()
{
sql_connection.ConnectionString = Login();
sql_command.Connection = sql_connection;
}
Jetzt ist muss man natürlich auch immer sql_connection.Open() machen.
Könnte man die Offene Verbindung auch irgendwie übergeben bzw. ist das
ratsam?
So sieht dann z.B eine der Methoden aus:
public static bool DeleteAllData()
{
sql_command.CommandText = "Delete from Kunde;";
try
{
using (sql_connection)
{
sql_connection.Open();
sql_command.ExecuteNonQuery();
}
}
catch (MySqlException mysqlex)
{
// Behandlung
return false;
}
return true;
}
3. Zudem habe ich auch keine interne Repräsentation eines Kunden in
meinem Projekt, sondern nur in der DB eine Tabelle einen Kunden. Brauche
ich eine eigene Klasse dafür in meinem Projekt, wenn ja wie könnte diese
aussehen?
Ich würde mir auch wahnsinning gerne mal irgendwo fertige Projekte
angucken, allerdings sind viele dieser Open-Source Projekte so
gigantisch und auch so komplex das ich fast nichts verstehe.
Hat hier evtl. jemand eine Empfehlung für ein kleineres Projekt, wo man
sich auch mal einen guten Stil angucken kann oder eine Seite, wo es
solche Projekte gibt?
Diese müssen auch nicht unbedingt eine Datenbankanwendung sein. ;)
Nur ein guter Stil ist mir wichtig.
Danke schon einmal im voraus an alle Antwortenden.