【问题标题】:Issue when retrieved date value is greater than 2030 from SQL to vb.net datetimepciker从 SQL 到 vb.net datetimepicker 检索到的日期值大于 2030 时的问题
【发布时间】:2017-10-12 09:45:36
【问题描述】:

使用sql 数据表以Vb.Net 形式将日期值从sql 检索到datetimepicker。对于 2030 年或以上的日期,datetime 选择器中的值显示为 1930。请帮忙解决这个问题。

获取值的代码:

dtpDate.Value = sqlDT.Rows(i)("StartDate").ToString

例如,

如果 sqlDT.Rows(i)("StartDate").ToString 的检索值为'10/30/2032' 然后 dtpDate 值显示为 '10/30/1932'。

此代码在 2030 year 之前的所有日期都可以正常工作。

【问题讨论】:

  • DataTimePicker.Value 的类型为 Date - 您可以尝试传递正确类型的实例 dtpDate.Value = sqlDT.Rows(i).Field(Of Date)("StartDate");
  • @Fabio 非常感谢您提供快速简单的解决方案。有效!我无法将其标记为答案,因为您已将其发布为评论。

标签: sql sql-server vb.net datetimepicker


【解决方案1】:

DataTimePicker.Value 的类型为 Date

你应该给出正确类型的值

dtpDate.Value = sqlDT.Rows(i).Field(Of Date)("StartDate")

在使用 vb.net 时,您应该在项目设置中将“Option Strict”设置设置为 On,或者在文件的第一行写入 Option Strict On 的本地文件。

在您使用Option Strict On 的情况下,您会收到编译错误“字符串无法转换为日期”,这可能会节省您的时间。

【讨论】:

  • 好的,谢谢:)
猜你喜欢
  • 2011-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多