SQL Server更新DateTime类型为空

本文关键字:类型 DateTime Server 更新 SQL | 更新日期: 2023-09-27 18:18:00

今天是星期五,我的脑子一定是出问题了。

我试图更新类型的列DateTime与好ol' OleDb,更新总是运行(改变其他列值在同一行),但由于某种原因,DateTime列拒绝设置为null。

列允许为空

我正在使用OleDbParameter构造函数为我的命令添加一个新参数,如果值为null,它可能是拒绝运行的参数?

我试过SqlDateTime。空,DbNull。Value和null作为参数,但没有将值设置为null,它保持不变或将其设置为我们心爱的1900-00-01。

任何提示和技巧都是赞赏的

SQL Server更新DateTime类型为空

你想使用DBNull。值

就像前面的注释一样你可以写DateTime? myDate = null;

问题是,除非您采取特定的操作,否则DateTime将被表示为DateTime. minvalue。所以如果你想在DB中得到一个null,你需要测试这个值,如果是MinValue,则发送DBNull。

我们实际上使用一个方法来获取date time的值,如果date是minvalue则为null:

function object DateToDB(DateTime testDate) 
{
    if (testDate == DateTime.MinValue)
    {
        return DBNull.Value;
    } else 
    {
        return testDate;
    }
}
相关文章: