DataTable.Compute(String, String) Método

Definição

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

public:
 System::Object ^ Compute(System::String ^ expression, System::String ^ filter);
public object Compute (string? expression, 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

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

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

Confira também