Ler em inglês

Compartilhar via


DataTable.Compute(String, String) Método

Definição

Calcula a expressão especificada nas linhas atuais que passam os critérios de filtro.

public object Compute (string? expression, string? filter);
public object Compute (string expression, string filter);

Parâmetros

expression
String

A expressão a computar.

filter
String

O filtro para limitar as linhas que são avaliadas na expressão.

Retornos

Um Object, definido como o resultado do cálculo. Se a expressão for avaliada como nula, o valor retornado será Value.

Exemplos

O exemplo a seguir soma os valores de uma coluna chamada "Total", para o vendedor cujo número de identificação é cinco.

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

Comentários

O expression parâmetro requer uma função de agregação. Por exemplo, o seguinte é uma expressão legal:

Count(Quantity)

Mas essa expressão não é:

Sum (Quantity * UnitPrice)

Se você precisar executar uma operação em duas ou mais colunas, deverá criar um DataColumn, definir sua Expression propriedade como uma expressão apropriada e usar uma expressão de agregação na coluna resultante. Nesse caso, dado um DataColumn com o nome "total" e a Expression propriedade definida como esta:

"Quantity * UnitPrice"

O argumento de expressão para o Compute método seria:

Sum(total)

O segundo parâmetro, filter, determina quais linhas são usadas na expressão. Por exemplo, se a tabela contiver uma coluna de data chamada "colDate", você poderá limitar as linhas com a seguinte expressão:

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

Para obter regras sobre como criar expressões para ambos os parâmetros, consulte a DataColumn.Expression propriedade .

Aplica-se a

Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Confira também