DataTable.Compute(String, String) Methode

Definition

Berechnet den angegebenen Ausdruck für die aktuellen Zeilen, die die Filterkriterien erfüllen.Computes the given expression on the current rows that pass the filter criteria.

public:
 System::Object ^ Compute(System::String ^ expression, System::String ^ filter);
public object Compute (string expression, string filter);
member this.Compute : string * string -> obj
Public Function Compute (expression As String, filter As String) As Object

Parameter

expression
String

Der zu berechnende Ausdruck.The expression to compute.

filter
String

Der Filter zum Begrenzen der Zeilen, die in dem Ausdruck ausgewertet werden.The filter to limit the rows that evaluate in the expression.

Gibt zurück

Ein Object, das auf das Ergebnis der Berechnung festgelegt ist.An Object, set to the result of the computation. Wenn der Ausdruck NULL ergibt, ist der Rückgabewert Value.If the expression evaluates to null, the return value will be Value.

Beispiele

Im folgenden Beispiel werden die Werte einer Spalte mit dem Namen "Total" für den Vertriebsmitarbeiter, dessen Identifikationsnummer fünf ist, zusammengefasst.The following example sums the values of a column named "Total", for the salesperson whose identification number is five.

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");
}
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

Hinweise

Der expression-Parameter erfordert eine Aggregatfunktion.The expression parameter requires an aggregate function. Beispielsweise ist Folgendes ein gültiger Ausdruck:For example, the following is a legal expression:

Count(Quantity)

Dieser Ausdruck ist jedoch nicht:But this expression is not:

Sum (Quantity * UnitPrice)

Wenn Sie einen Vorgang für zwei oder mehr Spalten ausführen müssen, sollten Sie eine DataColumnerstellen, die Expression-Eigenschaft auf einen geeigneten Ausdruck festlegen und einen Aggregat Ausdruck für die resultierende Spalte verwenden.If you must perform an operation on two or more columns, you should create a DataColumn, set its Expression property to an appropriate expression, and use an aggregate expression on the resulting column. In diesem Fall, wenn eine DataColumn mit dem Namen "Total" und die Eigenschaft Expression auf this festgelegt ist:In that case, given a DataColumn with the name "total", and the Expression property set to this:

"Quantity * UnitPrice"

Das Ausdrucks Argument für die Compute-Methode wäre dann Folgendes:The expression argument for the Compute method would then be this:

Sum(total)

Der zweite Parameter, filter, bestimmt, welche Zeilen im Ausdruck verwendet werden.The second parameter, filter, determines which rows are used in the expression. Wenn die Tabelle beispielsweise eine Datums Spalte mit dem Namen "colDate" enthält, können Sie die Zeilen mit dem folgenden Ausdruck begrenzen:For example, if the table contains a date column named "colDate", you could limit the rows with the following expression:

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

Regeln zum Erstellen von Ausdrücken für beide Parameter finden Sie in der DataColumn.Expression-Eigenschaft.For rules on creating expressions for both parameters, see the DataColumn.Expression property.

Gilt für:

Siehe auch