从 SQL 到 vb.net datetimepicker 检索到的日期值大于 2030 时出现问题

Issue when retrieved date value is greater than 2030 from SQL to vb.net datetimepciker

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

检索值的代码:

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

例如,

If retrieved value of sqlDT.Rows(i)("StartDate").ToString is'10/30/2032' then dtpDate value is displayed as '10/30/1932'.

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

DataTimePicker.ValueDate 类型。

你应该给出正确类型的值

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

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

在您使用 Option Strict On 的情况下,您会遇到编译错误 "String can not be converted to Date",这可能会节省您的时间。