2013-03-27 51 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