0

使用 DataTable 计算 SUM 时出现以下错误。

Invalid usage of aggregate function Sum() and Type: String.

我正在使用以下代码:

lblQuestionnaireTotalTime.Text = CalculateMinutes(
                Convert.ToInt32(
                (
                (DataSet)Session["DsQuestionaire"]).Tables["Questions"]
                .Compute("Sum(EstimatedCompletionTime)", "")));

它总是抛出一个错误。我已经尝试过如何计算数据表列的总和,以及

how-can-i-get-a-sum-for-the-column-pieces-in-a-datatable 和其他一些链接,但无法解决问题。

这是我如何将列添加到数据表

dtQuestions.Columns.Add(new DataColumn("EstimatedCompletionTime", typeof(Int32)));
4

3 回答 3

0

您无法计算Sum字符串类型的列。您需要确保您的列具有整数类型。

在此处输入图像描述

于 2013-10-01T07:47:15.567 回答
0

转换字符串列。

object sumObject = dtTable.Compute("Sum(Convert(" + col_Name + ", 'System.Int32')","");
于 2017-07-26T10:31:22.210 回答
0

尝试更改列数据类型

t.Columns["Price"].DataType=typeof(int);
于 2015-09-09T09:49:36.973 回答