gpt4 book ai didi

asp.net - 将参数中的 NULL 传递给存储过程中的 DateTime 字段

转载 作者:行者123 更新时间:2023-12-04 01:26:21 25 4
gpt4 key购买 nike

我有一个存储过程,它使用我提供的参数更新数据库,但我无法将 NULL 传递给存储过程

我需要使 NULL 的字段是 DateTime 字段

DB.Parameters.AddWithValue("@date", NULL)

这给了我错误

'NULL' is not declared. 'Null' constant is no longer supported; use 'System.DBNull' instead



所以我试过了
DB.Parameters.AddWithValue("@date", DBNull.Value.ToString())

但这会产生值 1900-01-01 00:00:00.000在列中传递 ""到现场

我也试过
DB.Parameters.AddWithValue("@date", DBNull.Value)

但它会产生这个错误

Value of type 'System.DBNull' cannot be converted to 'String'.



有人有任何想法吗?

最佳答案

或者你可以像这样添加你的参数,如果你的变量为空,它会在数据库中给它一个空值:

DB.Parameters.AddWithValue("@date", myDateTime ?? (object)DBNull.Value);

您需要将其设置为 Amit 提到的可为空类型。

更多详情和背景可在 http://evonet.com.au/overview-of-c-nullable-types/ 获得

关于asp.net - 将参数中的 NULL 传递给存储过程中的 DateTime 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5182032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com