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á daný výraz na aktuálních řádcích, které splňují kritéria filtru.
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
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 návratová hodnota Value.
Příklady
Následující příklad sečte hodnoty sloupce s názvem "Total" 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 pro výsledný sloupec. V takovém případě zadanou DataColumn hodnotu s názvem "total" a vlastnost nastavenou Expression na tuto hodnotu:
"Quantity * UnitPrice"
Argument výrazu pro metodu Compute by pak byl tento:
Sum(total)
Druhý parametr , určuje, filter
které řádky se ve výrazu použijí. Pokud například tabulka obsahuje sloupec kalendářních dat s názvem "colDate", můžete omezit řádky pomocí následujícího výrazu:
colDate > 1/1/99 AND colDate < 17/1/99
Pravidla pro vytváření výrazů pro oba parametry najdete ve DataColumn.Expression vlastnosti .