Когда я пытаюсь вызвать процедуру хранилища и вернуть значение из процедуры, я получаю сообщение об ошибке - procedure has no parameters and arguments were supplied
Ниже приведен код c#:
using (SqlCommand command2 = new SqlCommand("getservername8", conn1))
{
command2.CommandType = CommandType.StoredProcedure;
command2.Parameters.Add("@s", SqlDbType.NVarChar, 500);
command2.Parameters["@s"].Direction = ParameterDirection.Output;
command2.ExecuteNonQuery();
string server = (string)command2.Parameters["@s"].Value;
}
Ниже приведена хранимая процедура:
GO
ALTER procedure [dbo].[getservername9]
@s varchar(50)
as begin
declare @server_name varchar(500)
select @server_name = short_description from [Event_alerts].[dbo].[event_alerts]
select @s= SUBSTRING(@server_name, CHARINDEX('-', @server_name) + 15, 50)
return @s
end
Сохраненная процедура выполняется без ошибок. Любая помощь будет принята с благодарностью