将数据库时间跨度值显示为数字更新控件

时间:2013-07-29 06:45:54

标签: vb.net

我将这样的numericupddown值保存到数据库

Dim value As Date = New Date(Now.Year, Now.Month, Now.Day, 0, NumericUpDown1.Value, 0)
Dim valueAsString As String = value.ToString("HH:mm:ss")

..它会保存00:05:00等数据。

我想将相应的数据提取到我的数字更新控件。 我正在使用我的数据读取器获取数据。然后我尝试提供这样的代码:

 NumericUpDown1.Value = Convert.ToDecimal(dr("Timeinterval")).ToString

但显示

error:Unable to cast object of type `System.TimeSpan` to type `System.IConvertible`.

如何向我的numericupdown控件显示相应的数据?

1 个答案:

答案 0 :(得分:0)

您正在尝试将00:05:00转换为小数,这显然是错误的。在保存到数据库之前,您已将updown控件中的值更改为HH:mm:ss格式。现在,您需要编写自定义逻辑,将00:05:00转换为((HH * 60) + mm + (ss / 60))之类的数字,然后才能将其转换回Decimal。