DataTable.Compute(String, String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vypočítá zadaný výraz na aktuálních řádcích, které předávají kritéria filtru.
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
Parametry
- expression
- String
Výraz, který se má vypočítat.
- filter
- String
Filtr pro omezení řádků, které se vyhodnocují ve výrazu.
Návraty
Hodnota Object, nastavená na výsledek výpočtu. Pokud se výraz vyhodnotí jako null, bude vrácená hodnota Value.
- Atributy
Příklady
Následující příklad sečte hodnoty sloupce s názvem Total (Celkem) pro prodejce, jehož identifikační číslo je pět.
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
Poznámky
Parametr expression vyžaduje agregační funkci. Například toto je právní výraz:
Count(Quantity)
Tento výraz ale není:
Sum (Quantity * UnitPrice)
Pokud musíte provést operaci se dvěma nebo více sloupci, měli byste vytvořit DataColumn, nastavit jeho Expression vlastnost na odpovídající výraz a použít agregační výraz ve výsledném sloupci. V takovém případě je daná DataColumn vlastnost s názvem "total" a Expression vlastnost nastavená na toto:
"Quantity * UnitPrice"
Argument výrazu pro metodu Compute by pak byl tento:
Sum(total)
Druhý parametr , filterurčuje, které řádky se ve výrazu používají. Pokud například tabulka obsahuje sloupec kalendářního data s názvem "colDate", můžete řádky omezit následujícím výrazem:
colDate > 1/1/99 AND colDate < 17/1/99
Pravidla pro vytváření výrazů pro oba parametry najdete v DataColumn.Expression této vlastnosti.