DataSet aus DLL verwenden

06/06/2009 - 19:01 von Thorsten Kleibaum | Report spam
Hallo zusammen,

ADO.NET ist leider kein Steckenpferd von mir, deshalb mag die Idee auch
totaler Schwachsinn sein. Klàrt mich bitte auf.

Mein Projekt besteht aus zwei Teilen - dem Hauptprojekt und
BackOffice-Projekt, wobei gemeinsam genutzte Typen in einer DLL liegen.
Beide Teile sollen auf die gleiche Datenbank zugreifen, weshalb ich die
Kommunikation gerne in diese DLL packen würde. Ändert sich die
Datenbankstruktur, muß ich so nur an einer zentralen Stelle das DataSet
aktualisieren (lassen), was mir design-technisch sauberer erscheint.

Ich bin nun hingegangen und habe der DLL eine Datenbank als Datenquelle
hinzugefügt. Im BackOffice-Projekt habe ich als Datenquelle das
DataSet-Objekt dieser DLL hinzugefügt, womit mir im
Datenquellen-Explorer auch schön alle Tabellen etc. aufgelistet werden.
Ziehe ich davon nun eine in den Forms-Designer, wird auch ein DataGrid
eingefügt - alles so, wie ich mir das Vorstelle. Die Verknüpfung mit der
Datenbank funktioniert aber dennoch nicht, das DGV bleibt leer. Es wurde
im Designer z.B. auch kein TableAdapter hinzugefügt, sondern lediglich
eine BindingSource.

Es stellt sich mir nun also die Frage, ob mein Ansatz machbar ist, oder
ob es doch praktikabler ist, jedem Projekt eine direkte Verbindung zur
Datenbank zu spendieren.

Gruß
Thorsten
 

Lesen sie die antworten

#1 Peter Fleischer
07/06/2009 - 08:14 | Warnen spam
"Thorsten Kleibaum" schrieb im Newsbeitrag
news:h0e7cg$qbj$03$

Mein Projekt besteht aus zwei Teilen - dem Hauptprojekt und
BackOffice-Projekt, wobei gemeinsam genutzte Typen in einer DLL liegen.
Beide Teile sollen auf die gleiche Datenbank zugreifen, weshalb ich die
Kommunikation gerne in diese DLL packen würde. Ändert sich die
Datenbankstruktur, muß ich so nur an einer zentralen Stelle das DataSet
aktualisieren (lassen), was mir design-technisch sauberer erscheint.



Hi Thorsten,
das mit "Ändert sich die Datenbankstruktur" hast du bestimmt nicht bis zu
Ende durchdacht. Wenn besipielsweise ein Spaltentyp geàndert wird, muss
sowieso die gesamte Anwendung überarbeitet werden.

Ich bin nun hingegangen und habe der DLL eine Datenbank als Datenquelle
hinzugefügt. Im BackOffice-Projekt habe ich als Datenquelle das
DataSet-Objekt dieser DLL hinzugefügt, womit mir im Datenquellen-Explorer
auch schön alle Tabellen etc. aufgelistet werden. Ziehe ich davon nun eine
in den Forms-Designer, wird auch ein DataGrid eingefügt - alles so, wie
ich mir das Vorstelle. Die Verknüpfung mit der Datenbank funktioniert aber
dennoch nicht, das DGV bleibt leer. Es wurde im Designer z.B. auch kein
TableAdapter hinzugefügt, sondern lediglich eine BindingSource.



Du brauchst da noch eine Datenzugriffschicht, in der du eine Methode
aufrufst, die in die BindingSource den Verweis auf eine Instanz des
typisierten DataSets eintràgt.

Es stellt sich mir nun also die Frage, ob mein Ansatz machbar ist, oder ob
es doch praktikabler ist, jedem Projekt eine direkte Verbindung zur
Datenbank zu spendieren.



Natürlich ist dieser Ansatz machbar und ich wende diesen Ansastz hàufig, vor
allem, wenn unterschiedliche Objekte (z.B. Forms) auf die gleichen Daten
zugreifen sollen (gemeinsames DataSet).

Viele Grüsse
Peter

Ähnliche fragen