web-dev-qa-db-ja.com

DataTableの最後の行から値を取得する方法は?

データテーブルに最後に挿入された行から値を取得する際に問題が発生しています。ログインフォームがあり、値がテーブルに挿入されます。ID(int、自動インクリメント値)、userID(int)、logintime(smalldatetime)、logouttime(smalldatetime)があります。ログインボタン内で使用されるコード。このため、ログアウト時間を除くすべての値が挿入されます。

DateTime t1 = DateTime.Now;
objbal2.insertLoginTime(s, t1);

ログアウトボタンでテーブルを更新しているため、最後の行の値を取得する必要があります。 ID値とuserIDを参照してテーブルを更新しています。このクエリを使用して値を取得できますか?しかし、私はどのように理解できないのですか?

SELECT COLUMN FROM TABLE ORDER BY COLUMN DESC

前もって感謝します

12
Cindrella

最後の行から値を読み取る必要がある場合

DataRow lastRow = yourTable.Rows[yourTable.Rows.Count-1];

最後の行が返されます。そして、そこから値を読み取ることができます。

私の2番目の推測は、データテーブルではSQLサーバーのテーブルを参照しているということです。

その後、少し変更するだけでクエリも適切になります。

SELECT TOP 1 COLUMN FROM TABLE ORDER BY COLUMN DESC
30
Ehsan
_var dt = new DataTable();
dt.AsEnumerable().Last();
_

dt.AsEnumerable()は_IEnumerable<DataRow>_を返します

6
Sruti

セッションから値を取得し、変更に応じてデータベースを更新できます

DateTime t2 = DateTime.Now;

DataRow Row = Mylagin_dataTable.Rows.Count-1

Row[0]["LogoutTime"] = t2 ;

セッション内のIDの場合、以下を使用します

DateTime t2 = DateTime.Now;

DataRow Row = Mylagin_dataTable.Select("LoginID='"+ HttpContext.Current.Session["loginID"] + "'");

Row[0]["LogoutTime"] = t2 ;
1
MSTdev

Application Exitイベントで次のクエリを実行します。これにより作業が行われます

string _query = string.Format("update top 1 SessionTable set LogOutTime = {0} where UserID = {1} order by ID desc", DateTime.Now, UserID);

0
Ankush Madankar