Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在数据网格视图中将值从long转换为TimeSpan(带SQL Server的C)_C#_Sql Server_Object_Datagridview_Long Integer - Fatal编程技术网

C# 在数据网格视图中将值从long转换为TimeSpan(带SQL Server的C)

C# 在数据网格视图中将值从long转换为TimeSpan(带SQL Server的C),c#,sql-server,object,datagridview,long-integer,C#,Sql Server,Object,Datagridview,Long Integer,我在学校的项目上遇到了问题。我有一个SQL Server表,其中保存了以分钟表示的航班持续时间,并将其保存在bigint列中的ticks中 在这个程序中,我有一个datagridview,从SQL Server表中加载所有数据,现在我需要将flight duration列从ticks转换为类似HH:mm格式的时间,但我不知道如何实现这一点 我当前用于转换列的代码如下所示,但第三行给出了将“object”转换为“long”的错误信息 for (int i = 0; i < dgvTabla.

我在学校的项目上遇到了问题。我有一个SQL Server表,其中保存了以分钟表示的航班持续时间,并将其保存在bigint列中的ticks中

在这个程序中,我有一个datagridview,从SQL Server表中加载所有数据,现在我需要将flight duration列从ticks转换为类似HH:mm格式的时间,但我不知道如何实现这一点

我当前用于转换列的代码如下所示,但第三行给出了将“object”转换为“long”的错误信息

for (int i = 0; i < dgvTabla.RowCount; i++)
{
    var dt = new DateTime(dgvTabla[5, i].Value);
    string.Format("HH:mm", dt);
    dgvTabla[5, i].Value = dt;
}

有什么想法吗?谢谢

如果要在SQL Server端转换持续时间

范例

返回


您可以从Sql Server调用,并将其直接显示到网格。这样做会更容易。下面是一个例子

DECLARE @Time INT = 90
SELECT substring(CONVERT(char(8), DATEADD(MINUTE, @Time, ''), 108),0,6)

希望能有帮助。

我迟到了,但连约翰·卡佩莱蒂也回答了。
ID  duration    AsTime              AsString
1   600         10:00:00.0000000    10:00
2   1365        22:45:00.0000000    22:45
DECLARE @Time INT = 90
SELECT substring(CONVERT(char(8), DATEADD(MINUTE, @Time, ''), 108),0,6)