Ошибка - переполнение SqlDateTime. Должно быть между 01.01.1753 12:00:00 и 31.129999 11:59:59 - PullRequest
68 голосов
/ 22 января 2009

Я использовал этот фрагмент кода, который я написал, и он работает самым непонятным образом. Я хочу вставить строку в базу данных, которая включает в себя два столбца DateTime:

myrow.ApprovalDate = DateTime.Now
myrow.ProposedDate = DateTime.Now

И все же, когда я обновляю базу данных, я получаю эту ошибку:

Переполнение SqlDateTime. Должно быть между 01.01.1753 12:00:00 и 31.129999 11:59:59 вечера.

Я даже пытался скопировать вставленное значение из базы данных и жестко закодировать его в обновляемый объект:

// I copied this value from the DB
myrow.ApprovalDate =  Convert.ToDateTime("2008-12-24 00:00:00.000");

Все та же ошибка, странная часть в том, что описанная выше уловка сработала для первой вставки в БД, но не с этого момента. Есть идеи, что происходит?

Ответы [ 12 ]

0 голосов
/ 28 декабря 2012

Я вижу то же самое. Ошибка возникает не при вставке строки, а при обновлении. таблица, на которую я ссылаюсь, имеет два столбца DateTime, ни один из которых не может быть обнуляемым.

Я получил сценарий, чтобы получить строку и сразу же сохранить ее (без изменений данных). Get работает нормально, но обновление не удается.

Мы используем NHibernate 3.3.1.4000

0 голосов
/ 30 января 2011

Если вы используете NHibernate, убедитесь, что соответствующие свойства DateTime, которые могут иметь значение NULL, в отображениях установлены на Nullable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...