«В процедуре или функции указано слишком много аргументов», но это не так

Спасибо заранее за вашу помощь. Это высоко ценится.

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

CREATE PROCEDURE dbo.sproc_UpdateInfo 

(
@Name nvarchar(40),
@UserId varchar(50),
@Password varchar(50),
@Address nvarchar(120)
)

AS
Update tbl_Users SET Name=@Name, Password=@Password, Address=@Address WHERE UserId=@UserId


RETURN

И вот сторона вещей C #:

SqlCommand sqlCmd = new SqlCommand();
sqlCmd.CommandText = "sproc_UpdateInfo";
sqlCmd.CommandType = CommandType.StoredProcedure;

sqlCmd.Parameters.Add("@Name", SqlDbType.NVarChar, 40).Value = name;

sqlCmd.Parameters.Add("@UserId", SqlDbType.VarChar, 50).Value = userID;
sqlCmd.Parameters.Add("@Password", SqlDbType.VarChar, 50).Value = password;
sqlCmd.Parameters.Add("@Address", SqlDbType.NVarChar, 120).Value = address;

SqlConnection sqlConn = new SqlConnection(connectionString);

sqlCmd.Connection = sqlConn;

try
{
    sqlCmd.Connection.Open();

    int rowaffected = sqlCmd.ExecuteNonQuery(); //Error occurs here
    return rowaffected;
}
catch (SqlException se)
{
    throw new Exception("SqlException: sqlstr=" + sqlCmd.CommandText, se);
}
finally
{
    sqlCmd.Dispose();
    sqlConn.Close();
}

Ответы на вопрос(3)

Ваш ответ на вопрос