データテーブルに最後に挿入された行から値を取得する際に問題が発生しています。ログインフォームがあり、値がテーブルに挿入されます。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
前もって感謝します
最後の行から値を読み取る必要がある場合
DataRow lastRow = yourTable.Rows[yourTable.Rows.Count-1];
最後の行が返されます。そして、そこから値を読み取ることができます。
私の2番目の推測は、データテーブルではSQLサーバーのテーブルを参照しているということです。
その後、少し変更するだけでクエリも適切になります。
SELECT TOP 1 COLUMN FROM TABLE ORDER BY COLUMN DESC
_var dt = new DataTable();
dt.AsEnumerable().Last();
_
dt.AsEnumerable()
は_IEnumerable<DataRow>
_を返します
セッションから値を取得し、変更に応じてデータベースを更新できます
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 ;
Application Exitイベントで次のクエリを実行します。これにより作業が行われます
string _query = string.Format("update top 1 SessionTable set LogOutTime = {0} where UserID = {1} order by ID desc", DateTime.Now, UserID);