DBNull.Value как необязательный параметр - PullRequest
3 голосов
/ 09 марта 2012

Возможно ли передать DBNull.Value в качестве необязательного параметра?Я пытался в C #

private void CallSP(string param0, string param2 = DBNull.Value)
{
}

Это дает ошибку.Мне нужно вызвать хранимую процедуру в этом методе, поэтому я передаю DBNull.Value.Являются ли 'DBNull.Value' и 'null' одинаковыми в SQL Server?Должен ли я передать «ноль» вместо «DBNull.Value» ???

1 Ответ

9 голосов
/ 09 марта 2012

DBNull.Value - это не строка, а не константа (необязательные значения параметров должны быть константами).Способ сделать это - установить значение по умолчанию null и обрабатывать null при добавлении параметра:

private void CallSP(string param0, string param2 = null)
{
    ...
    object value = (object)param2 ?? DBNull.Value;
    // ^^^ use value in the parameter
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...