Попытка вставить DateTime.Now в поле Date / Time приводит к ошибке «Несоответствие типов данных»

Если я попытаюсь записать дату и время в запись в базе данных MS-Access простым способом, как это

cmd.CommandText = "INSERT INTO [table] ([date]) VALUES (?)";
cmd.Parameters.AddWithValue("?", DateTime.Now);

Я получаю исключение, говоря "Несоответствие типов данных в выражении критериев. "

Кто-нибудь может сказать мне, почему? Что здесь не так?

После небольшого эксперимента я обнаружил, что могу заставить его работать, если напишу

OleDbParameter parm = new OleDbParameter("?", OleDbType.Date);
parm.Value = DateTime.Now;
cmd.Parameters.Add(parm);

но делать это так кажется менее аккуратным, менее простым. Почему это необходимо? Я пропускаю что-то простое?

Ответы на вопрос(2)

Ваш ответ на вопрос