Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以将 DBNull.Value 作为可选参数传递?我在 C# 中尝试过
private void CallSP(string param0, string param2 = DBNull.Value) { }
它给出了错误。我需要在这个方法中调用一个存储过程,所以我要传递 DBNull.Value。'DBNull.Value' 和 'null' 在 SQL Server 中是否被视为相同?我应该通过'null'而不是'DBNull.Value'吗?
DBNull.Value不是字符串,也不是常量(可选参数值必须是常量)。这样做的方法是将其默认为常规null,并null在添加参数时处理:
DBNull.Value
null
private void CallSP(string param0, string param2 = null) { ... object value = (object)param2 ?? DBNull.Value; // ^^^ use value in the parameter ... }