NET Framework 类库 |
计算用来传递筛选条件的当前行上的给定表达式。
[Visual Basic] Public Function Compute( _ ByVal expression As String, _ ByVal filter As String _ ) As Object [C#] public object Compute( string expression, string filter ); [C++] public: Object* Compute( String* expression, String* filter ); [JScript] public function Compute( expression : String, filter : String ) : Object;
参数
-
expression
- 要计算的表达式。 filter
- 要限制在表达式中进行计算的行的筛选器。
返回值
Object,设置为计算结果。
备注
expression 参数需要聚合函数。例如,以下是合法表达式:
Count(Quantity)
但是以下表达式不合法:
Sum (Quantity * UnitPrice)
如果必须针对两列或多列执行操作,则应该创建 DataColumn,并将它的 Expression 属性设置为适当的表达式,然后针对结果列使用聚合表达式。在这种情况下,假定有一个名为“total”的 DataColumn,并且 Expression 属性设置为:
“Quantity * UnitPrice”
Compute 方法的表达式参数将为:
Sum(total)
第二个参数 filter 确定在表达式中使用哪些行。例如,如果该表包含名为“colDate”的日期列,则可用以下表达式限制这些行:
colDate > 1/1/99 AND colDate < 17/1/99
有关为这两个参数创建表达式的规则,请参见 DataColumn 类的 Expression 属性。
示例
[Visual Basic, C#, C++] 以下示例针对识别号为 5 的销售人员,对名为“Total”的列的值求和。
[Visual Basic] Private Sub ComputeBySalesSalesID(ByVal myDataSet As DataSet) ' Presumes a DataTable named "Orders" that has a column named "Total." Dim myTable As DataTable myTable = myDataSet.Tables("Orders") ' Declare an object variable. Dim objSum As Object objSum = myTable.Compute("Sum(Total)", "EmpID = 5") End Sub [C#] private void ComputeBySalesSalesID(DataSet myDataSet){ // Presumes a DataTable named "Orders" that has a column named "Total." DataTable myTable; myTable = myDataSet.Tables["Orders"]; // Declare an object variable. object objSum; objSum = myTable.Compute("Sum(Total)", "EmpID = 5"); } [C++] private: void ComputeBySalesSalesID(DataSet* myDataSet){ // Presumes a DataTable named "Orders" that has a column named "Total." DataTable* myTable; myTable = myDataSet->Tables->Item[S"Orders"]; // Declare an object variable. Object* objSum; objSum = myTable->Compute(S"Sum(Total)", S"EmpID = 5"); }
[JScript] 没有可用于 JScript 的示例。若要查看 Visual Basic、C# 或 C++ 示例,请单击页左上角的“语言筛选器”按钮 。
要求
平台: Windows 98, Windows NT 4.0, Windows ME, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 系列, .NET Framework 精简版