C# 将时间戳(Datetime.ticks)从数据库转换为Datetime值,然后在DataGridView中显示

C# 将时间戳(Datetime.ticks)从数据库转换为Datetime值,然后在DataGridView中显示,c#,winforms,datagridview,sql-server-ce,C#,Winforms,Datagridview,Sql Server Ce,我在winform应用程序中使用SQL server compact edition作为后端 我的一个表中有一列时间戳。我将时间戳存储如下: DateTime dt = System.DateTime.Now; long timestamp = dt.Ticks; 它将表示当前日期和时间的长值存储到数据库中 我想通过设置表的DataSource属性,在DataGridView控件中显示表的数据 当我使用SQL查询“从我的表中选择*并附加到DataSource”检索表数据时,它只是将时间戳显示为

我在winform应用程序中使用SQL server compact edition作为后端

我的一个表中有一列时间戳。我将时间戳存储如下:

DateTime dt = System.DateTime.Now;
long timestamp = dt.Ticks;
它将表示当前日期和时间的长值存储到数据库中

我想通过设置表的DataSource属性,在DataGridView控件中显示表的数据

当我使用SQL查询“从我的表中选择*并附加到DataSource”检索表数据时,它只是将时间戳显示为一个长值

我的问题是: 在DataGridView中显示时间戳之前,如何将时间戳转换回dd-mm-yyyy格式的日期时间值?

如何

Datetime dt = new DateTime(longvaluefromdatabase);
将DateTime结构的新实例初始化为指定的刻度数


阅读

如果使用datatable,可以执行以下操作:

resultDataTable.Columns.Add(new DataColumn("DateTime", typeof(DateTime)));
foreach (DataRow r in dt.Rows)
{
    r["DateTime"] = new DateTime(Convert.ToInt32(r["Timestamp"]);
}
dt.Columns.Remove("Timestamp");

选中此项可将sqlceresultset.resultview转换为datatable:

我同意,这将把long值转换为datetime值。但我将如何在DatagridView中反映这一变化?您能举一个例子,如何将数据绑定到DatagridView吗?您使用什么作为数据源?只是datatable?我执行了SqlCeCommand,并将SqlCeResultSet附加到DataGridView的DataSource属性。