VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > VB.net教程 >
  • vb.net Linq实战


VB.net 提供了通过Linq对数据集进行合计非常方法,可以减少了与数据库的交互,提高系统性能,以下是sum示示例:

1、对字典对象的sum

dis.Sum(Function(a) a.Value) 'dis是Dictionary 当然也可以用

Mytb.Compute("Sum(USM_TOTAL_CASH_MONEY)", "")
  • 1

2、对datatable的单字段sum

(From row In tmptable Select row.Field(Of Decimal)("customer_ds")).Sum() '
tmptable是DataTable对象,customer_ds是合计字段
  • 1
  • 2

3、对DataTable的多字段sum

 Dim sumtable2 = From r In MyTb
               Group r By Key = New With {Key .Key = "合计"} Into g = Group
              Select New With {.key = Key,
                               .totalMoney = g.Sum(Function(x) IIf(IsDBNull(x("A1")), 0, x("A1"))),
                               .saleMoney = g.Sum(Function(x) IIf(IsDBNull(x("A2")), 0, x("A2"))),
                               .CaSh = g.Sum(Function(x) IIf(IsDBNull(x("A3")), 0, x("A3"))),
                               .CardPay = g.Sum(Function(x) IIf(IsDBNull(x("A4")), 0, x("A4"))),
                               .OtherPay = g.Sum(Function(x) IIf(IsDBNull(x("A5")), 0, x("A5"))),
                               .CkPay = g.Sum(Function(x) IIf(IsDBNull(x("A6")), 0, x("A6"))),
                               .DyqPay = g.Sum(Function(x) IIf(IsDBNull(x("A7")), 0, x("A7"))),
                               .Minus = g.Sum(Function(x) IIf(IsDBNull(x("A8")), 0, x("A8"))),
                               .orders = g.Sum(Function(x) IIf(IsDBNull(x("A9")), 0, x("A9"))),
                               .newCards = g.Sum(Function(x) IIf(IsDBNull(x("A10").ToString().Split("/")(0)), 0, x("A11").ToString().Split("/")(0))) & "/" &
                                           g.Sum(Function(x) IIf(IsDBNull(x("A11").ToString().Split("/")(1)), 0, x("A11).ToString().Split("/")(1))),
        .cardInNums = g.Sum(Function(x) IIf(IsDBNull(x("充卡张数/金额").ToString().Split("/")(0)), 0, x("充卡张数/金额").ToString().Split("/")(0))) & "/" &
                     g.Sum(Function(x) IIf(IsDBNull(x("充卡张数/金额").ToString().Split("/")(1)), 0, x("充卡张数/金额").ToString().Split("/")(1)))
                              }
相关教程