0

我有一个客户端应用程序,它将每五分钟更新一次数据库的当前时间,然后我想将此时间输出为单独的 VB 应用程序中的最后一个活动表。

我知道 mysql 时间,但我不太明白如何使用它来显示客户端上次活动的时间。

我环顾四周,发现了一些关于 mysql 时代的东西,但我并不完全理解。

任何帮助都会很棒,如果有帮助,我会将结果放在带有“客户端名称”和“上次活动”的 ListView 中,并且我已经知道如何连接到我的数据库并检索信息。

谢谢你。

4

1 回答 1

0

我建议使用DATETIME存储。TIME数据类型仅限于单个“一天中的时间”或时间跨度。诚然,您正在寻找一天中的时间,但要计算“上次活动”时间,您需要附加日期。考虑这些“上次活动”值(使用 24 小时制):

  • 3/26/2013 at 17:00:00<--这是最长的时间(下午 5 点),但是...
  • 3/27/2013 at 08:15:00<-- ...这是最近的时间,因为它发生在第二天

换句话说,您需要日期以便对时间进行排序。

MySQLDATETIME数据类型应该是VB.NET支持的,但是我从来没有同时使用过这两个,所以不能保证。要仅查询和报告日期的时间部分,您有很多选择。这里有两个:

  1. 从 MySQL 查询整个日期/时间并将其作为System.DateTime值返回给 VB.NET。在 VB.NET 中,您可以将其格式化DateTime.ToString为仅显示时间组件。MySQL 查询会是这样的:

    SELECT ClientName, MAX(LastActive) AS LastActiveDateTime
    FROM your_table
    GROUP BY ClientName
    
  2. 在 MySQL 中格式化时间并将其作为 a 返回String到 VB.NET。在 VB.NET 中,您只需要按原样显示字符串。MySQL 查询会是这样的:

    SELECT ClientName, DATE_FORMAT(MAX(LastActive), '%r') AS LastActiveTime
    FROM your_table
    GROUP BY ClientName
    

上述查询中的格式代码%r将以 12 小时格式返回时间,包括 AM/PM,例如07:55:29 PM. 要返回 24 小时格式 ( 19:55:29),请%T改用。

于 2013-03-28T00:16:42.457 回答