Поделиться через


DataTable.Compute(String, String) Метод

Определение

Вычисляет заданное выражение на текущих строках, которые передают критерии фильтра.

public:
 System::Object ^ Compute(System::String ^ expression, System::String ^ filter);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter or expression might be trimmed.")]
public object Compute(string? expression, string? filter);
public object Compute(string? expression, string? filter);
public object Compute(string expression, string filter);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members of types used in the filter or expression might be trimmed.")>]
member this.Compute : string * string -> obj
member this.Compute : string * string -> obj
Public Function Compute (expression As String, filter As String) As Object

Параметры

expression
String

Выражение для вычисления.

filter
String

Фильтр, ограничивающий строки, вычисляемые в выражении.

Возвращаемое значение

Значение Object, задается результатом вычисления. Если выражение оценивается как null, возвращаемое значение будет Value.

Атрибуты

Примеры

В следующем примере суммируется значения столбца с именем Total для продавца, идентификационный номер которого составляет пять.

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

Комментарии

Для expression параметра требуется агрегатная функция. Например, ниже приведено юридическое выражение:

Count(Quantity)

Но это выражение не так:

Sum (Quantity * UnitPrice)

Если необходимо выполнить операцию с двумя или более столбцами, необходимо создать DataColumnсвойство, задать его Expression свойство соответствующим выражением и использовать статистическое выражение в результирующем столбце. В этом случае присвойте свойству DataColumn имя total, а Expression для свойства задано следующее:

"Quantity * UnitPrice"

Затем аргумент выражения для Compute метода будет следующим:

Sum(total)

Второй параметр, filterопределяет, какие строки используются в выражении. Например, если таблица содержит столбец даты с именем colDate, можно ограничить строки следующим выражением:

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

Правила создания выражений для обоих параметров см. в свойстве DataColumn.Expression .

Применяется к

См. также раздел