Laden...

[gelöst] DataRalation mit mehreren Spalten als Relations verknüpfung

Erstellt von Dolce vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.024 Views
D
Dolce Themenstarter:in
206 Beiträge seit 2009
vor 6 Jahren
[gelöst] DataRalation mit mehreren Spalten als Relations verknüpfung

Hallo werte Kollegen

Ich möchte gerne mehrere DataTable mittels DataRelation miteinander verknüpfen.
Dies funktioniert auch einwandfrei.
Nun habe ich die Konstellation, dass zwei Tabellen mittels zwei Spalten als eindeutiger Schlüssel verknüpft werden müssen.

Kann mir hier wer von euch weiter helfen wie ich das bewerkstelligen kann? Ich kriegs einfach nicht auf die Reihe.


DataSet ds = new DataSet();

DataTable dt1 = new DataTable();
DataTable dt2 = new DataTable();
DataTable dt3 = new DataTable();

// Stellt die Verbindung zwischen den Tabellen dt1 und dt2 über die ID her
DataRelation objRelation1 = new DataRelation("Relation1", ds.Tables["dt1"].Columns["id_PK"], ds.Tables["dt2"].Columns["id_FK"]);
ds.Relations.Add(objRelation1);

// Stellt die Verbindung zwischen den Tabellen dt2 und dt3 über die ID und Artikelnummer her
DataRelation objRelation2 = new DataRelation("Relation2", ds.Tables["dt2"].Columns["id_PK"], ds.Tables["dt3"].Columns["id_FK"]); // Wie wird hier die zweite Verknüpfung angegeben ???
ds.Relations.Add(objRelation2);


Beispiel in SQL

 
Select * from Table2
inner join Table3
on Table2.Id_PK = Table3.Id_PK_PK and Table2.Artikelnummer = Table3.Artikelnummer


Danke und Gruss Dolce

Wer Rechtschreibfehler findet, darf sie behalten.

D
985 Beiträge seit 2014
vor 6 Jahren

In die Dokumentation hast du schon geschaut?

DataRelation Klasse

Der Konstruktor hat da ein paar overloads die helfen sollten

D
Dolce Themenstarter:in
206 Beiträge seit 2009
vor 6 Jahren

Hi Rufo

Jup kannte ich hab es jedoch nicht verstanden. Nach dem Mittagessen war dann alles klar.... 😁



DataColumn[] parentColumns = new DataColumn[2];
DataColumn[] childColumns = new DataColumn[2];

parentColumns[0] = ds.Tables["dt2"].Columns["Id_PK"];
parentColumns[1] = ds.Tables["dt2"].Columns["ArticleNo"];

childColumns[0] = ds.Tables["dt3"].Columns["Id_FK"];
childColumns[1] = ds.Tables["dt3"].Columns["ArticleNo"];

DataRelation objRelation2 = new DataRelation("Relation2", parentColumns, childColumns,false);
ds.Relations.Add(objRelation2);


Danke aber trotzdem für deinen Input.

Wer Rechtschreibfehler findet, darf sie behalten.