检索数据集中列的最新值或最后一个值

时间:2017-01-19 14:47:34

标签: vb.net dataset

下面的代码给出了第一行..但我需要更新最新或最后一行。请帮忙

 Dim dt As DateTime = ds.Tables(0).Rows(0)("Columnname")

2 个答案:

答案 0 :(得分:2)

您可以使用Rows.Count属性,如其他答案所示,或者只是让Linq

Dim row = ds.Tables(0).AsEnumerable().Last()
Dim dt As DateTime = row.Field(Of DateTime)("ColumnName")

当然这适用于表格的最后一行。这并不意味着" ColumnName"的最后一个(更近期的)值。如果这是你的意图那么你需要"排序"数据表或更好地询问行的源(数据库?)以对其进行排序。

如果您无法更改数据加载查询以使其直接从数据库引擎中排序,那么您可以(在代码中)到达#34; ColumnName"使用这样的东西

' Create a dataview from the datatable, with no filter and ordered by ColumnName
Dim dv As DataView = New DataView(ds.Tables(0), "", "ColumnName ASC", DataViewRowState.CurrentRows)
dt = dv.Cast(Of DataRowView).Last().Row.Field(Of DateTime)("Column")

答案 1 :(得分:1)

您必须使用ds.Tables(x).Rows.Count-1

Dim dt As DateTime = ds.Tables(0).Rows(ds.Tables(0).Rows.Count - 1)("Columnname")