sql-server – 如何将Null日期变量传递给SQL Server数据库

前端之家收集整理的这篇文章主要介绍了sql-server – 如何将Null日期变量传递给SQL Server数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找最佳实践,真正的解决方案,当日期未知时,将Null发送到sql Server 2008 R2数据库表.

我从formview中读取了一些输入,并且日期字段可能未知.数据库允许字段中的Null值,但VB在参数化查询更新之前存储Null不起作用/逃避我.

Dim tb2 As TextBox = TryCast(FormView1.FindControl("tbPurchDate"),TextBox)
    Dim purDT As Date
    If tb2.Text = "" Then
        IsDBNull(purDT)    ' Tried this along with other possible code
    Else
        purDT = Convert.ToDateTime(tb2.Text)
    End If

任何帮助将不胜感激.

解决方法

如果日期未知,请发送DbNull.Value作为参数的值:
If dateIsUnknown Then
    cmd.Parameters.Add(New sqlParameter _
                       With {.ParameterName = "@purDT",_
                             .sqlDbType = sqlDbType.Date,_
                             .Value = DBNull.Value})
Else
    cmd.Parameters.Add(New sqlParameter _
                       With {.ParameterName = "@purDT",_
                             .Value = theDateVariable})
End If

猜你在找的MsSQL相关文章