【问题标题】:How to retrieve values from the last row in a DataTable?如何从 DataTable 中的最后一行检索值?
【发布时间】:2013-09-02 22:29:21
【问题描述】:

我在从数据表中最后插入的行中检索值时遇到问题。我有一个登录表单,这些值将插入到具有 ID(int,自动递增值)、userID(int)、logintime(smalldatetime)和 logouttime(smalldatetime)的表中。用于登录按钮内部的代码,因此插入了除注销时间之外的所有值

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

在注销按钮中我正在更新表格,所以我必须检索最后一行的值。我正在参考 ID 值和用户 ID 更新表。 我可以使用此查询获取值吗?但我不知道怎么做?

SELECT COLUMN FROM TABLE ORDER BY COLUMN DESC

提前致谢

【问题讨论】:

  • 那么,在一个用户登录后,直到前一个用户退出,就没有更多的登录了?
  • 您的问题我们不清楚...请通俗易懂
  • @steve。其他用户可以登录。bt 一旦用户登录我立即想要获取该行的值。这样我就可以将相同的值传递给更新查询

标签: c# asp.net sql datatable datarow


【解决方案1】:

如果你必须读取最后一行的值,那么

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

将返回最后一行。你可以从中读取值。

我的第二个猜测是,通过 datatable 您指的是 sql server 中的表。

然后稍作修改,您的查询也可以。

SELECT TOP 1 COLUMN FROM TABLE ORDER BY COLUMN DESC

【讨论】:

  • 然而,当我更新数据库时,我收到此错误:SqlDateTime 溢出。必须在 1753 年 1 月 1 日凌晨 12:00:00 到 9999 年 12 月 31 日晚上 11:59:59 之间。
  • 这意味着您的日期时间对象正在获取最小值
【解决方案2】:
var dt = new DataTable();
dt.AsEnumerable().Last();

dt.AsEnumerable() 返回一个IEnumerable<DataRow>

【讨论】:

    【解决方案3】:

    您可以从会话中获取值,然后根据您的更改更新数据库

    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 ;
    

    【讨论】:

    • 然而,当我更新数据库时,我收到此错误:SqlDateTime 溢出。必须在 1753 年 1 月 1 日凌晨 12:00:00 到 9999 年 12 月 31 日晚上 11:59:59 之间。
    • 你在 sqlserver 中的数据类型是什么? datetime 、 datetime 2 或 smalldatetime。您需要分配为相应的值
    • 让我们检查stackoverflow.com/questions/11829070/…你会得到答案:)
    • 您是否将 DateTime.Now 转换为小日期时间 Cindrella ??
    【解决方案4】:

    对应用程序退出事件执行以下查询,这将完成您的工作

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      相关资源
      最近更新 更多