Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Dataset + DataRelation + clés multiples

1 réponse
Avatar
Denis
Bonjour,

J'ai un dataset composé de 2 tables (disons T1 et T2)

La clé primaire de T1 est composée de 2 champs (disons C1 et C2)

La table T2 possède 1 clé primaire et 2 clés étrangère (P,C1 et C2)

Pour créer ma relation, j'ai essayé ceci:

DataColumn parentColumn = data.Tables["T1"].Columns["C1"];
DataColumn childColumn = data.Tables["T2"].Columns["C1"];

DataRelation relationA = new DataRelation("Relation1", parentColumn,
childColumn);

parentColumn = data.Tables["T2"].Columns["C1"];
childColumn = data.Tables["T2"].Columns["C2"];

DataRelation relationB = new DataRelation("Relation2", parentColumn,
childColumn);

myDataSet.Relations.AddRange(new DataRelation[]{relationA, relationB});


La dernière ligne me provoque l'erreur suivante:

"Ces colonnes n'ont pas actuellement de valeurs uniques."

Quelqu'un a une idée ?

1 réponse

Avatar
Denis
J'ai trouvé, (et je m'en félicite)

1, il me manquait un "distinct" dans ma requête !!
2, voici la syntaxe c# pour la relation du DataSet


marelation = new DataRelation("RelationT1T2", new
DataColumn[] { T1C1, T1C2}, new
DataColumn[] { T2C1, T2C2}, false);

myDataSet.Relations.Add(marelation );


"Denis" wrote:

Bonjour,

J'ai un dataset composé de 2 tables (disons T1 et T2)

La clé primaire de T1 est composée de 2 champs (disons C1 et C2)

La table T2 possède 1 clé primaire et 2 clés étrangère (P,C1 et C2)

Pour créer ma relation, j'ai essayé ceci:

DataColumn parentColumn = data.Tables["T1"].Columns["C1"];
DataColumn childColumn = data.Tables["T2"].Columns["C1"];

DataRelation relationA = new DataRelation("Relation1", parentColumn,
childColumn);

parentColumn = data.Tables["T2"].Columns["C1"];
childColumn = data.Tables["T2"].Columns["C2"];

DataRelation relationB = new DataRelation("Relation2", parentColumn,
childColumn);

myDataSet.Relations.AddRange(new DataRelation[]{relationA, relationB});


La dernière ligne me provoque l'erreur suivante:

"Ces colonnes n'ont pas actuellement de valeurs uniques."

Quelqu'un a une idée ?