DataTable.Compute(String, String) Método

Definição

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

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

Parâmetros

expression
String

A expressão a calcular.

filter
String

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

Devoluções

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

Exemplos

O exemplo seguinte 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

Observações

O expression parâmetro requer uma função agregada. Por exemplo, a seguinte é uma expressão jurídica:

Count(Quantity)

Mas esta expressão não é:

Sum (Quantity * UnitPrice)

Se tiver de realizar uma operação em duas ou mais colunas, deve criar uma DataColumn, definir a sua Expression propriedade para uma expressão apropriada e usar uma expressão agregada na coluna resultante. Nesse caso, dado a 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 então este:

Sum(total)

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

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

Para regras sobre a criação de expressões para ambos os parâmetros, veja a DataColumn.Expression propriedade.

Aplica-se a

Ver também