L'interrogation à l'intérieur d'un jeu de données en C#
J'ai un ADO.NET jeu de données qui est définie par une certaine requête,
dire
SELECT ID,USER,PRODUCT,COUNT FROM PRODUCTION
Sans l'aide d'une clause where j'ai besoin de tirer des résultats de l'ensemble de données. Dire que je veux obtenir de l'Utilisateur et de compte de Produit de l'utilisateur qui a le maximum compte de produit. (Et je veux le faire en utilisant le jeu de données. Je ne peut pas dériver ce à partir d'un jeu de données.)
Toute idée d'un moyen d'interroger l'intérieur de l'ensemble de données? Puisqu'il y a des Datatables ma pensée était il y a une certaine manière de l'interroger.
DataTable.Compute
est le meilleur quand vous avez besoin count(*)
ou max(COUNT)
comme des opérationsOriginalL'auteur JCTLK | 2011-03-31
Vous devez vous connecter pour publier un commentaire.
Traditionnel des requêtes SQL ne peut pas être appliqué à l'ensemble de données. La suite est possible, cependant:
DataTable.Sélectionnez
. Voir ici pour obtenir des informations détaillées sur les expressions dans les tables de données.DataTable.Calculer
.Quick-and-dirty LINQ exemple: (qui ne retourne pas une DataTable, mais une liste contenant un type anonyme):
AsEnumerable
convertit un DataTable dans une(IEnumerable
sur lequel les requêtes LINQ peut être effectuée. Si vous êtes nouveau à LINQ, découvrez cette introduction.OriginalL'auteur bernhof
Oui, vous pouvez utiliser DataTable.Sélectionnez méthode.
Voir aussi ce lien.
Vous pouvez obtenir le comte à l'aide .Longueur. Pour les plus avancés d'une utilisation de Linq - msdn.microsoft.com/en-us/library/bb387004.aspx
Voici comment vous comptez:
.Expression = "Count(OrderID)"
. ExplorerDataColumn.Expression
de la propriété.Si vous utilisez DataColumn.Expression, vous avez besoin d'une colonne pour afficher le comte de droite?
OriginalL'auteur Anuraj
Vous pouvez faire du ski-les requêtes de table d'un objet Dataset à l'aide de LINQ to DataSet:
msdn.microsoft.com/en-us/library/bb386969.aspx
OriginalL'auteur Buggieboy