下面的代码给出了第一行..但我需要更新最新或最后一行。请帮忙
Dim dt As DateTime = ds.Tables(0).Rows(0)("Columnname")
答案 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")