Я в недоумении, я не понимаю, почему процедура не получает этот параметр ...
Процедура (procInfoColor
):
ALTER PROCEDURE [dbo].[procInfoColor]
(@ID int)
AS
BEGIN
SELECT Id, Code, [Description], IsActive FROM tblColor WHERE Id = @ID
END
VB.Сетевой код:
Public Function infoColor(ID As Integer) As List(Of Colors) Implements iMaintenance.infoColor
Dim p = New DynamicParameters()
p.Add("@ID", ID, DbType.Int32)
Try
Return DbConn.Query(Of Colors)("procInfoColor", p, Nothing, 60, CommandType.StoredProcedure).ToList()
Catch ex As Exception
End Try
End Function
Команда SQL Trace (текстовые данные) - Команда генерируется вызовом процедуры VB.NET:
exec sp_executesql N'procInfoColor',N'@ID int',@ID=9
Ошибка:
Сообщение 201, Уровень 16, Состояние 4, Процедура procInfoColor, Строка 2 Процедура или функция procInfoColor ожидает параметр @ID, который не был предоставлен.
Я могуВыполните это очень хорошо при выполнении процедуры с помощью правого щелчка, но когда я вызываю процедуру из моего приложения VB.Net, я получаю это сообщение об ошибке, сообщающее, что @ID
не предоставляется.Я проверил трассировку SQL, и она точно выглядит так, как будто она мне предоставляется?
Любая помощь будет полезна.