【问题标题】:How to add Values of multiple Select Cases如何添加多个选择案例的值
【发布时间】:2014-09-17 18:53:32
【问题描述】:

我有一个在数据库上运行存储过程的 vb.net 程序。构建数据集后,我正在扫描数据集中的表格以搜索特定信息。我使用 Select Case 语句来查找正确的信息。我遇到的问题是我无法弄清楚如何将我的结果显示为“总和”。我知道这是因为我使用的是“For Each”,但我不确定如何将“Result”分配给 ds.tables(0).Rows

代码:

For Each Result As DataRow In ds.Tables(0).Rows
            Select Case Result("Report")
                Case "TOTALS"
                    Select Case Result("Description")
                        Case "Coupons", "Coupons Tax-Free", "GC"
                            MsgBox(Result("netAmt"))
                    End Select

            End Select
        Next

按照编码,我收到 3 个消息框。第一个:

"15"

第二个:

"10"

第三个:

"5"

我希望看到找到的所有 3 个的总和:

"30"

如何检索这些的总和,请记住,在某些情况下,这 3 个中的一个可能会返回为 0

【问题讨论】:

  • 既然是在 VB.NET 中做的,为什么不自己总结数字呢?
  • ds.Tables(0) 来自哪里?如果是数据库,最好让DB引擎做聚合。
  • 这是一个数据表。我最终将使用它来提取 10 条不同的信息。如果我让数据库引擎进行聚合,我将不得不使用相同的存储过程编写 10 个不同的查询。

标签: sql vb.net


【解决方案1】:

您需要一个额外的变量来存储总和,例如:

Dim numberOfStudents As Integer = 0

然后将其添加到当前总和中,而不是显示当前净金额:

sum = sum + FoundRow("netAmt")

为了简化,我假设FoundRow 返回一个数字。但是,如果它返回例如一个字符串,您将必须按以下方式解析它:Integer.Parse(FoundRow("netAmt"))

最后,在for each循环之后,显示结果:

MsgBox(sum)

【讨论】:

  • 这很棒。我用了你的 SUM 想法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-29
  • 2012-12-07
  • 2014-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多