возвращает значение int из хранимой процедуры и проверяет его в коде asp.net для проверки формы входа

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

// код хранимой процедуры SQL

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[login_proc] @username Varchar =50, @password varchar=50
as
Declare @user_name varchar , @pass_word varchar, @result varchar 
Set @user_name = @username
Set @pass_word = @password

if EXISTS (select username , password from data where username= @user_name) 
set @result= 1
else 
set @result=0

return @result

и asp.net код

 SqlConnection conn = new SqlConnection ("Data Source=ANAGUIB-LAPNEW\\SQLEXPRESS;Initial Catalog=account;Integrated Security=True");
        SqlCommand cmd = new SqlCommand("login_proc",conn);
          cmd.CommandType = CommandType.StoredProcedure;
          SqlParameter paramReturnValue = new SqlParameter();
          paramReturnValue.ParameterName = "@result";
           paramReturnValue.SqlDbType = SqlDbType.Int;
           cmd.Parameters.Add(paramReturnValue);
           cmd.Parameters["@result"].Direction = ParameterDirection.Output;
           conn.Open();

         cmd.Parameters.AddWithValue("@username", TextBox1.Text);
         cmd.Parameters.AddWithValue("@password", TextBox2.Text);
         cmd.ExecuteScalar();
         string retunvalue = (string)cmd.Parameters["@result"].Value;

         if (retunvalue == "1")
        {
            Response.Redirect("hello.aspx");
        }
        else 
        {
            Response.Write("error");
        }

        conn.Close();

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

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