Startseite > Newsgroups > dotnetpro.public.programming > Beitrag "Re: N:M Relation für Einsteiger"

Beitrag "Re: N:M Relation für Einsteiger"

Re: N:M Relation für Einsteiger

23.08.2006 21:31
Freier, Daniel
Antworten


Hallo Dirk,
von deinen Angaben würde ich sagen, obwohl ich kein DB-Experte bin , dass du
auf dem richtigen Weg bist.
Vielleicht kannst du dich mit GetChildRows immer von einer Tabelle zur
untergeordneten Tabelle bewegen.
Dazu ist es allerdings erforderlich, dass eine DataRelation definiert wird.
Ob dies aber über mehrere Tabellen geht, also Kunden =>GetChildRows von
KundenProdukte, KundenProdukte => GetChildRows von Produkte
Vielleicht helfen dir diese Überlegungen weiter.
Daniel
"Dirk Weber" schrieb im Newsbeitrag
news:aec946ce-d36a-4951-a2f4-e10397afe12c@news.dotnetpro.de...
> Hallo, ich arbeite mich seit ein paar Wochen in .NET ein und muss jetzt
> mal ein paar Fragen zu ADO.NET loswerden.
> In meiner Anwendung habe ich eine M:N Beziehung, die ich klassich über
> zwei Mastertabellen und eine Join Tabelle gelöst habe. Als Beispiel soll
> hier das übliche herhalten.
>
> Kunde (ID, Name)
> 1:N
> KundenProdukte (IDKunde, IDProdukte)
> N:1
> Produkte (ID, Name)
>
>
> Diese Beziehung möchte ich in zwei Grids anzeigen
> Im Ersten Grid werden alle Kunden angezeigt, im 2. grid sollen die
> Produkte angezeigt werden, die dieser Kunde gekauft hat.
>
> Aus dem was ich bisher über ADO.NET gelesen habe, bin ich folgenden Weg
> gegangen: alle drei Tabellen werden per SELECT * FROM Kunde, SELECT * FROM
> KundenProdukte und SELECT * FROM Produkte über dataadapter in einen
> dataset geladen.
>
> Dann baue ich zwei datarelations auf, die die beiden 1:N Beziehungen
> abbilden:
> dsTest.Relations.Add("relKunde_KundenProdukte",
> dsTest.Tables["Kunde"].Columns["ID"],
> dsTest.Tables["KundenProdukte"].Columns["IDKunde"]);
> und
> dsTest.Relations.Add("relProdukte_KundenProdukte",
> dsTest.Tables["Produkte"].Columns["ID"],
> dsTest.Tables["KundenProdukte"].Columns["IDProdukte"]);
>
> Nun möchte ich die Daten in den beiden Grids anzeigen und stelle das
> DataBinding her:
> KundeGrid.DataSource = dsTest.Tables["Kunde"];
>
> und ab hier weiß ich nicht weiter, da ich es nicht schaffe, die abhängigen
> Rows aus der Produkte Tabelle in dem 2. Grid anzuzeigen, so dass diese
> auch automatisch aktualisiert werden, wenn ich einen anderen Kunden
> auswähle.
>
> Kann eine solche Beziehung überhaupt über Relations alleine bewältigt
> werden? Brauche ich andere Konstrukte wie GetChildRows etc.
>
> Kann mir jemand auf die Sprünge helfen?
>
> Dirk
>

Ganzer Thread

ThemaAutorDatum
N:M Relation für Einsteiger Dirk Weber 30.05.2006 12:18
» Re: N:M Relation für Einsteiger Freier, Daniel 23.08.2006 21:31
Login
Sie sind nicht eingeloggt.

Login & Registrierung
Abo bestellen





Developer Week Special

dotnetpro präsentiert die Developer Week vom 24. – 27. Juni 2013 im NCC Ost, Nürnberg – eine der größten Konferenzen ganz Europas für Entwickler

Anzeige





Newsletter
Tragen Sie Ihre E-Mailadresse für den kostenlosen Newsletter von dotnetpro ein.


Umfrage
Kollegen: Stütze oder Bremse?





Ergebnis anzeigen