2

我正在尝试遍历具有多个约束值的数据表。如何保留第一个值并将与我的约束匹配的所有其他值加在一起。

For i = 0 To ds.Tables(0).Rows.Count - 1

            If ds.Tables(0).Rows(i).Item("TEND_POS_ID") = 8 Then

              'This only returns the last value  
              'Value 1 = 2
              'Value 2 = 7.5
              'should = 9.5 but it is showing 7.5                  

             tmpCoupon = ds.Tables(0).Rows(i).Item("TENDER_AMT")
            End If
        Next
        txtCoupon.Text = tmpCoupon
4

1 回答 1

2

如果我正确理解您的问题,您需要添加TENDER_AMT值 inTEND_POS_ID为 8 的值。如果是这种情况,您可以使用DataTable的Select方法

 Dim rows = ds.Tables(0).Select("TEND_POS_ID = 8")
 for each r in rows
    tmpCoupon += Convert.ToDecimal(r("TENDER_AMD"))
 Next

但是,请记住,这种工作(按另一列对列进行 SUM)通常可以通过您提交到数据库的查询来更好地解决。像这样的东西:

SELECT TEND_POS_ID, SUM(TENDER_AMD) FROM Table1 GROUP BY TEND_POS_ID
于 2013-05-01T18:40:23.713 回答