【发布时间】:2010-03-03 23:40:41
【问题描述】:
我正在尝试将输入到 TextBox 中的日期解析为 DateTime 值,但在 TryParseExact 方法中不断出现异常。我想做的是:
DateTime.TryParseExact(tbAddDate.Text.Trim, "yyMMdd", New CultureInfo("sv-SE"), DateTimeStyles.None, row.Date)
这会引发 InvalidCastException,并显示消息“从 'DBNull' 类型转换为 'Date' 类型无效。”我意识到正在发生的事情是它试图将 row.Date 设置为 DBNull,这不是 DateTime 的有效值。我不明白它为什么要这样做,因为文档指出它应该设置为 MinValue 而不是 DBNull。
作为旁注,我知道我可以通过使用 DateTimePicker 解决很多这些问题,但客户觉得它们非常笨拙,因为无法直接使用键盘输入日期。
【问题讨论】:
-
我可以重现错误的唯一方法是将 row.Date 声明为 System.DbNull。那时代码甚至无法编译。你能提供多于一行的示例代码吗?查看更多上下文可能会有所帮助。