我正在尝试将一个TimeSpan变量从VB保存到SQL数据库中,保存到非空列中。
它适用于其他值,但是当我尝试保存00:00:00时,我被告知我无法将NULL保存到非空列中...
有没有办法让它实际保存它而不是认为它是NULL?
干杯
注意:此代码是类中的方法,它具有以下属性:
Private mCommand As New SqlCommand
Dim Param As New SqlParameter
Param.ParameterName = "@" + ParameterName
Param.SqlDbType = SqlDbType.VarChar
If Value Is Nothing Then
Param.Value = DBNull.Value
Else
Param.Value = Value
End If
Param.Size = Size
Param.Direction = Direction
mCommand.Parameters.Add(Param)
答案 0 :(得分:0)
看起来无法区分00:00:00是否实际上是值,还是应该被视为Nothing。
因此我删除了上面发布的代码中的Nothing检查,并将其保留为
Dim Param As New SqlParameter
Param.ParameterName = "@" + ParameterName
Param.SqlDbType = SqlDbType.VarChar
Param.Value = Value
Param.Size = Size
Param.Direction = Direction
mCommand.Parameters.Add(Param)