ошибка в получении вывода хранимой процедуры - PullRequest
0 голосов
/ 26 августа 2010

Я пытаюсь получить вывод хранимой процедуры в функцию, но с моим кодом я всегда получаю сообщение об ошибке, указывающее, что выходной параметр не указан......

public int UserAuthentication(String username, String password)
{
    SqlConnection conn = new SqlConnection("Data Source=...\\..; Initial Catalog=CUSTOMER360;User ID=sa;password=******");
    SqlCommand command = new SqlCommand("sp_Campaign_UserAuthentication", conn);
    command.CommandType = CommandType.StoredProcedure;
    command.Parameters.Add(new SqlParameter("@login_id", SqlDbType.VarChar, 50, "loginid"));
    command.Parameters.Add(new SqlParameter("@password",
        SqlDbType.VarChar,50,
        "password"));
    SqlParameter ret = command.Parameters.Add(" @result", SqlDbType.Int);
    ret.Direction = ParameterDirection.ReturnValue;
    command.Parameters["@login_id"].Value = username;
    command.Parameters["@password"].Value = password;
    conn.Open();
    command.ExecuteNonQuery();
    conn.Close();
    return (int)ret.Value;
}

1 Ответ

0 голосов
/ 26 августа 2010

Я думаю, что параметр ReturnValue должен быть первым в списке параметров (правка) .

Кроме того, попробуйте запросить значение возвращаемого параметра перед закрытием соединения.

Убедитесь, что ваш сохраненный протокол вызывает

RETURN (@SomeReturnValue) 

Наконец, попробуйте удалить начальный пробел в имени параметра "@result", на всякий случай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...