Jestem całkiem nowy w C# i próbuję ustawić wywołanie procedury przechowywanej w mojej bazie danych, która przyjmuje jeden parametr.C# Zapisana procedura lub funkcja oczekuje parametru, który nie jest dostarczany
otrzymuję błąd „Procedura lub funkcja«SP_getName»oczekuje parametr«@username», który nie został dostarczony.”
Moje procedura składowana działa ok, kiedy dostarczamy go z parametrem i uruchomić go za pomocą SQL studio zarządzania.
GO
DECLARE @return_value int
EXEC @return_value = [dbo].[SP_getName]
@username = 'bob101'
SELECT 'Return Value' = @return_value
GO
Jednak gdy próbuję go wywołać, to błąd związany jest z tym, jak przekazuję ten parametr, ale nie mogę stwierdzić, na czym polega problem.
//create a sql command object to hold the results of the query
SqlCommand cmd = new SqlCommand();
//and a reader to process the results
SqlDataReader reader;
//Instantiate return string
string returnValue = null;
//execute the stored procedure to return the results
cmd.CommandText = "SP_getName";
//set up the parameters for the stored procedure
cmd.Parameters.Add("@username", SqlDbType.NVarChar).Value = "bob101";
cmd.CommandType = CommandType.Text;
cmd.Connection = this.Connection;
// then call the reader to process the results
reader = cmd.ExecuteReader();
Każda pomoc w wykryciu mojego błędu byłaby bardzo ceniona!
Próbowałem zostały również patrząc na tych dwóch stanowisk, ale nie miałem szczęścia:
Stored procedure or function expects parameter which is not supplied
Procedure or function expects parameter, which was not supplied
Dzięki!
BTW, nie powinieneś używać SP_ jako przedrostka do twoich procedur. Jest to zarezerwowane dla systemowych proc. Jeśli MS zwolni procę o tej samej nazwie w pewnym momencie, twoja nie będzie już działać. Szczerze mówiąc nie powinieneś używać prefiksu, nie dodają nic do jasności. –