尝试更新我的sql数据库时出现以下错误。
SqlDateTime over flow必须在1/1/1753 12:00:00 AM和之间 12-31-9999 11:59:59 PM
在SQL中,我的UP_DATE字段设置为datetime2(0)
以下是我的班级设置。我删除了一些信息来缩短这个问题。
Public Class Riders
Private m_RIDER_NO As Integer
Private m_UP_DATE As Date
Public Property UP_DATE() As Date
Get
Return m_UP_DATE
End Get
Set(ByVal value As Date)
m_UP_DATE = value
End Set
End Property
在我的更新功能代码中:
If IsDate(newRider.UP_DATE) Then
updateCommand.Parameters.AddWithValue("@NewUP_DATE", newRider.UP_DATE)
Else
updateCommand.Parameters.AddWithValue("@NewUP_DATE", DBNull.Value)
End If
现在,如果我将我的类更改为以下,它可以正常工作,因为STRING sql除了更新。
Private m_UP_DATE As String
Public Property UP_DATE() As String
Get
Return m_UP_DATE
End Get
Set(ByVal value As String)
m_UP_DATE = value
End Set
End Property
答案 0 :(得分:0)
对日期使用.NET字符串是一种很好的方法,可以避免Date
数据类型的默认日期问题。 SQL Server将接受它可以转换的任何数据类型,而不会导致数据丢失。将字符串转换为日期是没有问题的。