Ответ 1
Измените тип команды на Процедуру
Взволновал меня с личным проектом; Я знаю, что делал это раньше, но в другом месте и не имею кода. Насколько я могу судить, я устанавливаю параметр, я устанавливаю его значение, соединение открыто, но когда я пытаюсь заполнить набор данных, я получаю сообщение об ошибке "Процедура или функция ожидает параметр" @test ", который был не поставляется'.
(Это, очевидно, упрощенный тест! То же самое можно сказать об этом или в реальном, а более длинном коде.)
С#:
SqlCommand l_oCmd;
DataSet l_oPage = new DataSet();
l_oCmd = new SqlCommand("usp_test", g_oConn);
l_oCmd.Parameters.Add(new SqlParameter("@test", SqlDbType.NVarChar));
l_oCmd.Parameters[0].Value = "hello world";
SqlDataAdapter da = new SqlDataAdapter(l_oCmd);
da.Fill(l_oPage);
SQL:
create procedure usp_test
(
@test nvarchar(1000)
)
as
select @test
Что я пропустил?
Измените тип команды на Процедуру