2016-09-03 5 views
0

Я пытаюсь вызвать очень простую хранимую процедуру SQL Server с использованием кода C#. У меня есть класс, который имеет метод authenticate. Я передаю значения текстового поля (userID, password) этому методу, и он продолжает бросать мне ошибку о том, что требуемый параметр не передается. Я в основном профессионал Business Intelligence, работающий над проектом C#. Помощь будет оценена.Вызовите хранимую процедуру SQL Server с параметрами с помощью C#

Вот код, я выполнение:

sqcon.Open(); 

SqlCommand cmd = new SqlCommand("Users.PR_Authenticate_WebUsers",sqcon); 

cmd.Parameters.Add("@In_UserID", SqlDbType.VarChar).Value = "f"; 
cmd.Parameters.Add("@In_PassWord", SqlDbType.NVarChar).Value = "f"; 
cmd.Parameters.Add("@Out_IsAuthenticatedUser", SqlDbType.Bit); 
cmd.Parameters["@Out_IsAuthenticatedUser"].Direction = ParameterDirection.Output; 

cmd.ExecuteNonQuery(); 
sqcon.Close(); 

Я не понимаю, когда я передаю значение параметров в явном виде, почему он жалуется на значении не передается? Я что-то упускаю?

+0

делать и получить некоторую ошибку ?? показать нам полный код – BNN

ответ

2

Ммм выглядит, как вы не говорите объект команды, что она хранимая процедура не обычный запрос попробовать это один

sqcon.Open(); 
    SqlCommand cmd = new SqlCommand("Users.PR_Authenticate_WebUsers",sqcon); 
    cmd.CommandType = CommandType.StoredProcedure; 

    //Add parameters like this 
    cmd.Parameters.Add(new SqlParameter("@In_UserID", "f")); 
    sqcon.Close() 
+0

Спасибо Sir marc_s –

+0

Спасибо Zain UI Abidin. Это сработало. – user6789854

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