Utilisez c # linq pour la connexion DataTable
Les jointures internes combinent des lignes à partir de deux dataTables basés sur des clés communes. Ceci est utile pour les tâches telles que la fusion d'informations à partir de différentes tables ou le filtrage des données basées sur des conditions spécifiques.
Supposons que nous ayons deux dataTables, T1 et T2, les champs sont les suivants:
Nous devons créer une table conjointe TJ avec les champs suivants:
en utilisant linq, nous pouvons effectuer des intra-jointures sur la colonne Custid:
var results = from table1 in dt1.AsEnumerable()
join table2 in dt2.AsEnumerable() on (int)table1["CustID"] equals (int)table2["CustID"]
select new
{
CustID = (int)table1["CustID"],
ColX = (int)table1["ColX"],
ColY = (int)table1["ColY"],
ColZ = (int)table2["ColZ"]
};
Cette requête génère une séquence d'objets anonymes contenant les colonnes connectées. Nous pouvons alors itérer sur les résultats et les sortir dans la console:
foreach (var item in results)
{
Console.WriteLine(String.Format("ID = {0}, ColX = {1}, ColY = {2}, ColZ = {3}", item.CustID, item.ColX, item.ColY, item.ColZ));
}
Ce code produira la sortie suivante:
ID = 1, ColX = 11, ColY = 21, ColZ = 31
ID = 2, ColX = 12, ColY = 22, ColZ = 32
ID = 3, ColX = 13, ColY = 23, ColZ = 33
ID = 4, ColX = 14, ColY = 24, ColZ = 34
ID = 5, ColX = 15, ColY = 25, ColZ = 35
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3