Comment puis-je définir un DataRelation entre un jeu de données de tables de données sur plusieurs colonnes?
Dans mon projet il y a deux tables de données dtNames
et dtDetails
.
Je ne sais pas sur SQL. Ici, je me connecte XML et les fichiers texte.
dtNames
EmpName EmpRole
a 2
b 3
c 4
dtDetails
Empid EmpName EmpCity EmpRole
101 a abc 3 //EmpRole not equal to above table EmpRole
102 b abc 3
103 c xyz 4
104 d pqr 5
105 e rst 6
Je veux relier ces deux tables de données basé sur le EmpName
et EmpRole
(ici comparant à dtNames
) et stocker le résultat dans un DataSet dsMain
(tableau de dtDetails
) et ensuite de diviser les deux tables de données en fonction de comparaison comme matchedDataTable
et unmatchedDataTable
.
Je sais que cela peut être fait en utilisant DataRelation ou RowFilter mais je ne peux pas avoir une pensée comment le faire parce qu'il y a deux colonnes à comparer avec d'autres datatable deux colonnes qui, je ne sais pas.(Je suis débutant dans .net)
J'ai essayé le code ci-dessous: (pas de travail)
DataSet dsMain = new DataSet();
DataRelation newRelation = new DataRelation("processData"
, dtNames.Columns["EmpName"], dtDetails.Columns["EmpName"]);
dsMain.Relations.Add(newRelation);
Comme vous pouvez le voir Dans le code ci-dessus, je suis tout juste en comparant une colonne avec d'autres de la colonne. Comment comparer les deux. Je suis très proche
s'il vous plaît aider.
- Cochez cette - msdn.microsoft.com/en-us/library/bb386998.aspx
- Je pense que c'est linq? si c'est le cas, je ne veux pas qu'il. Je sais comment le faire à l'aide de linq mais mon projet est strictement non-linq. cant-il être fait à l'aide de dataset rowfilters ou datarelations..
- Comme une note de côté: vous pourriez vouloir réévaluer votre conception de base de données (ou de vos requêtes d'extraction), comme les tables de données à l'instant ne sont pas normalisées (c'est à dire que vous ne font que répéter les EmpRole de données dans les deux tableaux).
Vous devez vous connecter pour publier un commentaire.
Utiliser le constructeur qui accepte la colonne des tableaux:
matchedtable
etunmatchedtable
?Avez-vous vérifier la possible constructeurs de
DataRelation
?Juste passer un tableau de
DataColumn
, et vous pouvez combiner plusieurs colonnes.Comme: