如何从DataTable中的最后一行检索值
本文关键字:一行 检索 最后 DataTable | 更新日期: 2023-09-27 18:29:33
从Data表中最后插入的行检索值时遇到问题。我有一个登录表单,表中插入的值有ID(int,一个自动递增的值)、userID(int)、logintime(smalldatetime)和logouttime(small datetime)。用于登录按钮内部的代码,因此插入除注销时间之外的所有值
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];
将返回最后一排。并且您可以从中读取值。
我的第二个猜测是,通过datatable,您指的是sql server中的表。
然后,只要进行小的修改,您的查询也可以。
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 ;
在应用程序退出事件上执行以下查询,这将完成
string _query = string.Format("update top 1 SessionTable set LogOutTime = {0} where UserID = {1} order by ID desc", DateTime.Now, UserID);