【问题标题】:How can I access the rows in a certain column of a DataTable?如何访问 DataTable 的某一列中的行?
【发布时间】:2016-01-07 15:38:54
【问题描述】:

我需要在DataTable 的特定列中填充行。我有以下设置:

Dim Dt As DataTable = New DataTable()
Dim Da As SqlDataAdapter = New SqlDataAdapter()
Dt.Columns.Add("Column 0")
Dt.Columns.Add("Column 1")
Try
        SQLConn.ConOpen()
        Da.SelectCommand = SQLcmd_locCodes
        Da.Fill(Dt)
        SQLConn.ConClose()

    Catch ex As Exception
        SQLConn.ConClose()
    End Try

SqlDataAdapter 正在用数据库中的数据填充表。我需要能够将数据库中的数据存储到 DataTable 中的特定列中。这就是我正在尝试的(我正在用数据填充条形图,但您可以忽略该部分):

For i As Integer = 0 To Dt.Rows().Count - 1
        chart.Series("Series1").Points.AddY(Dt.Rows(i)("Column 0").ToString())
        chart.Series("Series1").Points(i).AxisLabel = Dt.Rows(i)("Column 0").ToString()        
Next

我知道我可能错误地执行了一些简单的任务。我是否要错误地访问特定行?任何帮助表示赞赏。

【问题讨论】:

  • 问题不清楚。究竟是什么不能按预期工作?
  • 某处是否有 SQL 查询?
  • 您可以根据自己的情况使用 .Where(!
  • 是的,在这之前的代码中有一个SQL查询。我很抱歉。发生以下两种情况之一:(1)我从数据库中获取的数据似乎没有进入 DataTable,或者(2)我正在错误地访问 DataTable 列。我知道这不是数据库问题;我已经排除了。
  • 不确定我是否理解...您是否尝试在数据表的特定行和列中更新 dat?或者您是否尝试将特定数据从数据库加载到数据表中?

标签: asp.net vb.net datatable


【解决方案1】:

您可以像这样迭代 DataTable 中的行:

For Each dr As DataRow in Dt.Rows
    chart.Series("Series1").Points.AddY(dr("Column 0").ToString())
    chart.Series("Series1").Points(i).AxisLabel = dr("Column 0").ToString())
Next

但是,你最好删除它:

Dt.Columns.Add("Column 0")
Dt.Columns.Add("Column 1")

只需让 DataAdapter 根据查询中指定的列名来命名列即可。

【讨论】:

    【解决方案2】:

    查看我昨天的问答(页面底部)

    Why I am getting System.Data.DataRowView” instead of real values from my Listbox in vb.net

    这可用于从选定列的各个行位置提取信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-17
      • 1970-01-01
      • 2021-09-10
      • 2016-02-07
      • 2020-02-09
      • 1970-01-01
      • 2022-01-22
      • 2017-07-15
      相关资源
      最近更新 更多