Я использую datetime2
как тип данных для checkIn
и checkOut
. Раньше я могу добавить в базу данных с этим кодом.Вставить datetime2 в базу данных
//value for checkIn = 12/25/2015 2:00:00 PM
checkIn = DateTime.ParseExact(Session["checkInDate"].ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture).AddHours(14);
//value for checkOut = 12/26/2015 12:00:00 PM
checkOut = DateTime.ParseExact(Session["checkOutDate"].ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture).AddHours(12);
strInsert = "INSERT INTO Reservation (checkInDate, checkOutDate) VALUES (@checkInDate, @checkOutDate)";
cmdInsert = new SqlCommand(strInsert, conn);
cmdInsert.Parameters.AddWithValue("@checkInDate", checkIn);
cmdInsert.Parameters.AddWithValue("@checkOutDate", checkOut);
Но теперь это не сработает, и я получаю эту ошибку;
«Конверсия не удалась при преобразовании даты и/или времени с символа строка».
Я думаю, что ошибка вызвана значением проверки, которое содержит «PM» и «AM», но это странно, потому что ранее я могу добавить это в базу данных.
Кто-нибудь знает, как это исправить?
Вы действительно уверены, что оба столбца 'datetime2'? В таком случае «AddWithValue» _might_ может создать проблему. Вы когда-нибудь пробовали его с помощью «Добавить» и указали свой тип параметра? –
Вы отправили бы значения из ваших дат до исключения? – Moe
Tagged MySQL, но datetime2 является SQL Server? –