2017-02-20 92 views
0

我想输入一个使用Visual Basic的飞机的小时数到Mysql数据库中。插入小时数mysql数据库

例如:

  • 机型X具有3158:25小时

这意味着它具有3158小时25分钟

在我的数据库中,我宣称Number of HoursTime(格式)。

的问题是,Visual Studio中返回以下错误:

Incorrect time value: '3425:25' for column 'NbreHours' at row 1

+2

这超出了TIME数据类型的允许范围。查看手册:https://dev.mysql.com/doc/refman/5.7/en/time.html。你可能会更好地计算总分钟数(或秒,如果你需要详细程度)并将其存储为数字。当你想显示它时,你总是可以再次将它转换回来。 – ADyson

+1

请考虑选择正确的答案。 – user3378165

回答

1

3425:25不是一个正确的Time格式,更改NbreHours列的格式nvarchar(10),这将解决您的问题。


的有意义的方式保存在hh:mm格式的时间来计算您记录的总分钟,然后在数据库中保存为int

首先和你的记录的总分钟数:

string time = "3158:25:00"; 
double minutes= TimeSpan.Parse(time).TotalMinutes; 

然后在数据库中保存minutes变量作为int

+0

如果我这样做,如何将它转换为小时:分钟 –

+1

我不确定nvarchar是存储*小时*的最佳类型 –

+0

@ S.ElBahloul您的意思是当您从数据库中提取数据时,你把它转换回'hours:minutes'? – user3378165