Параметр sp_executesql не распознан - PullRequest
0 голосов
/ 30 мая 2019

У меня есть сохраненная процедура

CREATE PROCEDURE dbo.Employee_GetEmployeeByID
    @employeeID int 
AS
    select EM.EmployeeID,EM.FullName, GM.Gender,EM.PhoneNumber
    from EmployeesMaster EM
    JOIN GenderMaster GM ON EM.GenderID = GM.GenderID
    where (EM.EmployeeID = @employeeID )

Я пытаюсь выполнить (сгенерированный кодом ado.net)

exec sp_executesql N'Employee_GetEmployeeByID',N'@employeeID int',@employeeID=7

Но я получаю сообщение об ошибке типа

Msg 201, Level 16, State 4, Procedure Employee_GetEmployeeByID, Line 0
Procedure or function 'Employee_GetEmployeeByID' expects parameter '@employeeID', which was not supplied.

Ответы [ 2 ]

0 голосов
/ 05 июня 2019

Попробуйте этот метод:

Синтаксис:

EXEC Procedure_Name Parameters

Пример:

DECLARE @empid int = 5
EXEC Employee_GetEmployeeByID @empid 
0 голосов
/ 30 мая 2019

Вы сначала объявили переменную?

DECLARE @employeeID int = 7 exec sp_executesql N'Employee_GetEmployeeByID',N'@employeeID int',@employeeID

...