【发布时间】:2016-11-03 20:34:41
【问题描述】:
遇到了一个小问题——我有一个函数可以将 DATE 作为字符串传递。然后这个日期作为参数传递给我验证它的存储过程,无论它是否有效,它都会返回一个值 (0,1)。这是代码方面发生的事情......
If CheckDateSP(mskAppointment.Text) Then
'Great now lets use this date
else
msgbox "Invalid date, re-enter please"
End if
将其传递给函数.....
Public Function CheckDateSP(ByVal CheckThisDate As String) As Boolean
'Setting Connection strings and all the good stuff
'here's where it gives me an error
Dim vDate As DateTime = CheckThisDate <----HERE is the error
End Function
现在这里是有趣的部分 - 如果我输入一个日期,例如...,我只会得到一个错误。
2016 年 13 月 13 日
如果我输入这样的日期,一切都会很好......
2017 年 12 月 12 日,2014 年 10 月 10 日
或任何其他日期,只要月份小于 13
我得到的错误是......
从字符串 '13/13/2016' 转换为日期类型的错误无效。
【问题讨论】:
-
13/13 ?????????
-
然后使用 DateTime.TryParse 避免异常
-
@Steve 也许是阴历
-
确保您使用的是正确的日期格式,例如,如果格式为 mdy (mm/dd/yyyy),那么您的日期将无效并且会报错。
-
您可以使用以下方法更改 sql 中的日期格式:“set dateformat dmy”语句用于 dd/MM/yyyy 格式或“set dateformat mdy”用于 MM/dd/yyyy 格式。
标签: sql-server vb.net validation date