Установите пустую переменную DateTime - PullRequest
45 голосов
/ 02 апреля 2012

Я бы объявил пустую строковую переменную следующим образом:

    string myString = string.Empty;

Есть ли эквивалент для переменной 'DateTime'?

Обновление:

Проблема в том,Я использую этот DateTime в качестве параметра для StoredProcedure в SQL.Например:

    DateTime? someDate = null;
    myCommand.Parameters.AddWithValue("@SurgeryDate", someDate);

Когда я запускаю этот код, возникает исключение, сообщающее мне, что StoredProcedure ожидает параметр @SurgeryDate.Но я обеспечил это.Есть идеи почему?

Ответы [ 11 ]

0 голосов
/ 02 апреля 2018

.addwithvalue нуждается в dbnull. Вы могли бы сделать что-то вроде этого:

DateTime? someDate = null;
//...
if (someDate == null)
    myCommand.Parameters.AddWithValue("@SurgeryDate", DBnull.value);

или используйте расширение метода ...

  public static class Extensions
    {
        public static SqlParameter AddWithNullValue(this SqlParameterCollection collection, string parameterName, object value)
        {
            if (value == null)
                return collection.AddWithValue(parameterName, DBNull.Value);
            else
                return collection.AddWithValue(parameterName, value);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...