У меня есть следующие методы, которые вставляют значения в БД из datatable
.
Значение моего столбца БД - DateTime2
, что было потенциальным решением этой проблемы. Но я все еще сталкивался с тем же исключением после реализации.
Ниже приведены мои фрагменты кода:
DataTable deliveryCart = GetCheckedDeliveryCart();
deliveryCartProvider.InsertDeliveryCart(deliveryCart); //exception was caught here
private DataTable GetCheckedDeliveryCart()
{
...
myDataColumn = new DataColumn();
myDataColumn.DataType = Type.GetType("System.DateTime");
myDataColumn.ColumnName = "CustomerRequestedDate";
deliveryCart.Columns.Add(myDataColumn);
...
}
public bool InsertDeliveryCart(DataTable deliveryCartDt)
{
...
deliveryCart.CustomerRequestedDeliveryDate = (DateTime)row.CustomerRequestedDeliveryDate;
...
}
Исключение:
System.Data.SqlTypes.SqlTypeException: переполнение SqlDateTime. Должно быть между 01.01.1753 12:00:00 и 31.129999 11:59:59 вечера. at System.Data.SqlClient.TdsParser.TdsExecuteRP C (SqlCommand cmd, _SqlRPC [] rpcArray, тайм-аут Int32, логическое inSchema, SqlNotificationRequesttificationRequest, SqlNotificationRequesttificationRequest , Int32 startRp c, Int32 startParam)
Полученное значение вывода было:
deliveryCart.CustomerRequestedDeliveryDate: 29.01.2020 16:23:53 PM