Reputation: 1731
Is is possible to pass DBNull.Value as optional parameter? I tried in C#
private void CallSP(string param0, string param2 = DBNull.Value)
{
}
Its is giving error. I need to call a Stored procedure in this method, so i am passing DBNull.Value. Is'DBNull.Value' and 'null' are treated as same in SQL Server? Shall i pass 'null' instead of 'DBNull.Value'???
Upvotes: 3
Views: 1581
Reputation: 1062855
DBNull.Value
is not a string, and is not a constant (optional parameter values must be constants). The way to do this is to default it to regular null
, and handle the null
when adding the parameter:
private void CallSP(string param0, string param2 = null)
{
...
object value = (object)param2 ?? DBNull.Value;
// ^^^ use value in the parameter
...
}
Upvotes: 10