将TimeSpan的值保存为00:00:00到数据库 - 看作NULL

时间:2011-12-06 02:32:02

标签: vb.net tsql

我正在尝试将一个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)

1 个答案:

答案 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)