2017-01-19 9 views
0

以下のコードは最初の行を示していますが、最新の行または最後の行を更新する必要があります。あなたは他の回答に示すようにRows.Countプロパティを使用するか、単にLINQのデータセット内の列の最新または最後の値を取得する

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

にそれをやらせることができますds.Tables(x).Rows.Count-1

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

のようなものを使用して「ColumnNameに」が注文した最新の行に達する可能性があります「最後」は、dbデータとは無関係な用語です。どのように格納されているのかわからないため、同じデータを別の順序で返すことができるWHERE句(またはその欠如)によって異なります。 Option Strictもオンにする必要があります。 – Plutonix

答えて

1

を助けてくださいこれはテーブルの最後の行で機能します。これは、 "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") 
+0

はい私はそれを..ありがとうたくさんありがとう:) – Sandy777

+0

@ Sandy777あなたの問題が解決したら、あなたの問題を解決するためにどのように管理したか、答えを受け入れることを忘れないでください。 – nbadaud

+0

Dim Date as DateTime = ds.Tables(0).Rows(ds.Tables(0).Rows.Count - 1)( "Columnname")この行は、最新の行を得るために正常に動作します。 – Sandy777

2

を使用する必要が

Dim dt As DateTime = ds.Tables(0).Rows(0)("Columnname") 
関連する問題