将时间戳(Datetime.ticks)从数据库转换为Datetime值,然后再在DataGridView中显示 [英] Convert timestamp(Datetime.ticks) from database to Datetime value before displaying it in DataGridView
问题描述
我的一个表中有一个列 timestamp 。我已经存储时间戳如下:
DateTime dt = System.DateTime.Now;
long timestamp = dt.Ticks;
它将一个代表当前日期和时间的长值存储到数据库中。
我想通过设置其 DataSource 属性来显示 DataGridView 控件中的表格数据。
当我使用SQL查询select * from my-table检索表数据,并附加到DataSource时,它只显示时间戳为长整数。
我的问题是:
在DataGridView中显示之前,如何将时间戳转换为dd-mm-yyyy格式的DateTime值?
如果您使用datatable,可以这样做:
resultDataTable.Columns.Add (新的DataColumn(DateTime,typeof(DateTime)));
foreach(dt.Rows中的DataRow r)
{
r [DateTime] = new DateTime(Convert.ToInt32(r [Timestamp]);
}
dt.Columns.Remove(Timestamp);
选中此选项将sqlceresultset.resultview转换为datatable:将SQLCEResultSet结果视图转换为datatable
I am using SQL server compact edition as the backend in my winform application.
I have a column timestamp in one of my tables. I have stored timestamp as follows :
DateTime dt = System.DateTime.Now;
long timestamp = dt.Ticks;
It stores a long value representing current date and time into the database.
I want to display table's data in a DataGridView control by setting its DataSource property.
When I retrieve table data using SQL query "select * from my-table" and attach to DataSource, it just displays timestamp as a long value.
My question is : How can I convert timestamp back to DateTime value in dd-mm-yyyy format before displaying it in the DataGridView?
If you using datatable, you can do this:
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");
Check this to convert sqlceresultset.resultview to datatable: Convert SQLCEResultSet resultview to datatable
这篇关于将时间戳(Datetime.ticks)从数据库转换为Datetime值,然后再在DataGridView中显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!