Вот подпись хранимого процесса:
ALTER PROCEDURE [set_info]
@idFile_id int,
@p_timestamp datetime
...
В моем коде на C # есть объявление параметра:
command.Parameters.Add(new SqlParameter("@p_time_stamp", SqlDbType.DateTime));
command.Parameters["@p_time_stamp"].Value = report.TimeStamp;
Возникло исключение SQL: «Ошибкапреобразование типа данных nvarchar в datetime. "
SqlValue параметра команды:" 23jan12 "
Так что я думаю, это потому, что в дате SqlValue есть альфа-символы.
1 ° / Как решить эту проблему?
2 ° / Я не знаю, почему передача одного типа параметров небезопасна для некоторых типов и безопасна для некоторых других типов.
РЕДАКТИРОВАТЬ:
report.TimeStamp не является переменной типа String
, а DateTime
EDIT 2:
Iнаконец-то нашел ошибку, которая была человеческой ошибкой :( проблема была не в этом параметре, который работал правильно ... Извините, что потерял ваше время ...