使用vb.net 2010 pro更新sql数据库时出现日期错误
我在尝试更新sql数据库时遇到以下错误 SqlDateTime over flow必须介于1/1/1753 12:00:00 AM和 12-31-9999晚上11:59:59 在SQL中,我将“最新”字段设置为使用vb.net 2010 pro更新sql数据库时出现日期错误,vb.net,Vb.net,我在尝试更新sql数据库时遇到以下错误 SqlDateTime over flow必须介于1/1/1753 12:00:00 AM和 12-31-9999晚上11:59:59 在SQL中,我将“最新”字段设置为datetime2(0) 下面是我的课程设置。我删除了一些信息来缩短这个问题 Public Class Riders Private m_RIDER_NO As Integer Private m_UP_DATE As Date Public Property UP_DATE() As
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
现在,如果我将我的类更改为下面的,那么它可以正常工作,因为字符串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
使用.NET字符串表示日期是一种很好的方法,可以避免
date
数据类型的默认日期问题。SQL Server将接受它可以转换的任何数据类型,而不会导致数据丢失。将字符串转换为日期没有问题