So finden Sie max-Wert einer Spalte in einer datatable?
Ich bin auf der Suche nach dem max-Wert einer Spalte in einer datatable. Unten ist mein code
var maxVal = dsloadReferralCodes.Tables["dtReferralCodesTable"].AsEnumerable().Max(r => Convert.ToBoolean(int.TryParse(r.Field<string>("ROWNUM"), out intROWNUM)) ? (int?)intROWNUM : null);
- und unterhalb der id den Fehler bekomme ich beim Versuch zu bekommen, der max-Wert und die Zuordnung zu intROWNUM
Unable to cast object of type 'System.Dezimal' zum Typ 'System.String'
Kann mir jemand helfen bei der Lösung des Problems. Dies war beunruhigend mich seit langem. Vielen Dank im Voraus...
- Fehlermeldung ist ganz klar, IMO..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihrem Bereich
ROWNUM
vom Typ decimal und Sie versuchen zu casten zu einem string, das ist, warum Sie immer die Fehler.Sollte es sein:
r.Field<decimal>("ROWNUM").ToString()
Nicht wirklich sicher, warum Sie der Umwandlung zu Boolean und analysieren eines int in int wieder.
Ihre Abfrage sollte:
if(dsloadReferralCodes != null && dsloadReferralCodes.Tables.Count > 0 && dsloadReferralCodes.Tables["dtReferralCodesTable"] != null && dtReferralCodesTable.Tables["dtReferralCodesTable"].Rows.Count > 0)
können Sie es sich auf einfache Weise mit DataTable.Wählen Sie() :
Was:
(dies nicht mit LINQ, so würde es auch Arbeit für .net 2.0)