datatable vb.net 2010中的sum列
我试图获取我的datatable vb.net 2010中的sum列,vb.net,datatable,sum,Vb.net,Datatable,Sum,我试图获取我的数据表dt中的TotalAmount列的总和,但我总是得到以下错误: 对象引用未设置为对象的实例 我正在Visual Studio 2012中使用VB 代码如下: Dim table As DataTable = CartDataSet.Tables("dt") Dim result As Integer result = table.Compute("SUM(TotalAmount)", "") 您正在尝试取消引用空对象引用,这意味着表是空 这反过来意味着CartDataSet
数据表dt
中的TotalAmount
列的总和,但我总是得到以下错误:
对象引用未设置为对象的实例
我正在Visual Studio 2012中使用VB
代码如下:
Dim table As DataTable = CartDataSet.Tables("dt")
Dim result As Integer
result = table.Compute("SUM(TotalAmount)", "")
您正在尝试取消引用空对象引用,这意味着表
是空
这反过来意味着CartDataSet
不包含名为“dt”
的表,您正试图反引用空对象引用,这意味着表为空
这又意味着CartDataSet
不包含名为“dt”的表
- 表为空
- 表中没有记录
解决方案:
1-最好在计算前检查datatable状态,如
如果Not table为Nothing,并且table.Rows.Count>0,则
...
如果可能出现问题,则结束
- 表为空
- 表中没有记录
解决方案:
1-最好在计算前检查datatable状态,如
如果Not table为Nothing,并且table.Rows.Count>0,则
...
结束如果“.Compute”函数要工作,必须将变量“result”声明为“object”而不是“integer”。然后,您可以使用“convert.ToInt”将“result”中的值转换为整数
要使“.Compute”函数工作,必须将变量“result”声明为“object”,而不是“integer”。然后,您可以使用“convert.ToInt”将“result”中的值转换为整数
然后执行result.ToString(),您将获得输出
然后执行result.ToString(),您将获得输出您可以使用linq,如下所示
Dim result As Decimal = dt.AsEnumerable().Sum(Function(row) row.Field(Of Decimal)("TotalAmount"))
你可以像这样使用linq
Dim result As Decimal = dt.AsEnumerable().Sum(Function(row) row.Field(Of Decimal)("TotalAmount"))
Dim table As DataTable=CartDataSet.Tables(“dt”)
将结果设置为整数
结果=IIf(IsDBNull(dtable.Compute(“总和(TotalAmount)”),0,dtable.Compute(“总和(TotalAmount)”,”)Dim table As DataTable=CartDataSet.Tables(“dt”)
将结果设置为整数
result=IIf(IsDBNull(dtable.Compute(“SUM(TotalAmount)”,“”),0,dtable.Compute(“SUM(TotalAmount)”,“”)Couly请您解压代码而不是oj只需键入一些代码行
Dim result As Object
result = table.Compute("SUM(TotalAmount)", "")
Dim result As Decimal = dt.AsEnumerable().Sum(Function(row) row.Field(Of Decimal)("TotalAmount"))