Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中使用DATATABLE计算总和时,聚合函数Sum()和Type:String的用法无效#_C#_Asp.net_Python 3.x_Datatable_Sum - Fatal编程技术网

C# 在C中使用DATATABLE计算总和时,聚合函数Sum()和Type:String的用法无效#

C# 在C中使用DATATABLE计算总和时,聚合函数Sum()和Type:String的用法无效#,c#,asp.net,python-3.x,datatable,sum,C#,Asp.net,Python 3.x,Datatable,Sum,在使用DataTable计算总和时,我得到以下错误 Invalid usage of aggregate function Sum() and Type: String. 我正在使用以下代码: lblQuestionnaireTotalTime.Text = CalculateMinutes( Convert.ToInt32( ( (DataSet)Session["DsQuestionaire"]

在使用DataTable计算总和时,我得到以下错误

Invalid usage of aggregate function Sum() and Type: String.
我正在使用以下代码:

lblQuestionnaireTotalTime.Text = CalculateMinutes(
                Convert.ToInt32(
                (
                (DataSet)Session["DsQuestionaire"]).Tables["Questions"]
                .Compute("Sum(EstimatedCompletionTime)", "")));
它总是抛出一个错误。 我已经试过了

和其他一些链接,但无法解决问题

下面是我如何向datatable添加列

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

不能计算字符串类型的列的
和。您需要确保列的类型为integer


尝试更改列数据类型

t.Columns["Price"].DataType=typeof(int);

转换字符串列

object sumObject = dtTable.Compute("Sum(Convert(" + col_Name + ", 'System.Int32')","");

天真的问题,但是…EstimatedCompletionTime的类型是什么?您尝试过Sum(Convert(EstimatedCompletionTime,'System.Int32'))吗?它说计算方法只需要1个参数,它说“聚合参数中的语法错误:需要一个可能带有'Child'限定符的单列参数。”这里有人这样说(很抱歉,现在找不到它)建议使用LINQ实现类似的功能(它也适用于DataTable)。给它一个机会!您确定
(数据集)会话[“DsQuestionaire”])。表[“Questions”]
的列类型完全相同吗?你们能得到它的类型并检查一下吗?实际上会话在注销时并没有被破坏,实际上我正在将一个1.1版本的网站转换成4.0版本,他们只是在单击注销时重定向到登录页面。这是主要问题。