代码之家  ›  专栏  ›  技术社区  ›  Lea Cohen mark winkle

用于多列的Datatable计算函数

  •  0
  • Lea Cohen mark winkle  · 技术社区  · 17 年前

    我想计算数据表中每列的非空值数。我可以循环遍历这些列,并在每一列上使用compute函数,但我想知道是否有更有效的方法来实现这一点。

    2 回复  |  直到 12 年前
        1
  •  1
  •   eglasius    17 年前

    您可以添加一个列,其中包含一个表达式,用于检查其余列是否为null,请参阅 http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression(VS.80).aspx 然后你可以在那列上计算。

        2
  •  1
  •   Cerebrus    17 年前

    我认为Compute函数在这种情况下非常合适。您可以使用类似于以下内容的代码:

    For Each col as DataColumn in myTable
      Dim aggExpr as string = string.format("Count{0}", col.ColumnName)
      Dim filterExpr as string = string.format("{0} IS NULL", col.ColumnName)
      Dim myCount as integer = CInt(myTable.Compute(aggExpr, filterExpr))
      Console.WriteLine(myCount)
    Next
    

    (在这里输入,注意语法)

    请注意,我说的是“类似于以下内容”。请添加适当的错误/空值检查。

    推荐文章