2012-05-29 46 views
0

我正在通過C#應用程序進行一些基本的SQL Lite數據庫工作。我遵循教程here,並具有基本工作沒有任何問題。但是,我正在使用的數據庫中有一些UNIX時間戳。我期待將這些轉換爲標準時間。通過簡單地將秒添加到UNIX開始時間(1970年1月1日),我再次完成了這一任務。SQL Lite數據類型 - C#

但是,我希望將這些數據轉換回dataGridView時出現問題。由於數據已經插入到網格視圖中,它已經將時間列清晰地轉換爲Int64(來自UNIX秒數值),但我試圖將DateTime值轉換回它,從而導致錯誤。

即使我在將數據轉換到dataGridView之前修改了數據,我仍然得到這個錯誤,這表明在幕後會有更多的事情發生。我會假設我查詢數據庫的方式也帶回了這種格式。

在此先感謝您的幫助!

+0

請資料寄給您使用選擇數據的查詢,以及如何在您有約束力dataGridView – Habib

+0

查詢完整的代碼 - 「String query =」select value1 \「Header1 \」,value2 \「Header2 \」,value3 \「Header3 \」,時間戳\「Time \」from Table「;' 'Messages = db.GetDataTable(query);' 'dataGridView1.DataSource = Messages;' –

回答

0

而是在C#轉換UNIX時間戳的,你可以使用SQLite DateTime Function,然後將其綁定到DataGridView

SELECT datetime(1092941466, 'unixepoch'); 
+0

嗨,我曾嘗試過這種方法,但它提出了一個不正確的同義詞稅收錯誤。這是我曾試過 - '「選擇日期時間(時間戳,'unixepoch')\」時間\「從表」;' –

+0

@BenCollins,我認爲你需要使用單引號不加倍與「時間」它應該是' string myquery = @「select datetime(timestamp,'unixepoch')'Time'from Table」;' – Habib

+0

時間是我給數據網格視圖的列名。時間戳是我拔出的數據庫中的字段。 –