从数据库中填充datetimepicker中的值

时间:2009-11-02 14:46:24

标签: vb.net

使用VB.NET

我想在数据库中显示datetimepicker中的日期。

代码。

cmd= new sqlcommand("select date from table1", con)
dr = cmd.executereader
while dr.read()
datetimepicker1.value.add(dr("Date"))
end while 
dr.close

但它显示错误,因为指定演员表无效

如何获得价值?

需要vb.net代码帮助

2 个答案:

答案 0 :(得分:1)

您可以将值转换为DateTime,问题是dr(“Date”)是一个字符串,并且在您的代码中,您创建的字符串值等于DateTime,这是您看到的错误。试试

datetimepicker1.value.add(DirectCast(dr(“Date”),DateTime))

这应该将字符串值强制转换为DateTime值。您可能想要添加到代码中的一件事是检查以确保dr(“Date”)的值实际上是日期而不是其他值类型。

希望这有帮助!

答案 1 :(得分:1)

DateTime.Add没有按照您的想法执行。它将TimeSpan(不是日期)添加到现有日期。在你的情况下,你有一个日期,而不是一个时间跨度,并希望在datimepicker上设置它,而不是添加一段时间。

你应该这样做:

datetimepicker1.Value = dr("Date")

如果dr(“Date”)的类型为Object,则需要将其显式转换为Date对象,如下所示:

datetimepicker1.Value = CDate(dr("Date"))