2013-03-27 53 views
0

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

我知道mysql时间,但我不太了解如何使用它来显示客户端最后一次活动的时间。

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

任何帮助都会很棒,我会把结果放在一个带有'Client Name'和'Last Active'的ListView中,如果这有帮助的话,我已经知道如何连接到我的数据库和检索信息。

谢谢。

回答

0

我推荐使用DATETIME进行存储。数据类型仅限于单个“每日时间”或时间范围。诚然,你正在寻找一天的时间,但要计算“最后活跃”时间,你需要附上日期。考虑到这些 “上次活动” 的值(使用24小时制):

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

换句话说,你需要的日期,所以你可以排序的时间。

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

  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和恢复它作为一个String到VB.NET。在VB.NET中,你只需要按原样显示字符串。 MySQL查询会去是这样的:

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

在上面的查询格式代码%r将返回时间与AM/PM 12小时格式,例如07:55:29 PM。要返回24小时制(19:55:29),请改为使用%T

+0

嗨,对于迟到的回复抱歉。我以什么形式将当前时间保存到数据库? – Codemunkie 2013-05-10 13:20:23

+0

不用担心。我不确定你是什么意思。如果你想从VB.NET指定当前的日期和时间,它就是'DateTime.Now'属性。至于通常使用VB.NET和MySQL,有很多教程,但其中大多数由于某种原因显示如何连接,这就是全部。有一个[这里](http://zetcode.com/db/mysqlvb/) - 寻找文本“插入一个新的作者”以了解事物的核心。你会使用'cmd.Parameters。AddWithValue'方法来设置你的日期,第一个参数是语句的参数名,第二个参数是DateTime.Now。 – 2013-05-10 14:23:00

+0

DateTime.Now是我正在寻找的,我会给这个尝试谢谢:) – Codemunkie 2013-05-12 01:37:06