2012-05-29 48 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

时间是我给数据网格视图的列名。时间戳是我拔出的数据库中的字段。 –