【发布时间】:2014-04-25 01:42:44
【问题描述】:
我刚刚读出了非常好的答案,使用
将 null 保存到数据库列中string.IsNullOrWhiteSpace(textbox.tex) ? (object)textbox.text: DBNull.Value;
或使用
cmd.Parameters.AddWithValue("foo",
foo == null ? (object)DBNull.Value : (object)foo);
我也和其他人一起尝试过,但它不适合我,因为我不是 C# 语言专家,但我必须要将 null 保存到我的 SQL Server 数据库列中。
这是我的代码,我试图保存空值,但它发送空字符串,这不是我的要求。
oCourseRegistrationPaypal.UserTheoryTrainingDate4 = Convert.ToString(DBNull.Value);
所以当我写的时候
oCourseRegistrationPaypal.UserTheoryTrainingDate4 = null;
它给了我一个错误,我的程序需要没有提供的参数,但我知道我已经提供了 null 给它。
当我写作时
oCourseRegistrationPaypal.UserTheoryTrainingDate4=Convert.ToString(DBNull.Value);
它将空字符串保存在我的数据库列中,但我需要一个 null 值。
当我在存储过程中手动保存 null 值时,它接受 null 并保存 null 但为什么不接受
oCourseRegistrationPaypal.UserTheoryTrainingDate4 = null;
来自我的 C# 代码?
有没有更好的方法来做到这一点?
【问题讨论】:
-
oCourseRegistrationPaypal 到底是什么?
-
不要将
DBNull.Value转换为对象。直接保存。 -
@attila 它是我的自定义类型层的对象,我想在这个对象中存储 null,然后我把这个对象传递给我写下保存过程的数据访问层。
标签: c# sql-server sqlcommand