Datenbankanwendung verbessern
Verfasst: Do Feb 05, 2015 4:26 pm
Hey,
ich habe mit dem MySQL-Connector (C#) und mithilfe des Visual Studios 2012 eine kleine Datenbankanwendung geschrieben, die den MySQL-Connector (C#) benutzt. Dort habe ich allerdings ein paar kleine Umsetzungsprobleme und zudem auch sicherlich vieles, was verbesserungswürdig ist. Deswegen hätte ich mal ein paar kleine Fragen.
1. Ich habe eine einzige Klasse, die die Datenbankoperationen darstellt, also das Hinzufügen von Kunden, Löschen, Bearbeiten usw., vermutlich könnte man das ganze noch besser aufteilen aber wie? Derzeit ist halt wie gesagt alles in dieser einen Klasse.
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? Die meisten Methoden in der Klasse sind ebenfalls static.
Das sieht so aus:
Jetzt ist muss man natürlich auch immer sql_connection.Open() machen. Könnte man die Offene Verbindung auch irgendwie übergeben oder anderweitig irgendwie das ganze kürzer fassen?
So sieht dann z.B eine der Methoden aus:
3. Zudem habe ich auch keine interne Repräsentation eines Kunden in meinem Projekt, sondern nur in der DB eine Tabelle für den Kunden. Brauche ich eine eigene Klasse dafür in meinem Projekt, wenn ja wie könnte diese aussehen? Wäre das einfach eine eigene Klasse?
4. Ich habe auch eine eigene Klasse geschrieben, die es ermöglicht die Daten aus der Datenbank in ein XML-File zu exportieren und zu importieren und zudem befindet sich dort auch noch eine Methode, die die Fehler protokolliert (Exceptions) und diese eine Datei schreibt. Derzeit handelt es sich dabei um ein txt.-File. Ist das so üblich?
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? Github und Codeplex etc. kenne ich schon aber wie kann man da auch mal kleienr Projekte finden, die aber trotzdem gut umgesetzt sind?
Diese müssen auch nicht unbedingt eine Datenbankanwendung sein.
Nur ein guter Stil ist mir wichtig, wobei sowas ja auch teilweise Ansichstsache ist aber es gibt ja auch sehr schlecht gibt und zumindest sowas wie "Akzeptabel".
ich habe mit dem MySQL-Connector (C#) und mithilfe des Visual Studios 2012 eine kleine Datenbankanwendung geschrieben, die den MySQL-Connector (C#) benutzt. Dort habe ich allerdings ein paar kleine Umsetzungsprobleme und zudem auch sicherlich vieles, was verbesserungswürdig ist. Deswegen hätte ich mal ein paar kleine Fragen.
1. Ich habe eine einzige Klasse, die die Datenbankoperationen darstellt, also das Hinzufügen von Kunden, Löschen, Bearbeiten usw., vermutlich könnte man das ganze noch besser aufteilen aber wie? Derzeit ist halt wie gesagt alles in dieser einen Klasse.
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? Die meisten Methoden in der Klasse sind ebenfalls static.
Das sieht so aus:
Code: Alles auswählen
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;
}
So sieht dann z.B eine der Methoden aus:
Code: Alles auswählen
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;
}
4. Ich habe auch eine eigene Klasse geschrieben, die es ermöglicht die Daten aus der Datenbank in ein XML-File zu exportieren und zu importieren und zudem befindet sich dort auch noch eine Methode, die die Fehler protokolliert (Exceptions) und diese eine Datei schreibt. Derzeit handelt es sich dabei um ein txt.-File. Ist das so üblich?
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? Github und Codeplex etc. kenne ich schon aber wie kann man da auch mal kleienr Projekte finden, die aber trotzdem gut umgesetzt sind?
Diese müssen auch nicht unbedingt eine Datenbankanwendung sein.

Nur ein guter Stil ist mir wichtig, wobei sowas ja auch teilweise Ansichstsache ist aber es gibt ja auch sehr schlecht gibt und zumindest sowas wie "Akzeptabel".