Samstag, 24. März 2007

Wie war das doch gleich ...?

Es gibt Momente im Leben eines Entwicklers, in denen man denkt "Da muss es doch was geben!"
Ich mache die Erfahrung immer dann, wenn ich mich mit Dingen beschäftige, die ich nicht jeden Tag brauche oder ganz neu für mich sind.

Die Methode Compute, die die Klasse DataTable zur Verfügung stellt gehört für den ein oder anderen bestimmt dazu. Wenn man nicht gerade der ausgewiesene ADO.NET Spezialist ist, aber dennoch hin und wieder mit DataTable, DataSets etc. arbeitet, stolpert man bestimmt früher oder später über das Problem Daten einer bereits gefüllten DataTable auf bestimmte Art und Weise zu berechnen (zum Beispiel mit Hilfe eines Aggregatausdrucks z.B. sum,avg ...)

Das geht auf einfache Weise über die Methode Compute. Die Methode Compute, die zwei Parameter erwartet:

expression
Der zu berechnende Ausdruck.
filter
Der Filter zum Begrenzen der Zeilen, die in dem Ausdruck ausgewertet werden.
Beispiel:
private void ComputeBySalesSalesID(DataSet dataSet)
{
// Presumes a DataTable named "Orders" that has a column named "Total."
DataTable table;
table = dataSet.Tables["Orders"];

// Declare an object variable.
object sumObject;
sumObject = table.Compute("Sum(Total)", "EmpID = 5");
}
Mich würde es nicht wundern, wenn der ein oder andere hier bereits schon mal einen eigenen Lösungsweg erstellt hat (z.B. Summierung der Werte einer Spalte mit Hilfe einer Schleife o.ä)

Weitere Informationen bei Microsoft

Keine Kommentare: