按列名称的数据行

时间:2014-03-17 13:42:30

标签: .net vb.net datatable datarow

我正在使用此代码:

Dim dr() As DataRow = datatable.Select("id='" & st)
For i = 0 To dr.GetUpperBound(0)
    result = dr(i)(2).ToString()
Next i

如何按列名而不是dr(i)(2)获取结果?因为如果我在前面的数据表中添加一列,那么我得到的数据不对,我应该使用dr(i)(3)。所以我想在未改变源代码的情况下克服这个问题。像dr(i)("column_name").ToString()

这样的东西

1 个答案:

答案 0 :(得分:8)

完全像你写的那样:

dr(i)("column_name").ToString()

MSDN参考:

对于其他类型的强类型值(例如,Integer,您可以使用Field(Of T)扩展名):

在你的情况下,

dr(i).Field(Of String)("column_name")