Freigeben über


DataTable.Compute-Methode

Berechnet den angegebenen Ausdruck für die aktuellen Zeilen, die die Filterkriterien erfüllen.

Namespace: System.Data
Assembly: System.Data (in system.data.dll)

Syntax

'Declaration
Public Function Compute ( _
    expression As String, _
    filter As String _
) As Object
'Usage
Dim instance As DataTable
Dim expression As String
Dim filter As String
Dim returnValue As Object

returnValue = instance.Compute(expression, filter)
public Object Compute (
    string expression,
    string filter
)
public:
Object^ Compute (
    String^ expression, 
    String^ filter
)
public Object Compute (
    String expression, 
    String filter
)
public function Compute (
    expression : String, 
    filter : String
) : Object

Parameter

  • expression
    Der zu berechnende Ausdruck.
  • filter
    Der Filter zum Begrenzen der Zeilen, die in dem Ausdruck ausgewertet werden.

Rückgabewert

Ein Object, das auf das Ergebnis der Berechnung festgelegt ist.

Hinweise

Der expression-Parameter erfordert eine Aggregatfunktion. Folgendes ist z. B. ein gültiger Ausdruck:

Count(Quantity)

Dieser Ausdruck ist jedoch nicht gültig:

Sum (Quantity * UnitPrice)

Wenn Sie eine Operation für zwei oder mehr Spalten ausführen, müssen Sie eine DataColumn erstellen, deren Expression-Eigenschaft auf einen entsprechenden Ausdruck festlegen und einen Aggregatausdruck für die resultierende Spalte verwenden. Angenommen, es ist eine DataColumn mit dem Namen "total" vorhanden, und die Expression-Eigenschaft ist wie folgt festgelegt:

"Quantity * UnitPrice"

Das Ausdrucksargument für die Compute-Methode ist in diesem Fall:

Sum(total)

Der zweite Parameter, filter, bestimmt, welche Zeilen in dem Ausdruck verwendet werden. Wenn die Tabelle z. B. eine Datumsspalte mit dem Namen "colDate" enthält, können Sie die Zeilen mit folgendem Ausdruck begrenzen:

colDate > 1/1/99 AND colDate < 17/1/99

Regeln zum Erstellen von Ausdrücken für beide Parameter finden Sie unter der DataColumn.Expression-Eigenschaft.

Beispiel

Im folgenden Beispiel werden die Werte einer Spalte "Total" für den Verkäufer mit der Identifizierungsnummer 5 summiert.

Private Sub ComputeBySalesSalesID(ByVal dataSet As DataSet)
    ' Presumes a DataTable named "Orders" that has a column named "Total."
    Dim table As DataTable
    table = dataSet.Tables("Orders")

    ' Declare an object variable.
    Dim sumObject As Object
    sumObject = table.Compute("Sum(Total)", "EmpID = 5")
 End Sub
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");
}

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

DataTable-Klasse
DataTable-Member
System.Data-Namespace

Weitere Ressourcen

Erstellen und Verwenden von DataTables