SQL データベースを更新しようとすると、次のエラーが発生します。
SqlDateTime オーバーフローは 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
- これが例外的かどうか、または後で問題が発生するかどうかは誰でも知っています。
- UP_DATE フィールドを VB で文字列に設定し、SQL で datetime2(0) として設定した場合、更新以外に SQL を使用するのはなぜですか。