Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - DB Connection über mehrere Formulare
joshua9 - Fr 30.09.11 11:08
Titel: DB Connection über mehrere Formulare
Hallo
ich habe folgende Frage:
Die Verbindung zwischen C# und meiner Mysql Datenbank mache ich wie folgt:
C#-Quelltext
1: 2:
| static string connection = Properties.Setting.Default.ConnectionString; MySqlconnection myconn = new MySqlConnection(connString); |
(ConnectionString habe ich im app.config definiert
dann kann ich mit myconn.open etc. die Befehle ausführen.
diese Definition mache ich bei jedem Formular neu.
Meine Frage, wie kann ich das einmal definieren und dann für alle weiteren Formulare resp.
File.cs brauchen ?
Vielen Dank für die Hilfe
Joshua
Moderiert von
Th69: Color-Tags durch C#-Tags ersetzt
Ralf Jansen - Fr 30.09.11 11:30
Zitat: |
Meine Frage, wie kann ich das einmal definieren und dann für alle weiteren Formulare resp.
File.cs brauchen ? |
In dem du die Connection nie auf einer Form verwendest sondern in einer zentralen Datenschicht/Datenmodell die das macht und die Daten über eine wohldefinierte Schnittstelle an ihre Nutzer (z.B. deine Forms liefert. Richtig unterwegs bist du wenn deine Form nicht weiß das du mySQL verwendest.
Andererseits solltest du eine Connection eh nicht wiederverwenden oder ewig lange offen halten. Das klassische Muster ist eigentlich so spät wie möglich öffnen und so früh wie möglich wieder schließen. Bei der nächsten Operation dann wieder eine neues Connection Object erzeugen und benutzen.
joshua9 - Fr 30.09.11 11:48
Hallo Ralf
Vielen Dank für die Antwort, kannst du mir das mit der Datenschicht/Datenmodell genauer erklären
Gruss Joshua
Ralf Jansen - Fr 30.09.11 12:18
Da gibt es (noch) nicht viel zu erklären. Da einzige das ich weiß ist das du MySqlConnection verwendest aber zum Beispiel nicht welche Klassen zum halten der Daten du verwendest.
In einem simplen Fall wo du mit untypisierten DataTables arbeitest kann das zum Beispiel (nur Oberfläche) einfach so aussehen.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public class MeinLieberDataAdapter : IMeinLieberDataAdapter { public MeinLieberDataAdapter(string connectionstring) {}
public DataTable GetXYZDaten(int parameter1, string parameter2) {}
public SaveXYZDaten(DataTable daten) {} } |
Du siehst keinen speziellen Abhängigkeiten in der Schnittstelle und deine Formen können Daten abrufen, ändern, speichern etc. ohne näher zu Wissen wo die herkommen. Das brauchst du nur einmal in dieser Klasse/Klassen lösen.
joshua9 - Fr 30.09.11 13:52
Hallo Ralph
Vielen Dank für die Antwort
ich werde das versuchen
Gruss Joshua
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!