У меня есть таблица данных с 5 столбцами, где строка заполняется данными, а затем сохраняется в базе данных посредством транзакции.
При сохранении возвращается ошибка:
Преобразование типа данных datetime2 в тип данных datetime привело к значению вне допустимого диапазона
При чтении подразумевается, что моя таблица данных имеет тип DateTime2
а моя база данных - DateTime
; это не правильно.
Столбец даты имеет значение DateTime
например:
new DataColumn("myDate", Type.GetType("System.DateTime"))
Вопрос
Это может быть решено в коде или что-то должно быть изменено на уровне базы данных?
Какие у вас даты в колонке?
Все они вписываются в диапазон типа?
Кроме того, правильным способом получить объект Type
для конструктора DataColumn
является ключевое слово typeof
, которое на несколько порядков быстрее.
Поэтому, чтобы создать столбец, вы должны написать
new DataColumn("myDate", typeof(DateTime))
Это может произойти, если вы не присваиваете значение полю DateTime, когда поле не принимает значения NULL .
Это исправило это для меня!