VB.NET中对累计总计数据表列求和报错,如何解决?
错误原因与修复方案
错误根源在于列名Total#包含特殊字符#,DataTable的Compute方法在解析聚合函数时,无法识别未用方括号包裹的特殊字符列名,因此抛出语法错误。
只需将Compute方法中的聚合表达式修改为SUM([Total#]),用方括号把含特殊字符的列名包裹起来即可解决问题。
修复后的完整代码:
Dim decTotalNumber As Decimal Dim decPercentSales As Decimal Dim intRow As Integer If chkRewards.Checked = True Then intRow = 1 'member Else intRow = 0 'nonmember End If With BusinessAnalytics.Rows(intRow) .Item("Total#") += 1 ' 修复:用方括号包裹含特殊字符的列名 decTotalNumber = BusinessAnalytics.Compute("SUM([Total#])", Nothing) decPercentSales = Convert.ToDecimal(.Item("Total#")) / decTotalNumber .Item("%Total") = decPercentSales.ToString("P1") End With GridView3.DataSource = BusinessAnalytics GridView3.DataBind()
内容的提问来源于stack exchange,提问作者user20455580
相关产品推荐
相关产品推荐

