2010-04-07 2 views
14

Вождение меня с ума от личного проекта; Я знаю, что делал это раньше, но в другом месте и не имею кода. Насколько я могу судить, я устанавливаю параметр, я устанавливаю его значение, соединение открыто, но когда я пытаюсь заполнить набор данных, я получаю сообщение об ошибке «Процедура или функция ожидает параметр« @test », который был не поставляется'.Процедура или функция ожидает параметр, который не был поставлен

(Это, очевидно, упрощенный тест Те же ошибки на этой или реальной, а более кода, хотя!).

C#:

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 

Что есть Я скучал?

+0

Что произойдет, если вы просто использовать: 'l_oCmd.Parameters.Add (новый SqlParameter ("@ тест", "привет мир"));' – tloflin

+0

Done как, делает то же самое каждый путь. – eftpotrm

ответ

39

Изменить тип команды Процедуру

+1

Кодирование поздно ночью, угасание мозга - спасибо :-) – eftpotrm

+1

Ух, должно было это понять. Это сводило меня с ума. –

+1

Долгое время нет ADO.Net. (Это мое оправдание, я придерживаюсь этого) – davewilliams459

Смежные вопросы

 Смежные вопросы