Я получаю следующую ошибку при вызове хранимой процедуры из C #.
параметры определены в коде как:
if (repRIS.Length > 0)
command.Parameters.AddWithValue("@repRIS", repRIS);
else
command.Parameters.AddWithValue("@repRIS", DBNull.Value);
command.Parameters.Add("@invDt", OleDbType.Date).Value = invDate;
Я закомментировал все из хранимой процедуры и теперь имею только следующее:
ALTER PROCEDURE [dbo].[SearchDates]
-- Add the parameters for the stored procedure here
@invDt datetime,
@repRIS varchar(10) ,
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
select this, that, and, the, other from myTableName ird
where
ird.RIS = COALESCE(@repRIS, ird.RIS)
and ird.InventoryDate = @invDt
END
InventoryDate имеет тип DateTime в базе данных.
когда я запускаю SP из SQL MS, он дает результаты без проблем, однако при использовании приложения для его вызова я получаю следующее сообщение об ошибке
Ошибка преобразования типа данных nvarchar в datetime
Я заметил, что это начало происходить после того, как я переключился с SQLConnection на OLEDBConnection. Я еще не подтвердил это. (Мне пришлось переключиться, чтобы соответствовать тому, как остальная часть заявки была написана до меня)
UPDATE:
когда я помещаю значение 30.09.2008 в текстовое поле, оно передается в хранимую процедуру как: {9/30/2018 12:00:00 AM}
после преобразования в datetime (код выше)