2010-04-07 18 views
14

Wkurzenie mnie na osobisty projekt; Wiem, że zrobiłem to wcześniej, ale gdzie indziej i nie mam kodu. O ile widzę, ustawiam parametr, ustawiam jego wartość, połączenie jest otwarte, ale kiedy próbuję wypełnić zestaw danych, pojawia się błąd "Procedura lub funkcja oczekuje parametru" @ test ", który był brak w zestawie'.Procedura lub funkcja oczekuje parametru, który nie został dostarczony.

(Jest to oczywiście uproszczony Test ten sam błąd na tej lub rzeczywistej, a dłuższy kodu chociaż!).

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 

Co mają Spóźniłam się?

+0

Co się stanie, jeśli po prostu użyć: 'l_oCmd.Parameters.Add (nowa SqlParameter ("test @", "Hello World"));' – tloflin

+0

Sporządzono oba, robi to samo każdy sposób. – eftpotrm

Odpowiedz

39

Zmiana typu polecenie postępowania

+1

Kodowanie późno w nocy, zanikanie mózgu - dzięki :-) – eftpotrm

+1

Ugh, powinienem to złapać. To doprowadzało mnie do szału. –

+1

Dawno nie ma ADO.Net. (To moja wymówka, trzymam się tego) – davewilliams459

Powiązane problemy