Я пытаюсь выполнить обновление базы данных с помощью хранимой процедуры с использованием ADO.NET.
По сути, я настраиваю все параметры и команды и задаю один из параметров, как показано ниже
DbParameter nm8 = provider.CreateParameter();
nm8.ParameterName = "@EDITDATE";
nm8.DbType = System.Data.DbType.DateTime;
nm8.Value = aObject.ADateTime;
command.Parameters.Add(nm8);
В хранимой процедуре входной параметр определен как
@EDITDATE datetime = null,
, и в основном то, что делает хранимый процесс, просто получает запись и обновляет ее с переданной EDITDATE.
, ноя получаю эту ошибку
Ошибка преобразования типа данных varchar в datetime.
и я обнаружил, что значение datetime передается в хранимую процедуру как-то так:следующее
2010-02-03 15:26:54.3100000
вместо
2010-02-03 15:26:54.310
, и я думаю, что именно это вызывает ошибку приведения.
, поэтому мой вопрос заключается в том, почему ado.net конвертирует дату и времяв этом формате?как я могу решить проблему, не передавая значение в виде строки.
спасибо большое.