Comment trouver la valeur maximale d'une colonne dans une table de données?
Je suis en train d'essayer de trouver la valeur maximale d'une colonne dans une table de données. Ci-dessous mon code
var maxVal = dsloadReferralCodes.Tables["dtReferralCodesTable"].AsEnumerable().Max(r => Convert.ToBoolean(int.TryParse(r.Field<string>("ROWNUM"), out intROWNUM)) ? (int?)intROWNUM : null);
et au-dessous de l'id de l'erreur que j'obtiens en essayant de tirer le maximum de la valeur et de l'affecter à intROWNUM
Impossible de convertir l'objet de type 'System.Virgule "pour le" type de Système.String'
Quelqu'un peut-il m'aider à résoudre le problème. Cela me trouble depuis longtemps. Merci à l'avance...
- Message d'erreur est très clair OMI..
Vous devez vous connecter pour publier un commentaire.
Votre champ
ROWNUM
est de type decimal et vous essayez de le convertir en chaîne de caractères, c'est pourquoi vous obtenez l'erreur.Il devrait être:
r.Field<decimal>("ROWNUM").ToString()
Pas vraiment sûr de savoir pourquoi vous êtes la conversion en Booléen et l'analyse d'un int int de nouveau.
Votre requête doit être:
if(dsloadReferralCodes != null && dsloadReferralCodes.Tables.Count > 0 && dsloadReferralCodes.Tables["dtReferralCodesTable"] != null && dtReferralCodesTable.Tables["dtReferralCodesTable"].Rows.Count > 0)
vous pouvez l'obtenir de manière simple avec DataTable.Sélectionnez() :
Ce sujet:
(ce qui n'est pas utiliser LINQ, de sorte qu'il serait aussi travailler pour .net 2.0)